一、为什么需要NoSQL
1、高并发读写(High performance)
2、海量数据的高校存储和访问(Huge Storage)
3、高可扩展性和高可用性(High Scalability & High Availability)
二、主流NoSQL产品
CouchDB
Redis
Cassandra
MongoDB
Riak
Membase
Neo4j
HBase
…
三、NoSQL数据库的四大分类
键值(key-value)存储
列存储
文档数据库
图形数据库
四、NoSQL的特点
易扩展
大数据量、高性能
灵活的数据模型
高可用
五、NoSQL数据库比较
分类 | 相关产品 | 典型应用 | 数据模型 | 优点 | 缺点 |
---|---|---|---|---|---|
键值(key-value) | Tokyo Cabinet/Tyrant、Redis、Voldemort、BerkeleyDB | 内容缓存,主要用于处理大量数据的高访问负载 | 一系列键值对 | 快速查询 | 存储的数据缺少结构化 |
列存储数据库 | Cassandra、HBase、Riak | 分布式的文件系统 | 以列簇式存储,将同一列数据存在一起 | 查找速度快,可扩展性强,更容易进行分布式扩展 | 功能相对局限 |
文档数据库 | CouchDB、MongoDB | Web应用(与key-value类似,value是结构化的) | 一系列键值对 | 数据结构要求不严格 | 查询性能不高,而且缺乏统一的查询语法 |
图形数据库 | Neo4J、InfoGrid、Infinite Graph | 社交网络、推荐系统等、专注于构建关系图谱 | 图结构 | 利用图结构相关算法 | 需要对整个图做计算才能得出结果,不容易做分布式的集群方案 |
此文整理于慕课网上关于NoSQL的一些概述、仅个人学习整理