zoukankan      html  css  js  c++  java
  • 01 mongodb 的特点

    mongoDB 介绍(特点、优点、原理)
    
    介绍:MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
    
    特点:高性能、易部署、易使用,存储数据非常方便。
    
    主要功能特性有:
    
    Ø 面向集合存储,易存储对象类型的数据
    
    Ø 模式自由
    
    Ø 支持动态查询
    
    Ø 支持完全索引,包含内部对象
    
    Ø 支持查询
    
    Ø 支持复制和故障恢复
    
    Ø 使用高效的二进制数据存储,包括大型对象(如视频等)
    
    Ø 自动处理碎片,以支持云计算层次的扩展性
    
    Ø 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言
    
    Ø 文件存储格式为BSON(一种JSON的扩展)
    
    Ø 可通过网络访问
    
    使用原理
    
    所谓“面向集合”(Collenction-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。
    
    模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。
    
    存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型。我们称这种存储形式为BSON(Binary JSON)。






    mongodb 文档数据库,存储的是文档(Bson->json的二进制化).

    
    

     

    
    

    特点:内部执行引擎为JS解释器, 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作.

    
    

     

    
    

    mongo和传统型数据库相比,最大的不同:

    
    

    传统型数据库: 结构化数据, 定好了表结构后,每一行的内容,必是符合表结构的,就是说--列的个数,类型都一样.

    
    

    mongo文档型数据库: 表下的每篇文档,都可以有自己独特的结构(json对象都可以有自己独特的属性和值)

    
    

     

    
    

    思路: 如果有电影, 影评, 影评的回复, 回复的打分

    
    

    在传统型数据库中, 至少要4张表, 关联度非常复杂.

    
    

    在文档数据库中,通过1篇文档,即可完成.  体现出文档型数据库的反范式化.

    
    

    {

    
    

     fiim:’天龙八部’

    
    

     comment:[

    
    

    {content:’王家卫的电影风格’,

    
    

     reply:[‘支持’,’好’]

    
    

    }

    
    

    ]

    
    

    }

    
    
  • 相关阅读:
    C struct的内存对齐
    C++ 继承、函数重载
    C++ 操作符重载
    C中入栈顺序和运算顺序有关系吗?
    Java 关于finally、static
    C++ 类的复制控制
    Linux中vi的使用
    C++ 类的头文件、实现、使用
    (web)个人项目(挖宝网)
    MariaDB使用enum和set
  • 原文地址:https://www.cnblogs.com/hgj123/p/4521130.html
Copyright © 2011-2022 走看看