这篇开始学习非关系型数据库NoSQL。以前一直不明白为什么没有字段的数据库怎么还能够称作数据库,并且还取得这么大的成功。后来学习了他的发展史才明白。借用看到的一句总结
关系型数据库想把一致性、完整性、索引、CRUD都干好,但是NoSQL只关注与性能分布式相关的非功能性的东西。
传统数据库的瓶颈
任何一门新技术的出现都不是偶然,一定是在它本领域的应用中出现了瓶颈,学者们为了解决这种瓶颈,才会导致一门新技术的产生。因此,在介绍noSQL数据库之前,先来看一下传统的关系型数据库出现的问题。
从关系数据库说起
关系型数据库,把所有的数据都通过行和列的二元形式来表示。其中,一行叫一个元祖(记录),一列叫一个属性(字段)。关系型数据库最大的特点就是事务的一致性,传统的关系型数据库的读写操作都是事务的,也就是要遵循ACID(原子性、一致性、隔离性、永久性)。
在关系数据库中,做的最出色的应该就是mySQL了,由于开源、轻量级、易使用等众多优良的特性,MySQL成为了关系数据库中应用最为广泛的数据库。其他数据库,如Oracle、SQLServer、Sybase、Informix、access、DB2等也都是关系型数据库。
但是,随着近年来数据量的激增,以及一些SNS应用的出现,一致性变得不是那么重要了。另外,关系数据库为了维护一致性的巨大代价就是读写性能比较差,而Web2.0的应用对于并发读写的要求极高,因此,迫切需要对它进行改进,增强它在读写方面的性能。
另外,关系型