一、为什么使用NoSQL

关系型数据库的价值

持久化数据:通过数据库来保存数据

处理并发:通过事务方式处理并发

集成:共享数据库集成,多个应用程序可以同时访问同一份数据

标准模型:前几种功能已经成标准,开发人员学习成本低,虽然各数据库之间有差异,但核心机制相同。

阻抗失谐

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

集成数据库和应用程序数据库

集成数据库:多个应用程序数据存储在一个公用的数据库中,提供了通信效率,因为多个应用程序公用,所以设计复杂。不同应用程序在存储数据时也需要相互协调,更新数据的最好还是交由数据库自身处理。

应用程序数据库:只能一个应用程序访问数据库,交互就由这个应用程序开放接口,通过web服务集成:http协议,二进制协议,文本协议。

集群

数据流量的增加,需要扩展存储。

1、纵向扩展,功能强大的计算机,2、建立集群。一般都是使用后者,好处不赘述。

集群问题,数据库厂商集群使用非常贵。

基于集群数据库的问题,谷歌(BigTable)和亚马逊(Dynamo)开发了自己的数据库。

NoSQL登场

泛指开发于21世纪初,基本上不使用SQL,而且差不多都是开源的数据库。

不适用关系摸,集群运行良好,开源,适用于21世纪的互联公司,无模式。

猜你喜欢

转载自newzhq.iteye.com/blog/2169902