Hbase - regionserver存储过程(写过程)

2024-01-29 21:58

本文主要是介绍Hbase - regionserver存储过程(写过程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

架构图

 

写入流程

 

Hadoop 生态圈 

来源 Google 的三篇论文: 谷歌有三宝 计算(MapReduce) 存储(GFS)和 大表(BIgtable) 

BigTable ---> HBase   Hadoop DataBase

传统的关系型数据库 : Mysql  Oracle   操作方式 : sql操作 
什么叫做关系型数据库 : 基于关系模型提出来数据库,数据最终保存在一张二维表里面

HBase 是一个Nosql  not only sql 

    简单对比 吞吐量
    Mysql             HBase 
    1000 +             100W+ 

    关系型数据库 :           擅长的地方         增删改查  事务
    非关系型数据库HBase  : 擅长的地方         存储 和 读取     订单信息  历史数据 

HBase基本架构模型 
    画 HBase 架构图方式
    1. HBase 表结构     
        学校学生和成绩统计  
            Mysql 表 设计两张表  一张学生表 (年龄 ,姓名 ,性别....)     一张成绩表(语文,数学,英语,化学,物理..)
            Hbase 只有一张表 , 以列族划分  数十亿行 数百万列 
    2. HBase 部署在庞大廉价的机器集群上面 阿里巴巴 12000


HBase工作机制
    1.切分和分配大表
    ** 将一张大表切分,切分成一个个小单元(Region),分配到服务器集群上面,分别由每一台机器(RegionServer)托管一部分数据.一般情况下,RegionServer托管多个Region
    2. 理论上可以把RegionServer当做HDFS 客户端 来对DataNode操作
    3. 稀疏
    4. 允许相同的行键存在

HBase的原理分析
    1. HBase 写数据流程
         * 请求Region所在的服务器 
         * 将数据写入 Hlog
         * 将数据写入到 MemStore 
         * 经过累积Flush到Store ---> StoreFile ---> HFile
         MemStore 什么时候刷盘

    2. 寻找Region  HBase meta 
        1. 找Zk 问 : Meta 表在哪 答 : 在 RS2
        2. RS2  问 : 读取 XXX表里面的38行数据 在那个Region上面能找到,哪个RS为他提供服务 答 : RS1上面的Region3
        3. 我要读取XXX表里面的38行数据 答案 : 好的那去吧 

操作HBase 
    WebConsole  : 端口号 16010
    JavaAPI  : 编写Java代码方式
    命令行方式 :     
        启动HBase : start-hbase.sh
        登入 : hbase shell
        查看当前数据库的表 : list
        创建表 : create '表名','列族名'
        插入数据 : put '表名','行键','列族名:子项名称','值'
        查看表描述 : desc '表名'
        查看表数据 : scan '表名'  get '表名','行键'
        清空表 : truncate '表名'  禁用表disable table  删除表drop table 创建表 create table 
        删除表 : disable '表名' drop '表名' 删除表的时候不会立刻马上删除,先打上"墓碑",不能对表有任何操作
        等到执行一次大合并的时候会进行删除.

这篇关于Hbase - regionserver存储过程(写过程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/658289

相关文章

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结