MongDB学习笔记一、MongDb简介

      大数据是用于描述海量的具有各种结构并且告诉生成的数据的一个术语,这类数据对用于存储和处理数据的传统RDBMS系统提出挑战。大数据为处理和存储数据新途径铺平了道路。

     数量、速率、多样化。

     传统RDBMS系统非常适合于保存在列和行中的数据结构,可以使用SQL查询这些数据。RDBMS系统基于ACID事物概念。ACID代表原子性(Atomic)、一致性(Consistent)、隔离性(Isolated)、持久性(Durable).

      NoSQL 是指非关系型数据库的一个术语 NoSQL数据库是从处理大数据的需求发展而来 与传统的RDBMS系统的ACID方法相反,它使用了一种通常称为BASE的方法。

CAP定理:

     在设计一个分布式环境中的应用程序时,存在三种基本需求,分别是一致性,可用性以及分区容错性。

     一致性:意味着在修改数据的任何操作被执行之后,数据仍旧保持一致。

     可用性:系统总保持可用。

     分区容错性:即使系统被划分为无法彼此通信的几组服务器,也要持续正常运行。

CAP定理宣称:在任何时间点,一个分布式系统都只能满足上面三个保障中的两个。

BASE:

基本可用

软状态

最终一致性

NOSQL的优缺点

优点:高扩展性、可维护性和管理运营、低成本以及灵活的数据模型。

缺点:成熟度、支持度、有限的查询功能、管理运营、专业知识

MongDB基于json的文档存储

      {
    "_id" : ObjectId("5c2094e494d8a11ff00d8e69"),
    "FName" : "Test",
    "LName" : "User",
    "Age" : 30.0,
    "Gender" : "M",
    "Counntry" : "US"
}

性能与功能对比

MongoDB是一个面向文档的DBMS,其中数据被存储为文档。它不支持JOIN,并且它没有完全通用的事物。

与SQL对比

下面是MongoDB不同于SQL的地方

(1)MongoDB使用文档来存储数据,这就提供了一种灵活的模式(相同的集合中的文档可以具有不同的字段)

(2)MongoDB没有SQL那样的JOIN操作,不过它使得用户可以将所有相关的数据一期存储到单个文档中,以避免在外围使用jion。

(3)MongoDB 没有像SQL那样提供对事物的支持,不过,它能确保文档级的原子性。另外,它使用了一种隔离运算符来隔离影响多个文档的写操作,但他没有为多个文档写操作提供“全有或全无”的原子性。

                                                                                                                                 借鉴 《MongDB实战架构、开发与管理》

未完待续。。。

你可能感兴趣的:(数据库)