NoSQL的价值到底在哪里?
关系型数据库的价值
持久化数据:通过数据库来保存数据
处理并发:通过事务方式处理并发
集成:共享数据库集成,多个应用程序可以同时访问同一份数据
标准模型:前几种功能已经成标准,开发人员学习成本低,虽然各数据库之间有差异,但核心机制相同。
阻抗失谐
关系模型和内存种的数据结构之间存在差异
集成数据库和应用程序数据库
集成数据库:多个应用程序数据存储在一个公用的数据库中,提供了通信效率,因为多个应用程序公用,所以设计复杂。不同应用程序在存储数据时也需要相互协调,更新数据的最好还是交由数据库自身处理。
应用程序数据库:只能一个应用程序访问数据库,交互就由这个应用程序开放接口,通过web服务集成:http协议,二进制协议,文本协议。
集群
数据流量的增加,需要扩展存储。
1、纵向扩展,功能强大的计算机,2、建立集群。一般都是使用后者,好处不赘述。
集群问题,数据库厂商集群使用非常贵。
基于集群数据库的问题,谷歌(BigTable)和亚马逊(Dynamo)开发了自己的数据库。
NoSQL登场
泛指开发于21世纪初,基本上不使用SQL,而且差不多都是开源的数据库。
不适用关系摸,集群运行良好,开源,适用于21世纪的互联公司,无模式。