基本介绍

概述

HBase是bigtable的开源java版本,是建立在HDFS之上,提供高可靠性高性能列存储可伸缩实时读写nosql数据库系统,主要用来存储结构化半结构化松散数据

HBase查询数据功能很简单,不支持join等复杂操作,不支持复杂的事务(行级的事务)

HBase中支持的数据类型:byte[]

特点

1.:一个表可以由上十亿行、上百万列

2.面向列:面向列(族)的存储和权限控制、列(族)独立检索

3.稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计得非常稀疏

HBase和Hadoop的关系

HBase和Hadoop是紧耦合的关系HBase依赖于Hadoop



如果要运行HBase,一定要保证Hadoop的环境正常运行。

从以上表格可以得出HBase适合频繁的读写操作HDFS不适合频繁的读写操作,更适合一次写入多次读取,但HBase的数据都保存在HDFS上,这样的矛盾点该如何解决?

RDBMS与HBase的对比

特征

一、海量数据存储

二、列式存储

三、易于扩展,类似于HDFS,加节点就可以我实现HBase扩展

四、支持客户端访问的高并发操作

五、稀疏表,如果某一列没有值,不占用存储空间


基础架构





HMaster的功能:

1.监控RegionServer

2.处理RegionServer故障转移

3.处理元数据的变更

4.处理region的分配或移除

5.在空闲时间进行数据的负载均衡

6.通过Zookeeper发布自己的位置给客户端



RegionServer的功能:

1.负责存储HBase的实际数据

2.处理分配给它的Region

3.刷新缓存到HDFS

4.维护HLog

5.执行压缩

6.负责处理Region分片

【HBase】HBase基本介绍和基础架构的更多相关文章

  1. LYNC2013介绍和基础架构准备角色

    LYNC2013部署系列PART1:LYNC2013介绍和基础架构准备 前言:LYNC 2013发布已经很久了,本人一直在进行相关的学习和测试,在有限的资源条件下,把能够模拟出来的角色进行了安装部署, ...

  2. HBase基础架构及原理

    1. HBase框架简单介绍 HBase是一个分布式的.面向列的开源数据库,它不同于一般的关系数据库,是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式.HBas ...

  3. Hadoop(分布式系统基础架构)---Hive与HBase区别

    对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用.  Hive是什么? Apache Hive是 ...

  4. HBase学习笔记(四)—— 架构模型

    在逻辑上,HBase 的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列. 但从 HBase 的底层物理存储结构(K-V)来看,HBase 更像是一个 multi-dimensional m ...

  5. 教你成为全栈工程师(Full Stack Developer) 四十五-一文读懂hadoop、hbase、hive、spark分布式系统架构

    转载自http://www.shareditor.com/blogshow?blogId=96 机器学习.数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用于分布式存储和map-red ...

  6. Hbase和Hive在大数据架构中处在不同位置

    先放结论:Hbase和Hive在大数据架构中处在不同位置,Hbase主要解决实时数据查询问题,Hive主要解决数据处理和计算问题,一般是配合使用.一.区别:Hbase: Hadoop database ...

  7. 深入浅出node.js游戏服务器开发1——基础架构与框架介绍

    2013年04月19日 14:09:37 MJiao 阅读数:4614   深入浅出node.js游戏服务器开发1——基础架构与框架介绍   游戏服务器概述 没开发过游戏的人会觉得游戏服务器是很神秘的 ...

  8. [Vue入门及介绍,基础使用、MVVM架构、插值表达式、文本指令、事件指令]

    [Vue入门及介绍,基础使用.MVVM架构.插值表达式.文本指令.事件指令] 1)定义:javascript渐进式框架 ​ 渐进式:可以控制一个页面的一个标签,也可以控制一系列标签,也可以控制整个页面 ...

  9. b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释

    继续上篇,上篇里忘记了也很重要的前端部分,今天的网站基本上是以一个启示页,然后少量的整页切换,大量的浏览器后台调用web服务局部.动态更新页面显示状态这种方式在运作的,从若干年前简单的ajax流行起来 ...

随机推荐

  1. 你只要5行代码,拥有你的个性二维码,用Python生成动态二维码

    如果想了解更多关于python的应用,可以私信我,或者点击下方链接自行获取,里面到资料都是免费的(http://t.cn/A6Zvjdun) 二维码满天飞,但是有没有想过Python也能制作出专属于自 ...

  2. A - Free DIY Tour HDU - 1224

    题目大意:每一个城市都有一定的魅力值,然后有一个有向图,根据这个有向图从1到n+1所获得的魅力的最大值,并输出路径(要求只能从编号娇小的城市到编号较大的城市). 题解:很容易想到最短路+路径纪录.但是 ...

  3. 14. 最长公共前缀----LeetCode

    编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow" ...

  4. Flask接口开发过程中的心得2019.10.03

    完善了一下慕课网实战中的post接口开发,得到了一些进步: 代码如下: #coding=utf-8 from flask import Flask from flask import request ...

  5. 8. input限制手机输入

    1. 只能输入数字: <input id="num" type="number" value="0" onkeyup="va ...

  6. 永恒之蓝MS17010复现

    MS17010复现 靶机win7:192.168.41.150 攻击kali:   192.168.41.147 扫描 通过auxiliary/scanner/smb/smb_ms17_010模块扫描 ...

  7. Maven+JSP+SSM+Mysql+C3P0实现的学生管理系统

    项目简介 项目来源于:https://gitee.com/wu_yun_long/student_management_system 本系统是基于Maven+JSP+SSM+Mysql+C3P0实现的 ...

  8. mac 使用记录

    iterm 配合 lrzsz 实现 上传下载

  9. 模拟HTTP请求调用controller

    原文参考本人的简书:https://www.jianshu.com/p/0221edbe1598 MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller调用,这样 ...

  10. scrapy爬虫实例(1)

    爬虫实例 对象 阳光问政平台 目标 : 主题,时间,内容 爬取思路 预先设置好items import scrapy class SuperspiderItem(scrapy.Item): title ...