本文共 972 字,大约阅读时间需要 3 分钟。
可以将典型的 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
文档型数据库可 以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高,文档数据库主要用于存储和检索文档数据,非常适合那些把输入数据表示成文档的应用
优点:性能好、灵活性高、复杂性低、数据结构灵活
缺点:缺乏统一的查询语言
4 图形数据库
应用:大量复杂、互连接、低结构化的图结构场合,如社交网络、推荐系统等
相关产品:Neo4J、OrientDB、InfoGrid、GraphDB
图形数据库以图论为基础,用图来表示一个对象集合,包括顶点及连接顶点的边。图形数据库使用图作为数据模型来存储数据,可以高效地存储不同顶点之间的关系。
优点:灵活性高、支持复杂的图形算法、可用于构建复杂的关系图谱
缺点:复杂性高、只能支持一定的数据规模
关系型数据库和非关系型数据库对比
关系型(RDBMS)优点: 强大查询功能 强已执行 二级索引
非关系型(NoSQL)优点: 模式灵活 扩展性 性能(不用结构化数据)
转载地址:http://kqepb.baihongyu.com/