什么是NoSQL
NoSQL,指的是非关系型的数据库。目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库。 传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如: 1、High performance - 对数据库高并发读写的需求 2、Huge Storage - 对海量数据的高效率存储和访问的需求 3、High Scalability && High Availability- 对数据库的高可扩展性和高可用性的需求 而对于web2.0网站来说,关系数据库的很多主要特性却往往无用武之地,例如: 1、数据库事务一致性需求 2、数据库的写实时性和读实时性需求 3、对复杂的SQL查询,特别是多表关联查询的需求 NoSQL 数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。非关系型数据库以键值对存储,它的结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。 特点它们可以处理超大量的数据。 它们运行在便宜的PC服务器集群上。 PC集群扩充起来非常方便并且成本很低,避免了“sharding”操作的复杂性和成本。 它们击碎了性能瓶颈。 NoSQL的支持者称,通过NoSQL架构可以省去将Web或Java应用和数据转换成SQL友好格式的时间,执行速度变得更快。 “SQL并非适用于所有的程序代码,” 对于那些繁重的重复操作的数据,SQL值得花钱。但是当数据库结构非常简单时,SQL可能没有太大用处。 没有过多的操作。 虽然NoSQL的支持者也承认关系数据库提供了无可比拟的功能集合,而且在数据完整性上也发挥绝对稳定,他们同时也表示,企业的具体需求可能没有那么多。 Bootstrap支持 因为NoSQL项目都是开源的,因此它们缺乏供应商提供的正式支持。这一点它们与大多数开源项目一样,不得不从社区中寻求支持。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |