mongodb(可扩展、高性能,开源,面向文档)

mongodb是个啥

(1)面向文档的存储:类JSON文档作为存储,不固定表模式(schema-free);

(2)全文索引支持(full index support);

(3)多副本与高可用性(replication & availability);

(4)自动分片(auto-sharding);

(5)支持多种类型的查询;

(6)快速原地更新(fast in-place updates):大部分更新操作无需申请新的空间;

(7)map/reduce支持;

(8)gridfs:各种size大小的集群文件支持;

wikipedia对mongodb的特性描述

(1)面向文档,以一种类JSON的格式管理记录,且能支持丰富的查询,支持索引;

(2)跨平台,支持windows,linux,solaris,OS X等;

(3)查询结果支持游标操作;

(4)点对点查询(Ad hoc queries):

任何字段(field)都能被查询到,支持范围查询(range queries),正则表达式查询(regular expression),

用户自定义js函数查询,内嵌字段查询(nestad field);

(5)索引支持:

支持单key索引,复合索引,唯一索引,内嵌字段索引;

查询执行时,mongodb的查询优化器会尝试多种查询计划,并挑选最优的计划执行;

(6)集函数支持(aggregation function):即使在map/reduce上,也有类似SQL的group by支持;

(7)文件存储支持,实现了一套GridFS的协议,用来存储和检索文件;

(8)主从、副本的支持:

mongodb支持主从结构,主db能执行读操作与写操作,从db从主db拷贝数据,从db只能执行读操作;

(9)sharding:

mongodb用sharding技术来支持水平扩展,它与Google的BigTable扩展方式十分类似;

一些与mysql的相似点与不同

(1)一个服务可以支持多个数据库;

(2)一个数据库可以支持多个表,在mongodb中,以集合(collection)代替了表(table)的概念;

(3)mysql是关系型的数据库,即RDBMS,而mongodb是schema-free的,它更像一个键值存储系统(kv),但与kv不同的是,它又能像mysql的模式一样,能修改文档内的数据,并对内部数据进行索引;

mongodb文档以BSON格式存储,即Binary JSON,BSON是一种二进制交换格式,类似Google Protocol Buffer;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容