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本身 ...
随机推荐
- Linux:用户和组总结
从创建文件说起:useradd xiaomi 这里是创建了xiaomi用户 默认系统还会创建:/home/xiaomi /var/mail/xiaomi 即家目录和 ...
- 关于read和fread
1.fread与read的区别---open和fopen的区别--fread函数和fwrite函数:http://blog.csdn.net/dreamtdp/article/details/7560 ...
- Java 下实现Cache
最近在做Spring的项目,想做一个缓存,访问数据库,定期来做数据更新 要实现两个功能 可以通过http请求来立刻刷新缓存 缓存可以通过自己配置的时间间隔来定期刷新 通过Controller来做 因为 ...
- wx微信小程序
俩三行时: ==========
- Anton and Permutation
Anton and Permutation time limit per test 4 seconds memory limit per test 512 megabytes input standa ...
- python中添加日志记录到文件
1.实现python日志功能 2.只输出到文件,不输出到控制台 #encoding:utf-8 import logging from common import path_util logging_ ...
- POJ 3252 Round Numbers 组合数学
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 13381 Accepted: 5208 Description The ...
- kendo grid结合ajax功能
我感觉使用ajax结合表格绑定效率更好一些,可以灵活的控制点击前后的事件,现在grid前后的事件我不能控制
- [bzoj1131][POI2008]Sta_树形dp
Sta bzoj-1131 POI-2008 题目大意:给定一棵n个点的树,求一个根,使得深度和最大. 注释:$1\le n \le 10^6$. 想法:扭一扭即可. 扭的时候看看这个点当没当过根. ...
- [poj3974]Palindrome_Manacher
Palindrome poj-3974 题目大意:求字符串的最长回文子串. 注释:$1\le strlen(s) \le 10^6$. 想法:介绍一种字符串算法——Manacher.求以每一个字符和字 ...