zoukankan      html  css  js  c++  java
  • 【转】nosql的分类

    1 键值数据库

       相关产品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached

       形式:Key 指向 Value 的键值对,通常用hash table来实现 

     应用:内容缓存

       优点:扩展性好、灵活性好、大量写操作时性能高

       缺点:无法存储结构化信息、条件查询效率较低

       使用者:百度云(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)

    2 列族数据库

       相关产品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS

       形式:以列簇式存储,将同一列数据存在一起

       应用:分布式数据存储与管理

       优点:查找速度快、可扩展性强、容易进行分布式扩展、复杂性低

       缺点:功能相对局限

       使用者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)

    3 文档数据库

       相关产品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit

       形式:Key-Value对应的键值对,Value为结构化数据

       应用:存储、索引并管理面向文档的数据或者类似的半结构化数据

       优点:性能好、灵活性高、复杂性低、数据结构灵活

       缺点:缺乏统一的查询语言

       使用者:百度云数据库(MongoDB)、SAP(MongoDB)

    4 图形数据库

       相关产品:Neo4J、OrientDB、InfoGrid、GraphDB

       形式:图结构

       应用:大量复杂、互连接、低结构化的图结构场合,如社交网络、推荐系统等

       优点:灵活性高、支持复杂的图形算法、可用于构建复杂的关系图谱

       缺点:复杂性高、只能支持一定的数据规模

       使用者:Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)

    5、图解

    分类

    Examples举例

    典型应用场景

    数据模型

    优点

    缺点

    键值(key-value) 

    Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached

    列存储数据库

    Cassandra, HBase,Riak

    分布式的文件系统

    以列簇式存储,将同一列数据存在一起

    查找速度快,可扩展性强,更容易进行分布式扩展

    功能相对局限

    文档型数据库

    CouchDB, MongoDb

    Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)

    Key-Value对应的键值对,Value为结构化数据

    数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构

    查询性能不高,而且缺乏统一的查询语法。

    图形(Graph)数据库 

    Neo4J, InfoGrid, Infinite Graph

    社交网络,推荐系统等。专注于构建关系图谱

    图结构

    利用图结构相关算法。比如最短路径寻址,N度关系查找等

    很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。 

    <span color:#136ec2;"="" style="word-wrap: break-word; font-size: 1pt;">
    作者:(奎恩)quinns 
    出处:https://www.cnblogs.com/quinnsun/ 
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 
    如果文中有什么错误,欢迎指出。以免更多的人被误导。 
  • 相关阅读:
    企业应用开发中最常用c++库
    ESOURCE_LOCKED
    c++标准之于gcc/vc/boost等实现相当于jsr规范之于sunjdk/ibmjdk/tomcat/weblogic等实现
    c++的各种类型转换方式
    c++的友元类、方法及其益处
    c/c++的typedef/using类型别名
    c++的class声明及相比java的更合理之处
    c++ sleep(windows/linux)
    c++不自动生成相关函数比如赋值、拷贝函数
    c++继承、多态以及与java的行为差异之处
  • 原文地址:https://www.cnblogs.com/gered/p/11643493.html
Copyright © 2011-2022 走看看