一,什么的mongodb
是一个基于分布式文件存储,跨平台的,面向文档的开源数据库。是当前 NoSQL 数据库产品中最热门的一种由C++语言编写的。
旨在为WEB应用提供可扩展的高性能数据存储解决方案
在高负载的情况下,添加更多的节点,可以保证服务器性能
支持的数据结构非常松散,是类似JSON 的 BSON 格式,因此可以存储比较复杂的数据类型
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组
{ name : 'Tony', --> field : val sex : '男', --> field : val hobby: ['hiking','study'] --> field : val }二,mongodb的特点
面向集合存储,易于存储对象类型的数据
模式自由
支持动态查询
支持完全索引,包含内部对象
支持复制和故障恢复
使用高效的二进制数据存储,包括大型对象(如视频等)
自动处理碎片,以支持云计算层次的扩展性
支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及 C++语言的驱动程序,社区中也提供了对 Erlang 及.NET 等平台的驱动程序
文件存储格式为 BSON(一种 JSON 的扩展)
三,mongodb的体系结构 MongoDB 的逻辑结构是一种层次结构。主要由: 文档(document),集合(collection),数据库(database)这三部分组成,逻辑结构是面向用户的,用户使用MongoDB 开发应用程序使用的就是逻辑结构。
文档(document),相当于关系数据库中的一行数据集合(collection),n 个文档组成一个集合,相当于关系数据库中的表数据库(database),n 个集合逻辑上组合在一起就是数据库文档,集合,数据库的层次结构如
mongodb 与 mySql 数据库逻辑结构概念的对比
mongodbmysql数据库数据库集合表文档行