HBASE列族不能太多的真相 (一个table有几个列族就有几个 Store)

2023-10-27

HRegionServer内部管理了一系列HRegion对象,每个HRegion对 应了table中的一个region,HRegion中由多 个HStore组成。每个HStore对应了Table中的一个column family的存储,可以看出每个columnfamily其实就是一个集中的存储单元,因此最好将具备共同IO特性的column放在一个column family中,这样最高效。

HStore存储是HBase存储的核心,由两部分组成,一部分是MemStore,一 部分是StoreFile。MemStore是 Sorted Memory Buffer,用户写入的数据首先会放入MemStore,当MemStore满了以后会Flush成一个StoreFile(底层实现是HFile)。


进行split的条件:该regiion下所有的storeFile中最大的storeFile大小超过阀值即进行spliet
在文件层次上,不同的列族,存储在不同的文件中。但是不同的列族,可能会共享一个region。



/hbase/zz/3917ebd872c0adcb9d6c5a9cfd30b87f/a

/hbase/zz/3917ebd872c0adcb9d6c5a9cfd30b87f/a/9210131397650425238
/hbase/zz/3917ebd872c0adcb9d6c5a9cfd30b87f/b
/hbase/zz/3917ebd872c0adcb9d6c5a9cfd30b87f/b/7083844554431109536

如上所示:两个不同的列族,共享了同一个region(3917ebd872c0adcb9d6c5a9cfd30b87f)。

由于不同的列族会共享region,所以有可能出现,一个列族已经有1000万行,而另外一个才100行。当一个要求region分割的时候,会导致100行的列会同样分布到多个region中。
这样就出现了基数问题。(如果表存在多个列族,列族A有100万行,列族B有10亿行,那么列族A可能会被分散到很多个Region上,这会导致扫描列族A的性能低下)


(某个column family在flush的时候,它邻近的column family也会因关联效应被触发flush,最终导致系统产生更多的I/O)
所以,一般建议不要设置多个列族。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HBASE列族不能太多的真相 (一个table有几个列族就有几个 Store) 的相关文章

随机推荐

  • 1.3.1 手写数字识别之数据处理

    文章目录 概述 一 加载类库 二 读入数据并划分数据集 扩展阅读 为什么针对固定数据集的模型总在不断精进呢 三 训练样本乱序 生成批次数据 四 校验数据有效性 机器校验 人工校验 五 封装数据读取与处理函数 六 异步数据读取 七 扩展阅读
  • Python调用GPT3.5接口的最新方法

    GPT3 5接口调用方法主要包括openai安装 api requestor py替换 接口调用 示例程序说明四个部分 1 openai安装 Python openai库可直接通过pip install openai安装 如果已经安装ope
  • 【力扣】第302场周赛记录

    第302场周赛记录 6120 数组能形成多少数对 6164 数位和相等数对的最大和 6121 裁剪数字后查询第 K 小的数字 6122 使数组可以被整除的最少删除次数 6120 数组能形成多少数对 链接 数组能形成多少数对 描述 给你一个下
  • 深度学习常用激活函数

    神经网络构架过程中常用的激活函数表达式 函数图像和优缺点 激活函数决定输入信号是否或多大程度上应该通过节点 或神经元 传递到下一层 众所周知 神经网络的运算是线性的 引入非线性的激活函数 可以提高神经网络的拟合能力 下面讲解释一些常见的激活
  • spring源码中,委托模式的个人小感受

    文章目录 委托模式代码 代码感受 spring 源码中的应用 委托模式代码 注 不属于 23 种设计模式之一 是面向对象设计模式中常用的一种模式 public interface Cook void cook public class 川菜
  • 重新思考语义分割范式:SETR

    点击上方 CVer 选择加 星标 置顶 重磅干货 第一时间送达 本文作者 湃森 来源 知乎 已授权 https zhuanlan zhihu com p 348418189 一 论文信息 标题 Rethinking Semantic Seg
  • 热修复框架研究之Robust原理

    热修复框架研究之Robust原理 2017 03 28 15 23 出处 清屏网 人气 127 评论 0 热修复框架研究之Robust原理 作者 Houskii 这是群里重邮的子沛同学的投稿哦 Robust是美团点评团队在2017年3月开源
  • 【SQL注入】数字型注入 & 字符型注入

    目录 一 简介 概述 示例 数据库中区别 二 数字型注入 简介 判断 三 字符型注入 需闭合 简介 判断 一 简介 概述 一般会对数据的类型会有一个限制 不管怎么去区分 常用的数据类型有数值和字符型 通常SQL 注入漏洞分类 按照数据类型
  • 渗透实验 - 并查集

    渗透实验 给定黑格数量 黑格随机分布 生成一个矩阵 黑格子表示不通 白格表示通 循环很多次 求在当前黑格数量下 从上到下矩阵通的概率 Eg 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 0
  • 在winds11系统中安装Java

    一 前言 如果你想要开发Java程序 你需要安装Java开发工具包 JDK 并配置JDK的环境变量 在本篇博客中 我将介绍如何在Winds11系统中安装JDK和配置JDK的环境变量 二 安装JDK 1 首先 访问Java官方网站 搜索Ora
  • 阿里Java代码规范 P3C插件

    1 阿里开发手册 1 1 说明 2017年年初 首次公开的阿里官方Java代码规范标准手册可以说是引起了全民 IT界 代码规范的热潮 相信这个手册很多行业内的朋友都比较熟悉 毕竟有 大厂光环 想低调都难 这个手册的主旨是 码出高效 码出质量
  • Linux 文件操作

    文章目录 一 task struct 和 file 的关系 二 文件操作的系统调用 三 进程默认打开的三个文件 四 文件重定向 五 Linux 下一切皆文件 六 缓冲区 文件是在磁盘上创建出来的 当我们想进行文件操作时 根据冯诺依曼体系结构
  • 【自学】记录Centos遇到的坑-网络连接失败

    Failed to start LSB Bring up down networking 问题 一 执行 service network restart 出现以下错误 Restarting network via systemctl Job
  • 蚂蚁算法matlab,蚁群算法(ACA)及其Matlab实现

    1基本原理 本质上也是一种概率算法 通过大概率收敛到最佳值 和其他的智能算法很相似 蚁群分泌的信息素存在正反馈 使得较佳的解 具有大概率被选到 当全局都选用较佳的解 变可以得到整体的最优解 2几个关键点 1 概率选择 受信息素浓度和启发函数
  • NETSDK1045 当前 .NET SDK 不支持将 .NET 6.0 设置为目标。请将 .NET 5.0 或更低

    vs2019解决 NETSDK1045 错误 一 平台描述 二 问题描述 三 问题原因 四 解决办法 一 平台描述 系统 Windows 10 VS Visual Stdio 2019 二 问题描述 我在下载了 微软官网 的WPF示例代码运
  • matlab求分量平方和,Matlab经典复习试题

    A 是三条边构成三角形的条件 B 是三条边不构成三角形的条件 C 构成三角形时逻辑值为真 D 不构成三角形时逻辑值为假 二 程序阅读理解 1 数学实验程序如下 syms x f 3 x 2 6 x 1 g x 2 x 3 R f g ezp
  • STM32-内存管理实验

    一 内存管理简介 1 如何在LCD上实现SD卡文件浏览 需要读取所有文件名到内存 然后显示到LCD 一般的方法是定义一个数组来存储所有文件名 1 需要知道最大文件名的长度 比如255字节 2 需要知道文件的个数 如果没有内存管理 则需要定义
  • 差分进化算法(Differential Evolution,DE)实例详解

    差分进化算法是 differential evolution DE 是基于群体智能理论的优化算法 是通过群体内个体间的合作与竞争而产生的智能优化搜索算法 对比进化计算 它保留了基于种群的全局搜索策略 采用实数编码 基于差分的简单变异操作和
  • SAP PO上传异步接口(PO从对方中间表读取数据)

    导语 最近的项目上出现了一个奇奇怪怪的需求 上传接口居然不是外围系统给我传输 而是他数据丢到他的中间表 然后PO去取过来 真就他不动 我自己动 下面说一下需要怎么来实现吧 其实跟PO下传接口写入中间表一样 只不过方向变了 还有一些小变动 这
  • HBASE列族不能太多的真相 (一个table有几个列族就有几个 Store)

    HRegionServer内部管理了一系列HRegion对象 每个HRegion对 应了table中的一个region HRegion中由多 个HStore组成 每个HStore对应了Table中的一个column family的存储 可以