什么是NOSQL
NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯***站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
扩展:
关系型数据库:以表的形式存储数据,以字段、键、约束维护数据关系。如:MySql、Oracle、SqlServer
为什么需要NOSQL(解决三高问题)
- 高性能:瞬间从海量数据里查找并操作某一条数据。
- 高并发:瞬间有海量的请求同时操作数据库。
- 高可扩展性:数据库节点之间的数据迁移问题
这三高问题也正是关系型数据库存在的问题,而NOSQL不以表的形式存储数据,也不以使用约束来维护数据关系,因此存取性能相对于关系型数据库得到了极大的提升,在大数据存取上具备关系型数据库无法比拟的性能优势。
主流的NOSQL产品
-
键值(Key-Value)存储数据库
相关产品: Tokyo Cabinet/Tyrant、Redis
、Voldemort、Berkeley DB
典型应用: 内容缓存,主要用于处理大量数据的高访问负载。
数据模型: 一系列键值对
优势: 快速查询
劣势: 存储的数据缺少结构化