一、NoSQL介绍
1、什么是NoSQL
- NoSQL = Not Only SQL
- 非关系型数据库
2、为什么用NoSQL
- High performance - 高并发读写
- Huge Storage - 海量数据的高效率存储和访问
- High Scalability && High Availablity - 高可扩展性 和 高可用性
二、NoSQL数据库的四大分类
- 键值对存储(key-value) 比如:redis...
- 列存储 比如:Hbase...
- 文档存储 比如: mongoDB....
- 图形数据库 比如:InfoGrid...
对比:
分类 | 相关产品 | 应用 | 数据模型 | 优点 | 缺点 |
键值对(key-value) |
Tokyo Cabinet/Tyrant、 Redis、Voldemort、 Berkeley DB |
内容存储,主要用于处理大量数据的高访问负载 | 一系列键值对 | 快速查询 | 存储的数据缺少结构化 |
列存储数据库 | Cassandra、HBase、Riak | 分布式的文件存储系统 | 以列簇式存储,将同一列数据存在一起 |
查找速度快、可扩展性强、 更容易进行分布式扩展 |
功能相对局限 |
文档型数据库 | CouchDB、MongoDB | Web应用(与key-value类似,value是结构化的) | 一系列键值对 | 数据结构要求不严格 |
查询性能不高,而且缺乏统一的查询语法 |
图形数据库 |
Neo4J、InfoGrid、 Infinite Graph |
社交网络。推荐系统等,专注于构建关系图谱 | 图结构 | 利用图结构相关算法 | 需要对整个图做计算才能得出结果,不容易做分布式集群 |
三、NoSQL的特点
- 易扩展
- 灵活的数据模型
- 大数据量,高性能
- 高可用