第一章 为什么使用NoSQL

1.1 关系型数据库的价值

  1.1.1 获取持久化数据

  1.1.2 并发     

    通过”事务“ 来控制,出错有“回滚”机制。

  1.1.3 集成

          共享数据库集成,多个应用程序将数据保存在同一个数据库中(这种机制必须保证有一个共享的来操作数据库的模块,这样才可以控制并发访问)。

  1.1.4 近乎标准的模型

    不同厂商的SQL方言相似,“事务”的操作方式几乎一样。

1.2 阻抗失衡

  关系模型和内存中的数据结构之间的差异。    

    关系数据库的问题:

       关系元组中的值必须很简单,不能包含嵌套或列表。内存数据结构无此限制。

     hibernate和MyBatis实现了 对象-关系映射(OR-mapping)

1.3 “应用程序数据库” 与 “集成数据库”   略

1.4 蜂拥而来的集群

  集群下,关系型数据库可以分片存储,应用程序必须控制所有分片,分片对应用不透明;并且查询/参照完整性和事务、一致性控制都无法以分片的形式执行。

  NoSOL 更适合集群。

1.5 NoSQL登场

  关系型数据库的ACID事务保证一致性,这个与集群环境冲突,NoSQL数据库为处理并发和分布问题提供了众多选项。

      NoSQL不需要使用模式,这样不用事先修改结构定义,就可自由添加字段。在处理不规则数据和自定义字段时非常有用

1.6 要点

  • 关系型数据库受到阻抗失衡困扰。
  • 数据库领域迁移趋势:多个应用使用通用同一个数据库 -》 各个应用使用自己的数据库,彼此提供服务。
  • 集群上运行大量数据,而关系型数据库不能在集群中高效运行。
  • NoSQL共同特征: 不用关系模型/集群中运行良好/开源/适合互联网/无模式

  

  

  

 

  

  

  

                

  

                                

    

posted @ 2018-08-04 14:10  刘大飞  阅读(303)  评论(0编辑  收藏  举报