定义

非关系型分布式列式数据库,支持大数据量查询(百万,上亿行)

概要

  • 数据存储:HDFS
  • 数据计算:MapReduce/Spark
  • 服务协调:Zookeeper

特征

  • 列式存储(列只有一种类型byte[])
  • 分布式
  • 大数据存储(百万,上亿行; 上万列)
  • 伸缩性,扩展性(列根据业务随意添加)
  • 随机快速访问:归功于region分区
  • 强一致性(同一行的数据分布在同一个region)
  • 自动分片(当storeFile达到阀值值,自动把一个region分裂成两个,同时刷新hbase:meta表,以更新region信息)
  • regionserver自动故障转移(failover):当一个regionserver进程挂掉时,Master会自动将原先regionserver
    下的reigon进行重新分配到其它regionserver
  • 支持mapreduce,hdfs: 数据导入,数据存储
  • java api
  • thrift/rest api
  • block cache
  • web ui

不适用场景

  • 关联
  • 事务
  • 列类型设置
  • 二级索引
  • 高级查询(存储过程,触发器等)

什么时候选用HBase

结合二三即可

  • 大数据
  • 能够承受丢失RDBMS的特征
  • 有足够的硬件资源

HBase与HDFS的区别

虽然HBase数据存储在HDFS上,但查询数据的速度区别很大

  • HDFS:属于全表扫描查询,速度很慢
  • HBase:根据rowKey分区,只选择部分相应的region查询,速度很快

HBase系统表

1.也叫目录表(hbase:meta): 用于保存所有region信息

2.存放在zookeeper中,默认路径是 /hbase/meta-region-server (终端执行zkCli.sh)

3.存放目录由hbase-site.xml中zookeeper.znode.rootserver控制

Master节点

由于meta数据不是存储在master节点,故当master挂掉时,hbase client can still run for a short time.

  • 运行在namenode
  • 管理regionserver
  • 触发meta表的更新

WAL(Write Ahead Log)

数据先已文件形式写入HLog,再写入memstore

RegionServer

管理region,部署在DataNode上

HBase基础概念的更多相关文章

  1. Hbase记录-Hbase基础概念

    HBase是什么? HBase是建立在Hadoop文件系统之上的分布式面向列的数据库.它是一个开源项目,是横向扩展的. HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数 ...

  2. Hbase 基础 - shell 与 客户端

    版权说明:  本文章版权归本人及博客园共同所有,转载请标明原文出处(http://www.cnblogs.com/mikevictor07/),以下内容为个人理解,仅供参考. 一.简介 Hbase是在 ...

  3. HBASE基础知识总结

    HBASE基础知识总结 一,概要说明 文章首先回顾HBase 的数据模型和数据层级结构,对数据的每个层级的作用和架构进行了详细阐述:随后介绍了数据写入和读取的详细流程.先把架构图和流程图来坐镇. 架构 ...

  4. HBase基本概念

    HBase是什么 HBase构建在 HDFS 之上的分布式列式键值存储系统.HBase内部管理的文件全部存储在HDFS中. HBase VS HDFS HDFS适合批处理场景 不支持数据随机查找 不适 ...

  5. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  6. TCP/IP基础概念及通信过程举例

    TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...

  7. Jmeter基础之---jmeter基础概念

    Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...

  8. 快速入门系列--WCF--01基础概念

    转眼微软的WCF已走过十个年头,它是微软通信框架的集大成者,将之前微软所有的通信框架进行了整合,提供了统一的应用方式.记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winfo ...

  9. 理解 angular2 基础概念和结构 ----angular2系列(二)

    前言: angular2官方将框架按以下结构划分: Module Component Template Metadata Data Binding Directive Service Dependen ...

随机推荐

  1. 带你从零学ReactNative开发跨平台App开发(四)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  2. Django Redis验证码 密码 session 实例

    1.settings CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCach ...

  3. Week5——Ajax

    1.简介 AJAX 相当于异步 JavaScript 和 XML,是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网 ...

  4. 第四章 数据库和SQL 4-3 数据的更新(UPDATE语句的使用方法)

    一.UPDATE语句的基本语法. 二.指定条件的UPDATE语句(搜索型UPDATE) 三.使用NULL进行更新 NULL清空:使用UPDATE可以将列更新为NULL,俗称NULL清空. 四.多列更新 ...

  5. MVC技术的面试问题

    MVC中的三种方式: ORM框架:对象关系映射关系 ,面向对象的对象模型和关系型数据之间的相互转换.基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口.只要提供了持久化类与表的映射关系, ...

  6. 设计带有placeHolder的TextView

    设计带有placeHolder的TextView 效果: 源码: PlaceholderTextView.h 与 PlaceholderTextView.m // // PlaceholderText ...

  7. Python学习---装饰器/迭代器/生成器的学习【all】

    Python学习---装饰器的学习1210 Python学习---生成器的学习1210 Python学习---迭代器学习1210

  8. SQL server数据库的部署

    一.实验目标 1.安装一台SQL  SERVER(第一台),然后克隆再一台(第二台),一共两台,修改两台的主机和IP地址. 2.使用注册的方式,用第二台远程连接第一台 二.实验步骤 1)先打开一台Wi ...

  9. December 03rd 2016 Week 49th Saturday

    By failing to prepare, you are preparing to fail. 不做准备,那就准备失败吧. How does the case when you had prepa ...

  10. 设计模式之——单例模式(Singleton)的常见应用场景(转):

    单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此 ...