HBase作为一种NoSQL的数据库,和传统的类似于mysql这样的关系型数据库是有很大区别的,本文来对他们做一个对比分析,以便更加深入的了解HBase。

  主要区别体现在以下六个方面:

  1、数据类型

  关系型数据库采用关系模型,具有丰富的数据类型和存储方式,比如我们熟知的mysql可以存储char、varchar、int等等各种类型的数据,而HBase则采用了更简单的数据模型,将数据存储为未解释的字符数组,所有数据都没有类型,都直接作为字符数组来看待。

  2、数据操作

  关系型数据库有丰富的数据操作,最基本的如:增删改查,并且这其中涉及复杂的多表连接,而HBase操作则不存在复杂的表与表之间的连接关系,只有简单的插入、查询、删除、清空等操作,因为HBase在设计上就避免了复杂的表和表之间的关系。

  3、存储模式

  关系型数据库是基于行模式来存储的,而HBase正如我们介绍的那样,它是基于列存储的,每个列族的数据都保存在一起,不同列族的文件是相互分离的。

  4、数据索引

  在关系型数据库中,有模式、表、视图、索引等多个概念,RDBMS可以根据不同列构建复杂的多个索引,以此来提高数据访问的性能,而HBase我们看到,实际上它只有一个索引,那就是行键,HBase表的所有访问都要通过行键,通过巧妙的设计,HBase中的所有访问方法,或者通过行键访问,或者通过行键扫描。

  5、数据维护

  关系型数据库中,更新操作会用当前的最新值去替换记录中的旧值,旧值被覆盖后就不再存在了,而HBase中的每个单元格是有一个以时间戳表示的版本号的,它在执行更新操作时,并不会删除数据的旧版本,而是生成一个具有更新的版本号的新数据,原有旧数据仍然会保存。

  6、可伸缩性

  关系型数据库大多受限于一台机器的存储容量,只能进行垂直扩展(更换大容量的设备、提升设备性能等等),很难做到横向扩展,而HBase设计的初衷本来也就是为了实现灵活的横向扩展,能够通过简单的增加节点数量来实现扩展,从而可以存储超大规模数据集,实现超大规模数据的随机访问。

【HBase】三、HBase和RDBMS的比较的更多相关文章

  1. Hbase(三) hbase协处理器与二级索引

    一.协处理器—Coprocessor 1. 起源Hbase 作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执 行求和.计数.排序等操作.比如,在旧版本的(<0.92)Hb ...

  2. Apache Hadoop集群离线安装部署(三)——Hbase安装

    Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apac ...

  3. Hadoop集群(三) Hbase搭建

    前面已经完成Zookeeper和HDFS的安装,本文会详细介绍Hbase的安装步骤.以及安装过程中遇到问题的汇总. 系列文章:   Hadoop集群(一) Zookeeper搭建 Hadoop集群(二 ...

  4. 【Hbase三】Java,python操作Hbase

    Java,python操作Hbase 操作Hbase python操作Hbase 安装Thrift之前所需准备 安装Thrift 产生针对Python的Hbase的API 启动Thrift服务 执行p ...

  5. Hbase总结(一)-hbase命令,hbase安装,与Hive的区别,与传统数据库的区别,Hbase数据模型

    Hbase总结(一)-hbase命令 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', ...

  6. Hbase系列-Hbase简介

    自1970年以来,关系数据库用于数据存储和维护有关问题的解决方案.大数据的出现后,好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案.Hadoop使用分布式文件系统,用于存储大数 ...

  7. Hbase学习Hbase基础介绍

    一.产生背景 自1970年以来,关系数据库用于数据存储和维护有关问题的解决方案.大数据的出现后,好多公司实现处理大数据并从中受益,并开始选择像Hadoop的解决方案.Hadoop使用分布式文件系统,用 ...

  8. 【HBase】HBase Getting Started(HBase 入门指南)

    入门指南 1. 简介 Quickstart 会让你启动和运行一个单节点单机HBase. 2. 快速启动 – 单点HBase 这部分描述单节点单机HBase的配置.一个单例拥有所有的HBase守护线程- ...

  9. HBase(五): HBase运维管理

    HBase自带的很多工具可用于管理.分析.修复和调试,这些工具一部分的入口是hbase shell 客户端,另一部分是在hbase的Jar包中. 目录: hbck hfile 数据备份与恢复 Snap ...

  10. HBase学习-HBase原理

    1.系统架构 1.1 图解   从HBase的架构图上可以看出,HBase中的组件包括Client.Zookeeper.HMaster.HRegionServer.HRegion.Store.MemS ...

随机推荐

  1. Python深入:编码问题总结

    转自:http://blog.csdn.net/gqtcgq/article/details/47068817 一:字符编码简介          1:ASCII          最初的计算机的使用 ...

  2. 折半搜索+Hash表+状态压缩 | [Usaco2012 Open]Balanced Cow Subsets | BZOJ 2679 | Luogu SP11469

    题面:SP11469 SUBSET - Balanced Cow Subsets 题解: 对于任意一个数,它要么属于集合A,要么属于集合B,要么不选它.对应以上三种情况设置三个系数1.-1.0,于是将 ...

  3. u-boot include目录 gd_t结构体 如何关联芯片指定的目录

    1 u-boot /u-boot-2018.07-fmxx/include/config.h /* Automatically generated - do not edit */#define CO ...

  4. 【BZOJ1492】【Luogu P4027】 [NOI2007]货币兑换 CDQ分治,平衡树,动态凸包

    斜率在转移顺序下不满足单调性的斜率优化\(DP\),用动态凸包来维护.送命题. 简化版题意:每次在凸包上插入一个点,以及求一条斜率为\(K\)的直线与当前凸包的交点.思路简单实现困难. \(P.s\) ...

  5. WPF界面控件Telerik UI for WPF发布R2 2019 SP1|实现新的属性

    Telerik UI for WPF拥有超过100个控件来创建美观.高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序.UI for WPF支持MVVM.触摸等,创建的应用程序可靠且结构良 ...

  6. python爬虫及结巴分词《攀登者》影评分析

    <攀登者>影评爬取及分析 0.项目结构 其中simkai.ttf为字体文件,Windows查看系统自带的字体 C:\Windows\Fonts 一.爬取豆瓣影评数据 # -*- codin ...

  7. 【NOIP2012模拟10.31】掷骰子

    题目 太郎和一只免子正在玩一个掷骰子游戏.有一个有N个格子的长条棋盘,太郎和兔子轮流掷一个有M面的骰子,骰子M面分别是1到M的数字.且掷到任意一面的概率是相同的.掷到几.就往前走几步.当谁走到第N格时 ...

  8. java——>> 和>>>

    试一下 public static void main(String[] args) { System.out.println(Integer.toBinaryString(-16)); System ...

  9. jdk java 环境变量配置

    下载 下载JDK 64 位 wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fw ...

  10. javaweb上传大文件的问题

    总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...