本文将介绍大数据的知识和Hbase的基本概念,作为大数据体系中重要的一员,Hbase弥补了Hadoop只能离线批处理的不足,支持存储小文件,随机检索。而这种特性使得Hbase对于实时计算体系的事件存储有天然的较好的支持。这使得Hbase在实时流式计算中也扮演者重要的角色。

1、大数据与Hbase

大数据在近几年发展迅速,而实时计算也是一个重要的发展趋势。不管是企业中的日志数据,还是传感器、智能设备等等产生的数据,不计其数。

而这些数据中结构化的数据只占一小部分,大部分是非结构化的数据。这个时候,比如图片视频等就不能轻松的存储在关系型数据库中,而大数据是可以对各种类型的数据都可以进行处理的。

但关系型数据库有几点缺陷:

无法应对高并发的考验,没有办法横向扩展,事务一致性对性能的影响。

而Nosql数据库,也就是Not Only Sql的缩写。扩展性强,并发性能好,数据模型灵活。

Hbase,也就是Hadoop Database是一个高可靠、高性能、可伸缩的分布式数据库。Hbase参考了谷歌的BigTable建模,使用HDFS作为底层存储。使用Zookeeper作为协同服务组件。

Hbase使用Java编写,还是一种NoSQL数据库,这些特性决定了Hbase独特的应用场景。

2、概念特性

HBASE是一个数据库----可以提供数据的实时随机读写

HBASE与mysql、oralce、db2、sqlserver等关系型数据库不同,它是一个NoSQL数据库(非关系型数据库)

Hbase的表模型与关系型数据库的表模型不同:

​  Hbase的表没有固定的字段定义;

​  Hbase的表中每行存储的都是一些key-value对;

​  Hbase的表中有列族的划分,用户可以指定将哪些kv插入哪个列族;

​  Hbase的表在物理存储上,是按照列族来分割的,不同列族的数据一定存储在不同的文件中;

​  Hbase的表中的每一行都固定有一个行键,而且每一行的行键在表中不能重复;

​  Hbase中的数据,包含行键,包含key,包含value,都是byte[ ]类型,hbase不负责为用户维护数据类型;

​  HBASE对事务的支持很差;

HBASE相比于其他nosql数据库(mongodb、redis、cassendra、hazelcast)的特点:

Hbase的表数据存储在HDFS文件系统中

从而,hbase具备如下特性:存储容量可以线性扩展; 数据存储的安全性可靠性极高!

3、核心模块

客户端Client

整个Hbase的入口,使用者通过客户端操作Hbase。通过客户端与HMaster和RegionServer进行通讯。管理类操作与HMaster通信,读写类操作与RegionServer通讯。

协调服务zookeeper

zookeeper负责管理Hbase中多个HMaster的选举,服务器间状态同步。

主节点HMaster

HMaster可以启动多个,由zookeeper保证总有一个正常运行,其他作为备选。

HMaster主要负责Table和Region的管理工作。

节点HRegionServer

HRegionServer主要负责响应用户IO请求,向HDFS中读写数据。HRegionServer管理了一系列的HRegion对象。HRegion对应了Table中的一个Region。HRegion由多个HStore组成,HStore对用了Table中一个Column Family。

而且每个HRegionServer都有一个HLog对象,用于数据恢复。

4、使用场景

搜索引擎

生成索引,在查询时通过对条件的拼接,迅速的查找到要查询的数据。

实时流式计算

不管是实时的推荐系统,还是日志的增量存储,都是实时流式计算的一个应用。

通过将数据增量的存入Hbase,并在流式处理中实时查询Hbase,结合历史得到最终的分析结果。

更多Hbase,Flink,Kafka等实时流式计算相关博文,欢迎关注实时流式计算:

Hbase入门(一)——初识Hbase的更多相关文章

  1. HBase入门基础教程 HBase之单机模式与伪分布式模式安装

    在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Hadoop完全分布式环境,搭建Hado ...

  2. Hbase入门教程--单节点伪分布式模式的安装与使用

    Hbase入门简介 HBase是一个分布式的.面向列的开源数据库,该技术来源于 FayChang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像 ...

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

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

  4. HBase入门基础教程之单机模式与伪分布式模式安装(转)

    原文链接:HBase入门基础教程 在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Had ...

  5. 一条数据的HBase之旅,简明HBase入门教程-Write全流程

    如果将上篇内容理解为一个冗长的"铺垫",那么,从本文开始,剧情才开始正式展开.本文基于提供的样例数据,介绍了写数据的接口,RowKey定义,数据在客户端的组装,数据路由,打包分发, ...

  6. 1.1-1.3 HBase入门

    一.HBASE入门 部分参考链接:https://www.cnblogs.com/steven-note/p/7209398.html 1.简介 HBase – Hadoop Database,是一个 ...

  7. 一条数据的HBase之旅,简明HBase入门教程-开篇

    常见的HBase新手问题: 什么样的数据适合用HBase来存储? 既然HBase也是一个数据库,能否用它将现有系统中昂贵的Oracle替换掉? 存放于HBase中的数据记录,为何不直接存放于HDFS之 ...

  8. 一条数据的HBase之旅,简明HBase入门教程1:开篇

    [摘要] 这是HBase入门系列的第1篇文章,主要介绍HBase当前的项目活跃度以及搜索引擎热度信息,以及一些概况信息,内容基于HBase 2.0 beta2版本.本系列文章既适用于HBase新手,也 ...

  9. hbase入门-相关概念

    hbase入门-概念理解 参考文档: https://blog.csdn.net/luanpeng825485697/article/details/80319552 1.      hbase概念 ...

随机推荐

  1. .NET Core下操作Git,自动提交代码到 GitHub

    .NET Core 3.0 预览版发布已经好些时日了,博客园也已将其用于生产环境中,可见 .NET Core 日趋成熟 回归正题,你想盖大楼吗?想 GitHub 首页一片绿吗?今天拿她玩玩自动化提交代 ...

  2. shell习题1

    1------->>>批量创建用户. $#  ---  统计传入参数的数量 $*  ---  传入若干个参数 使用id来确认用户是否存在并创建 向$*进行传参,在运行时加上需要添加的 ...

  3. 学习整理:用webpack4.x构建基本项目

    webpack4 在2018年就已经发布了, 相比webpack3,webpack4需要的配置减少了很多,对入口和出口配置都有默认设置可以不用手动设置,但还是要在webpack.config.js中配 ...

  4. unity_小功能实现(敌人巡逻功能)

    利用NavMeshAgent控制敌人巡逻,即敌人在一组位置间循环巡逻. 首先我们要知道NavMeshAgent中有两个方法:1.锁定当前巡逻的某一目标位置,即navMeshAgent.destinat ...

  5. CopyOnWriteArrayList笔记

    CopyOnWriteArrayList笔记 一.前言 Java 5.0 在java.util.concurrent 包中提供了多种并发容器类来改进同步容器的性能. ConcurrentHashMap ...

  6. Leetcode之二分法专题-240. 搜索二维矩阵 II(Search a 2D Matrix II)

    Leetcode之二分法专题-240. 搜索二维矩阵 II(Search a 2D Matrix II) 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵 ...

  7. 通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)

    一.背景 笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘.工具挖掘.代码审计三部分内容,手工挖掘篇参考地址为快速找出网站中可能存 ...

  8. lightoj 1097 - Lucky Number(线段树)

    Lucky numbers are defined by a variation of the well-known sieve of Eratosthenes. Beginning with the ...

  9. 疯狂的bLue

    疯狂的bLue Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 众所周知神秘的 ACM 实验 ...

  10. ASP.NET Core结合Nacos来完成配置管理和服务发现

    目录 前言 Nacos的简介 启动Nacos 配置管理 服务发现 写在最后 前言 今年4月份的时候,和平台组的同事一起调研了一下Nacos,也就在那个时候写了.net core版本的非官方版的SDK. ...