zoukankan      html  css  js  c++  java
  • HBase与RDBMS的区别

      此讨论并不局限于HBase,也会延伸到MongoDB和Cassandra这样的NoSQL数据库。

    1、RDBMS

      RDBMS有以下特点:

      面向视图:RDBMS表使用固定的视图,表中的数据类型也会事先定义。表的视图在创建时就已经定义,并且不容易修改。向视图中添加元素的操作会以新建表的形式实现,这一操作会在原始表和新建表中建立一对一关系。这也限制了RDBMS的使用场景,RDBMS适合高度结构化的用例场景,比如金融数据存储。

      标准化数据:RDBMS通常存储着高度标准化的数据,但是数据仓库中可能存在非标准化的数据。数据仓库通常针对的是报表型用例,而标准化数据存储则是针对事务型用例。

      薄表:RDBMS表中通常不会包含太多列,并且最大只支持几百个列。这导致RDBMS通常会使用多个表,并且会在这些表间建立各种关系,比如一对一、一对多、多对多。

    2、HBase(NoSQL数据库)  

      HBase有以下特点:

      弱视图:HBase是一种高效的映射嵌套。用户可以在运行时定义列,每一行都有属于自己的列。HBase将解释数据值的任务交给应用程序。

    HBase里的概念视图

    HBase里的物理视图

          因此,HBase非常适合数据结构灵活的应用。比如,一个专利应用的场景,数据结构必须是灵活的;为了提高性能,需要在一次查询中检索出所有文档。同时每个文档都包含多个页面,每个页面都有自己的ID。与数据库不同,在数据库中需要使用额外的元数据表来描述页面ID,HBase中的列键是自描述的。当文档中的页面数量庞大时,列可以根据页面的数据进行调整。而不包含这么多页面的文档则可以将不需要的列设置为空值。

      非标准化数据:从HBase表中检索出的行是用例视角的信息全集,这能极大减少服务器的执行周期并支持大量的并发请求。

  • 相关阅读:
    java第十三周作业
    java第十三周随堂
    安卓作业
    5.29 第十三周作业
    5.28第十三周上机练习
    5.22第十二周作业
    5.21第十二章上机练习
    5.15 第十一周作业
    5.14 第十一周 上机练习
    5.7第十周上机练习
  • 原文地址:https://www.cnblogs.com/zlslch/p/6140138.html
Copyright © 2011-2022 走看看