Nosql
参考资料
一、什么是NoSql
1.Nosql的全称是Not Only Sql,Nosql指的是非关系型数据库
二、NoSQL的优点/缺点
优点:
- 高可扩展性:水平扩展,集群
- 高性能读取速度
- 存数据、做缓存、持久化
- 分布式计算
- 低成本
- 架构的灵活性,半结构化数据
- 没有复杂的关联关系
缺点:
- 没有标准化
- 有限的查询功能(到目前为止)
- 最终一致是不直观的程序
三、NoSQL数据库的四大分类
-
键值(Key-Value)存储数据库
相关产品: Redis、Memcache、Tokyo Cabinet/Tyrant、MecacheDB、Voldemort、Berkeley DB 、Dynamo
典型应用: 内容缓存,主要用于处理大量数据的高访问负载。
数据模型: 一系列键值对
优势: 快速查询
劣势: 存储的数据缺少 -
结构化 列存储数据库
相关产品:Cassandra, HBase, Riak 、LevelDB
典型应用:分布式的文件系统
数据模型:以列簇式存储,将同一列数据存在一起
优势:查找速度快,可扩展性强,更容易进行分布式扩展
劣势:功能相对局限 -
文档型数据库
相关产品:CouchDB、MongoDB 、SimpleDB
典型应用:Web应用(与Key-Value类似,Value是结构化的)
数据模型: 一系列键值对
优势:数据结构要求不严格
劣势: 查询性能不高,而且缺乏统一的查询语法 -
图形(Graph)数据库
相关数据库:Neo4J、InfoGrid、Infinite Graph 、flockDB 典型应用:社交网络
数据模型:图结构
优势:利用图结构相关算法。
劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案。
NoSQL 数据库分类
类型 | 部分代表 | 特点 |
---|---|---|
列存储 | Hbase Cassandra Hypertable | 顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。 |
文档存储 | MongoDB CouchDB | 文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。 |
key-value存储 | Redis Tokyo Cabinet/Tyrant Berkeley DB MemcacheDB | 可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能) |
图存储 | Neo4J FlockDB | 图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。 |
对象存储 | db4o Versant | 通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。 |
xml数据库 | Berkeley DB XML BaseX | 高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。 |
Post Directory
扫码关注公众号:暂无公众号
发送 290992
即可立即永久解锁本站全部文章