• MongoDB,还有一个角度看数据


    传智-玄痛(传智播客北京校区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) 通过异步复制达到故障转移,自己主动恢复,集群中主server崩溃停止服务和丢失数据。备份server通过选举获得大多数投票成为主节点,以此来实现高可用。

    该模式下为实现读写分离而在备份节点上进行读操作。由于备份server实时同步主server Oplog 写操作,尽管适当的一些读也是可分担部分主节点的任务。可是有添加从节点的延时风险。最新的 MongoDB3.0 提供了 MVCC 机制。实现了文档级别的并发控制。进一步提高了并发性能。

    水平拓展

    MongoDB不推荐使用从节点实现读性能拓展,而是使用分片 ShardMongoDB 支持分片技术,它可以支持并行处理和水平扩展。通过自己主动分片技术。Shard 可以在多个片之间分发数据,可以让MongoDB 的部署解决单个server的硬件限制而不须要添加应用程序的复杂性。解决包含 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++ serverproject师大多都有“熟悉NOSQL(MongoDB、Redis 等)优先”等要求。传智播客以就业为导向。已将 MongoDB 前沿技术融
    入到传智播客的 C/C++ 学科就业方向的课程中,以提高总体课程的有用性。
    最后我希望用两句话引发大家对 MongDB 的思考 :FREE NOT FREE。做最擅长的事。

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

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

    微信搜索:CZTEKAN。关注

    回复1就可以免费订阅。还包邮哦!

  • 相关阅读:
    .net framework v4.5.2
    sql数据库不允许保存更改和保存失败解决方法
    如何查看笔记本电脑型号
    Premiere 5.0/5 .5菜单详解
    Python编辑器英文菜单的中文翻译及解释
    SqlServer--常用数据查询
    pycharm上方菜单栏不见了如何恢复
    笔记本电脑的f1到f12怎么按
    C#的访问权限
    封装,继承和多态知识点汇总
  • 原文地址:https://www.cnblogs.com/llguanli/p/6774385.html
Copyright © 2020-2023  润新知