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表中检索出的行是用例视角的信息全集,这能极大减少服务器的执行周期并支持大量的并发请求。
HBase与RDBMS的区别的更多相关文章
- Hbase与RDBMS
hbase与传统关系数据库区别 hbase适合于非结构化数据存储的数据库.介于Map Entry 和 DB row之间的一种数据存储方式. 1. 数据类型: HBase只有简单的字符串类型,它只保存字 ...
- hive与hbase的联系与区别
hive与hbase的联系与区别: 共同点: 1.hbase与hive都是架构在hadoop之上的.都是用hadoop作为底层存储. 他们的底层是要通过mapreduce分布式计算的,hbase.hi ...
- [转帖]hive与hbase的联系与区别:
https://www.cnblogs.com/xubiao/p/5571176.html 原作者写的很好.. 这里面简单学习总结一下.. 都是bigdata的工具, 都是基于google的bigta ...
- Hbase和RDBMS(关系数据库管理系统)区别
hbase是一个基于列模式的映射数据库,键--->数据 的映射,大大简化了传统数据 数据类型:hbase的存储的数据都是字符串,所有的类型都有用户自己处理,他只保存字符串;传统的数据有丰富的 ...
- [转载] Hive与HBase的联系与区别
转载自http://blog.csdn.net/wangmuming/article/details/23954527和http://www.cnblogs.com/justinzhang/p/427 ...
- Apache Drill - join HBase and RDBMs
HBase作为Nosql的常用系统之一,在很多大数据应用/平台中广泛使用.例如通过Spark统计后将结果存放到HBase中.通常统计结果还需要进一步和元数据或者字典表关联从而得到最终结果显示,这意味着 ...
- 面试:Hbase和Hive的区别
区别: 1. Hive是一个构建在Hadoop基础设施之上的数据仓库,通过HQL查询存放在HDFS上的数据,不能交互查询.HBase是一种Key/Value系统,它运行在HDFS之上,可以交互查询. ...
- 【HBase】三、HBase和RDBMS的比较
HBase作为一种NoSQL的数据库,和传统的类似于mysql这样的关系型数据库是有很大区别的,本文来对他们做一个对比分析,以便更加深入的了解HBase. 主要区别体现在以下六个方面: 1 ...
- hive、Hbase、mysql的区别
1.Hive和HBase的区别 1)hive是sql语言,通过数据库的方式来操作hdfs文件系统,为了简化编程,底层计算方式为mapreduce. 2)hive是面向行存储的数据库. 3)Hive本身 ...
随机推荐
- vino-server服务是啥服务
近期接手一个项目,开始梳理服务器,突然发现有个进程是开启5900远程桌面端口的, 在不知情的情况下怕被人给利用了,啥也不说,先干掉再说. server端开启vino-server,允许别人查看自己的桌 ...
- jQuery如何追加tr到table中 添加到头或者尾
jQuery 添加新内容有以下四个方法: append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() ...
- Configuring SSL on Enterprise Manager and the SLB (Release 12.1.0.2 and later)
From: http://docs.oracle.com/html/E24089_42/ha_setup.htm#sthref833 If the SLB is configured to use T ...
- 非递归全排列 python实现
python algorithm 全排列(Permutation) 排列(英语:Permutation)是将相异物件或符号根据确定的顺序重排.每个顺序都称作一个排列.例如,从一到六的数字有720种排列 ...
- CTF实战(隐写术):欢迎来到地狱
前言:请登录实验吧开启刷题模式,拿到的flag返回该网站验证正确性. 下载“欢迎来到地狱”CTF题目(总共三个文件
- JavaSE 学习笔记之Object对象(八)
Object:所有类的直接或者间接父类,Java认为所有的对象都具备一些基本的共性内容,这些内容可以不断的向上抽取,最终就抽取到了一个最顶层的类中的,该类中定义的就是所有对象都具备的功能. 具体方法: ...
- elasticsearch 数据导入(九)
说明 maven依赖 官方客户端 https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.4/index.html <d ...
- UVa - 12661 - Funny Car Racing
先上题目: 12661 Funny Car RacingThere is a funny car racing in a city with n junctions and m directed ro ...
- 洛谷——P2925 [USACO08DEC]干草出售Hay For Sale
https://www.luogu.org/problem/show?pid=2925 题目描述 Farmer John suffered a terrible loss when giant Aus ...
- DTrace Probes In MySQL 自定义探针
Inserting user-defined DTrace probes into MySQL source code is very useful to help user identify the ...