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