NoSQL数据库的简介以及优缺点
NOSQL
1.什么是NOSQL
NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是⼀项全新的数据库理念,泛指⾮关系型的数据库。
随着互联⽹web2.0⽹站的兴起,传统的关系数据库在应付web2.0⽹站,特别是超⼤规模和⾼并发的SNS类型的web2.0纯动态⽹站已经显得⼒不从⼼,暴露了很多难以克服的问题,⽽⾮关系型的数据库则由于其本⾝的特点得到了⾮常迅速的发展。NoSQL数据库的产⽣就是为了解决⼤规模数据集合多重数据种类带来的挑战,尤其是⼤数据应⽤难题。
2.NOSQL和关系型数据库⽐较
优点:
成本:nosql数据库简单易部署,基本都是开源软件,不需要像使⽤oracle那样花费⼤量成本购买使⽤,相⽐关系型数据库价格便宜。
查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,⾃然查询速度远不及nosql数据库。
存储数据的格式:nosql的存储格式是key,value形式、⽂档形式、图⽚形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,⽽数据库则只⽀持基础类型。
扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。
缺点:
维护的⼯具和资料有限,因为nosql是属于新的技术,不能和关系型数据库10⼏年的技术同⽇⽽语。
不提供对sql的⽀持,如果不⽀持sql这样的⼯业标准,将产⽣⼀定⽤户的学习和使⽤成本。
不提供关系型数据库对事务的处理。
3.⾮关系型数据库的优势:
性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,⽽且不需要经过SQL层的解析,所以性能⾮常⾼。
redis是nosql数据库吗
可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以⾮常容易⽔平扩展。
4.关系型数据库的优势:
复杂查询可以⽤SQL语句⽅便的在⼀个表以及多个表之间做⾮常复杂的数据查询。
事务⽀持使得对于安全性能很⾼的数据访问要求得以实现。对于这两类数据库,对⽅的优势就是⾃⼰的弱势,反之亦然。
5.主流的NOSQL产品
键值(Key-Value)存储数据库
相关产品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB
典型应⽤: 内容缓存,主要⽤于处理⼤量数据的⾼访问负载。
数据模型: ⼀系列键值对
优势: 快速查询
劣势: 存储的数据缺少结构化
列存储数据库
相关产品:Cassandra, HBase, Riak
典型应⽤:分布式的⽂件系统
数据模型:以列簇式存储,将同⼀列数据存在⼀起
优势:查速度快,可扩展性强,更容易进⾏分布式扩展
劣势:功能相对局限
⽂档型数据库
相关产品:CouchDB、MongoDB
典型应⽤:Web应⽤(与Key-Value类似,Value是结构化的)
数据模型: ⼀系列键值对
优势:数据结构要求不严格
劣势: 查询性能不⾼,⽽且缺乏统⼀的查询语法
图形(Graph)数据库
相关数据库:Neo4J、InfoGrid、Infinite Graph
典型应⽤:社交⽹络
数据模型:图结构
优势:利⽤图结构相关算法。
劣势:需要对整个图做计算才能得出结果,不容易做分布式的集⽅案。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论