定义
NoSQL(NoSQL =Not Only SQL ),意即反SQL运动,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
使用NOSQL非关系数据库的重要性
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,
1、High performance - 对数据库高并发读写的需求
2、Huge Storage - 对海量数据的高效率存储和访问的需求
3、High Scalability&& High Availability- 对数据库的高可扩展性和高可用性的需求
NoSQL与关系型数据库设计理念比较
关系型数据库中的表都是存储一些格式化的数据结构,每个元组字段的组成都一样,即使不是每个元组都需要所有的字段,但数据库会为每个元组分配所有的字段,这样的结构可以便于表与表之间进行连接等操作,但从另一个角度来说它也是关系型数据库性能瓶颈的一个因素。而非关系型数据库以键值对存储,它的结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。
NoSQL特点
它们可以处理超大量的数据。它们运行在便宜的PC服务器集群上。它们击碎了性能瓶颈。 没有过多的操
NoSQL缺点
但是一些人承认,没有正式的官方支持,万一出了差错会是可怕的,至少很多管理人员是这样看。
“我们确实需要做一些说服工作,但基本在他们看到我们的第一个原型运行良好之后,我们就能够说服他们,这是条正确的道路。”
此外,nosql并未形成一定标准,各种产品层出不穷,内部混乱,各种项目还需时间来检验
NoSQL数据库开源软件
Membase
Membase的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的节点进行复制。 另外,对存储的数据进行再分配仍然是必要的。
这方面的一个有趣的特性是NoSQL解决方案所承诺的可预测的性能,类准确性的延迟和吞吐量。通过如下方式可以获得上面提到的特性:
◆ 自动将在线数据迁移到低延迟的存储介质的技术(内存,固态硬盘,磁盘)
◆ 通过把数据复制到多个集群单元和支持快速失败转移来提供系统的高可用性。
MongoDB
主要功能特性:
◆ 面向集合存储,易存储对象类型的数据
◆ 模式自◆支持RUBY,PYTHON,JAVA,C++,PHP等多种语言◆文件存储格式为BSON(一种JSON的扩展) ◆可通过网络访问
Hypertable
Hypertable是一个开源、高性能、可伸缩的数据库,它采用与Google的Bigtable相似的模型。在过去数年中,Google为在PC集群 上运行的可伸缩计算基础设施设计建造了三个关键部分。第一个关键的基础设施是Google File System(GFS第三个基础设施是Bigtable,它是传统数据库的替代。Bigtable让你可以通过一些主键来组织海量数据,并实现高效的 查询。Hypertable是Bigtable的一个开源实现,并且根据我们的想法进行了一些改进。
Apache Cassandra
Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。
附录:
参考资料:思数云BIhuman
参考网址:www.bihuman.com