客户端

一分钟了解mongoDB(HR都懂了)

所在版块: 程序员 2016-02-16 16:01 [复制链接] 查看: 2728|回复: 0
                                                一分钟了解mongodb(2014-11-09)
一、mongo的由来
截取自英文俚语humongous,意为”巨大的”,是否表明mongodb在设计之初就是为大数据量处理而生呢?
二、mongodb是个啥
mongodb是个可扩展、高性能、开源、面向文档(document-oriented)的数据库,由c++实现。
http://www.mongodb.org/ 官网首页最显著的位置用了”agile”和”scalable”这两个词来形容它:
(1)agile:轻快的,敏捷的;
(2)scalable:可扩展;
三、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;
===【完】===


实时好文,欢迎长按关注“架构师之路”
==好文推荐==
回【perl】十分钟学perl够用(客服MM都懂了)  
回【awk】一分钟学awk够用(产品经理都懂了)
回【阵列】一张“神图”看懂单机/集群/热备/磁盘阵列(RAID)
回【招聘】入职58到家
回【CAS】巧用CAS解决数据一致性问题


==小游戏==
回大于10的整数,返回随机好文(猜猜怎么实现的)


能阅读到这里,说明你真的对mongoDB感兴趣,楼主码字不易,随手帮忙转发一下吧。
                    
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码关注微信公众号

QQ|Archiver|手机版|小黑屋|mwt-design ( 沪ICP备12041170号-1

GMT+8, 2024-11-22 12:42 , Processed in 0.062674 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回列表