可以将典型的 NoSQL 划分为 4 种类型,分别是键值数据库、列式数据库、文档数据库和图形数据库
键值(Key-Value)存储数据库:
应用:内容缓存
相关产品:Redis、Riak、Memcached、Voldemort, Oracle BDB
它使用一个哈希表,表中的 Key(键)用来定位 Value(值),即存储和检索具体的 Value。数据库不能对 Value 进行索引和查询,只能通过 Key 进行查询。Value 可以用来存储任意类型的数据,包括整型、字符型、数组、对象等。
优点:扩展性好、灵活性好、大量写操作时性能高
缺点:无法存储结构化信息、条件查询效率较低
2 列族数据库
应用:分布式数据存储与管理
相关产品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS
这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列
应用:分布式数据存储与管理
优点:查找速度快、可扩展性强、容易进行分布式扩展、复杂性低
3 文档数据库
应用:存储、索引并管理面向文档的数据或者类似的半结构化数据
相关产品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit
文档型数据库可 以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高,文档数据库主要用于存储和检索文档数据,