如何选择最适合你的NoSQL数据库

当下NoSQL产品类型繁多,各有各的特点,再加上关系型数据库,貌似我们可选择的东西太多了。如诗言“乱花渐欲迷人眼”,在我们选择存储产品的时候,应该从哪些方面进行考量呢?下面一篇文章对当前的NoSQL产品进行了分类对比,列出了各家特点,有一定的指导意义。

NoSQLFan进行了简单翻译,完整的描述请查看原文:Picking the Right NoSQL Database Tool

NoSQL四大类

1.key-value存储

Examples Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB
典型应用场景 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。
数据模型 Key 指向 Value 的键值对,通常用hash table来实现
强项 查找速度快
弱项 数据无结构化,通常只被当作字符串或者二进制数据

2.列式数据库

Examples Cassandra, HBase, Riak
典型应用场景 分布式的文件系统
数据模型 以列簇式存储,将同一列数据存在一起
强项 查找速度快,可扩展性强,更容易进行分布式扩展
弱项 功能相对局限

3.文档型数据库

Examples CouchDB, MongoDb
典型应用场景 Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)
数据模型 Key-Value对应的键值对,Value为结构化数据
强项 数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构
弱项 查询性能不高,而且缺乏统一的查询语法。

4.图结构数据库

Examples Neo4J, InfoGrid, Infinite Graph
典型应用场景 社交网络,推荐系统等。专注于构建关系图谱
数据模型 图结构
强项 利用图结构相关算法。比如最短路径寻址,N度关系查找等
弱项 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。

综合RDBMS的考量:


anyShare一切看了好文章不转的行为,都是耍流氓!
          

无觅相关文章插件,快速提升流量