码迷,mamicode.com
首页 > 数据库 > 详细

MongoDB,另一个角度看数据

时间:2015-06-30 13:03:51      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

传智-玄痛(传智播客北京校区C/C++学院技术指导老师)

MongoDB的起源

几年前 10gen 公司做了 SaaS 方面的研发,因为公司一个 MongoDB 产品存储接口的易用性,用户评价非常好,公司开始全力开发 MongoDB。也因此10gen 公司改名为 MongoDB

MongoDB的应用 

MongoDB 适用于网站数据、游戏数据、缓存、高伸缩性等场景。目前,百度、阿里、快的打车、京东、赶集网、360CERN等众多公司纷纷部署MongoDB

MongoDB的特点

在 Web2.0 时代,传统 RDBMS 在高性能、高可用性、高可拓展性的要求下开始力不从心。

作为NOSQL一种解决方案,由C++语言编写的开源的文档型数据库系统MongoDB堪称NOSQL 运 动 中 的 明 星 成 员。MongoDB 被 db-engines 网站 (http://db-engines.com/en/ranking_trend) 评为 2014 年年度最受欢迎的数据库管理系统。总结一下 MongoDB 的主要特点:面向文档、模式自由、高可用性、水平拓展、支持丰富。

面向文档

文档就是存储在 MongoDB 中的一条记录 是一个由键值对组成的数据结构。如 {"company":"itcast","address":"Beijing"}。作为面向文档(Document-Oriented) 的 数 据 库,document 之 于 collectionrecord 之于 table

模式自由

文档是 MongoDB 中数据的基本单元,集合则可以被看作是没有模式的表。模式自由(schema-free),每一个 Document都包含了元数据信息,每个文档之间不强迫要求使用相同的格式,同时他们也支持各种索引。由于没有模式需要更改,通常不需要迁移大量数据。比如一个student 文档:{"name":"C++lover","like":  {"Linux 系统编程 "分布式系统 ""MongoDB"}}

高可用性

高可用性 (High Availability,HA) 是尽量缩短因维护和崩溃所导致的停机时间,以提高系统和应用的可用性。MongoDB 支持在复制集 (Replica Set) 通过异步复制达到故障转移,自动恢复,集群中主服务器崩溃停止服务和丢失数据,备份服务器通过选举获得大多数投票成为主节点,以此来实现高可用。该模式下为实现读写分离而在备份节点上进行读操作,由于备份服务器实时同步主服务器 Oplog 写操作,虽然适当的一些读也是可分担部分主节点的任务,但是有增加从节点的延时风险。最新的 MongoDB3.0 提供了 MVCC 机制,实现了文档级别的并发控制,进一步提高了并发性能。

水平拓展

MongoDB不推荐使用从节点实现读性能拓展,而是使用分片 ShardMongoDB 支持分片技术,它能够支持并行处理和水平扩展。通过自动分片技术,Shard 能够在多个片之间分发数据,可以让MongoDB 的部署解决单个服务器的硬件限制而不需要增加应用程序的复杂性,解决包括 RAM 和磁盘I/O 的限制,一个片通常也是一个复制集。

支持丰富

MongoDB除了提供以上丰富的功能支持,另外还提供了丰富的BSON数据类型,官方 MongoDB 的 官 方 driver 支 持 (C/C++、C#、Java、Node.js、Perl、PHP、Python、Ruby、Scala), 另外社区支持了 MongoDB 的 Go,Erlang的驱动。
此外 MongoDB 内置 MapReduce 引擎等聚合框架,空间地理数据的索引,GridFS 等适合多种业务需求。

MongoDB的未来和思考

大数据时代下的开发势必要求程序能够处理海量的数据,MongoDB凭借自身的特点以及与Hadoop 的结合,无疑奠定了其在云计算和大数据中的重要地位,市场前景明朗,需求自然旺盛。在各大招聘网站上,C/C++ 服务器工程师大多都有“熟悉NOSQL(MongoDB、Redis 等)优先”等要求。传智播客以就业为导向,已将 MongoDB 前沿技术融
入到传智播客的 C/C++ 学科就业方向的课程中,以提高整体课程的实用性。
最后我希望用两句话引发大家对 MongDB 的思考 :FREE NOT FREE;做最擅长的事。

文章来源:《传智特刊》-26期

订阅纸质版《传智特刊》方法:

微信搜索:CZTEKAN,关注

回复1即可免费订阅,还包邮哦!

版权声明:本文为博主原创文章,未经博主允许不得转载。

MongoDB,另一个角度看数据

标签:

原文地址:http://blog.csdn.net/itcast_cn/article/details/46692127

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!