zoukankan      html  css  js  c++  java
  • C# MongoDB学习之路(初篇)

    要学习一项技术首先就要弄懂为什么要用它?它的优点和缺点是什么?

    MongoDB简介
    一款介于关系数据库和非关系数据库之前的产品,基于分布式文件存储的数据库,旨再为WEB引用提供可扩展的高性能数据存储解决方案,将数据存储为一个文档(类似JSON对象),数据结构由键值(key=>value)对组成支持丰富的查询表达,可以设置任何属性的索引;支持副本集、分片

    优点总结:

    首先我们在官网(https://www.mongodb.com/what-is-mongodb)就可以了解到:

    1、MongoDB是一个文档数据库,具有所需的可伸缩性和灵活性,可用于所需的查询和索引编制

    2、MongoDB数据存储在灵活的类似于JSON的文档中,这意味着字段随文档的不同而不同,并且数据结构可以随时间而变化

    3、文档模型映射到应用程序代码中的对象,从而使数据易于使用

    4、第三方支持丰富。

    这是它跟其它的NoSQL相比,MongoDB也具有的优势,因为现在网络上的很多NoSQL开源数据库完全属于社区型的,没有官方支持,给使用者带来了很大的风险。
    而开源的文档数据库MongoDB背后有商业公司为它提供商业培训和支持。

    5、性能优越
    在使用场合下,千万级别的文档对象,近10G的数据,对有索引的ID的查询不会比mysql慢,而对非索引字段的查询,则是全面胜出。 mysql实际无法胜任大数据量下任意字段的查询,而mongodb的查询性能可以,同时它的写入性能也很厉害,可以写入百万级别的数据。

    MongoDB的缺点:

    1、MongoDB不支持事务操作
    所以事务要求严格的系统,比如银行系统就不能用它。

    2、MongoDB占用空间过大
    2.1、空间的预分配:
    当MongoDB的空间不足时它就会申请生成一大块硬盘空间,而且申请的量都是有64M、128M、256M来增加直到2G为单个文件的较大体积,并且随着数量叠增,可以在数据目录下看到整块生成而且不断递增的文件。

    2.2、删除记录不释放空间:
    这很容易理解,为避免记录删除后的数据的大规模挪动,原记录空间不删除,只标记“已删除”即可,以后还可以重复利用。

    3、(开发和IT运营要注意)MongoDB没有MySQL那样成熟的维护工具

      

    参考文档

    https://blog.csdn.net/linfenliang/article/details/54946448

    https://blog.csdn.net/wgw_dream/article/details/83780697

  • 相关阅读:
    java的访问控制修饰符
    js将一个数组分割成二维子数组
    java的数组
    Java 变量类型
    java
    java的 %和 ^
    Python第三方库 -> 由于是ipynb格式,所以没有对应的输出结果
    获取浏览器历史记录 browserhistory
    虚拟机 CentOS 6.8 安装
    解决 django.db.utils.OperationalError: (1051, "Unknown table 'mydorm.users_studen t'")
  • 原文地址:https://www.cnblogs.com/JoeYD/p/14637495.html
Copyright © 2011-2022 走看看