当前位置:   article > 正文

HBase介绍、架构、特点、应用场景、生态圈_hbase是一种什么数据库

hbase是一种什么数据库

目录:
一、HBase简介
二、NoSQL和关系型数据库对比
二、HBase架构
1、HBase物理架构
2、HBase逻辑架构 Row
3、HBase元数据管理
四、HBase特点
五、HBase应用场景
六、HBase生态圈技术

一、HBase简介

HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL(非关系型) 数据库。

主要三特征:

  1. 是一个面向列存储的NoSQL数据库
  2. 采用的是Key/Value的存储方式
  3. 使用HDFS作为存储并利用其可靠性

二、HBase架构

1、HBase物理架构

在这里插入图片描述

HMaster

作用

  • 是HBase集群中的主节点,可以配置多个,用来实现HA
  • 处理元数据的变更
  • 监控RegionServer(心跳)
  • 负责RegionServer的负载均衡
  • 处理RegionServer故障转移(根据Hlog)
  • 通过ZooKeeper发布自己的位置给客户端
RegionServer

RegionServer负责管理维护Region,负责存储HBase实际数据

  • 一个RegionServer包含一个WAL(write ahead log)、一个BlockCache(块缓存)和多个Region
  • 一个Region包含多个存储区Store
  • 一个存储区由多个StoreFile和MemStore组成
  • 一个StoreFile对应于一个HFile和一个列族
  • HFile和WAL作为序列化文件保存在HDFS上
  • Client和RegionServer交互

功能

  • 负责管理HBase的实际数据
  • 处理分配给它的Region
  • 刷新缓存到HDFS
  • 维护HLog
  • 执行Compaction
  • 负责处理Region分片
Region和Table
  • 单个Table(表)被分区成大小大致相同的Region
  • Region是HBase集群分布数据的最小单位
  • Region被分配给集群中的RegionServer
  • 一个Region只能分配给一个RegionServer

2、HBase逻辑架构 Row

  • Rowkey(行键) 是唯一的并已经排序
  • Schema可以定义何时插入记录
  • 每个Row都可以定义自己的列,即使其他Row不用
    • 相关列定义为列族
  • 使用唯一的时间戳维护多个Row版本
    • 在不同版本中值类型可以不同
  • HBase数据全部以字节存储

3、HBase元数据管理

  • 数据管理目录
    • 系统目录表hbase:meta
      • 存储元数据
    • Zookeeper存储hbase:meta表的位置信息
  • HBase实际数据存储在HDFS上

三、NoSQL和关系型数据库对比

对比NoSQL关系型数据库
常用数据库HBase、MongoDB、RedisOracle、DB2、MySQL
存储格式文档、键值对、图结构表格式,行和列
存储范围鼓励冗余规范性,避免重复
存储扩展横向扩展、分布式纵向扩展(横向扩展有限)
查询方式非结构化查询结构化查询语句SQL
事务不支持事务一致性支持事务
性能读写性能高读写性能差
成本简单易部署,开源,成本低成本高

四、HBase特点

  • 数据访问速度快,相应时间约2-20毫秒

  • 支持随机读写,每个节点20k~100k+ops/s

  • 可拓展性,可拓展到20000+节点

  • 高并发

五、HBase应用场景

1、增量数据-时间序列数据

高容量,高速写入
HBase之上有OpenTSDB模块,可以满足时序类场景,比如传感器,系统监控,股票行情监控等

2、信息交换-消息传递

高容量,高速读写
通信、消息同步的应用构建在HBase之上,比如:email,FaceBook等

3、内容服务-Web后端应用程序

高容量,高速读写
头条类、新闻类的新闻、网页、图片、图片存储在HBase中

六、HBase生态圈技术

名称介绍
Lily基于HBase的CRM
OpenTSDBHBase面向时间序列数据管理
KylinHBase上的OLAP
PhoenixSQL操作HBase工具
Splice Machine基于HBase的OLTP
Apache TophraHBase事务支持
TiDB分布式SQL DB
Apache Omid优化事务管理
Yarnapplication timeline server v.2迁移到HBase
Hivemetadata存储可以迁移到HBase
AmbariMetrics Server 将使用HBase做数据存储

七、总结

HBase 是NoSQL 数据库
特点:列存储、大容量,扩展性强,高可靠性,稀疏性
适合场景:单表超千万,上亿,且高并发!
生态圈庞大

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/868138
推荐阅读
相关标签
  

闽ICP备14008679号