尽量最小化行名和列名的字段大小

在HBase中,值是作为一个单元(Cell)保存在系统的中的,要定位一个单元,需要行,列名和时间戳。通常情况下,如果你的行和列的名字要是太大(甚至比value的大小还要大)的话,你可能会遇到一些有趣的情况。在HBase的存储文件中,有一个索引用来方便值的随机访问,但是访问一个单元的坐标要是太大的话,会占用很大的内存,这个索引会被用尽。所以要想解决,可以设置一个更大的块大小,当然也可以使用更小的列名。压缩也能得到更大指数。大部分时候,小的低效不会影响很大。不幸的是,这里会是个问题。无论是列族,属性和行键都会在数据中重复上亿次。所以我们设计habse时候尽量遵循以下几点:

一. 尽量使列族名小,最好一个字符

二. 虽然详细属性名易读,最好还是用短属性名 (e.g., "via") 保存到HBase.不建议使用详细属性名

三. 让行键短到可读即可,这样对获取数据有用(e.g., Get vs. Scan)。 短键对访问数据无用,并不比长键对get/scan更好。设计行键需要权衡。

四. long 类型有 8 字节. 8字节内可以保存无符号数字到18,446,744,073,709,551,615. 如果用字符串保存--假设一个字节一个字符--,需要将近3倍的字节数。

hbase动态更改行键设计_Hadoop HBase概念学习系列之优秀行键设计(十六)相关推荐

  1. hbase动态更改行键设计_谈笑间学会Hbase Rowkey设计

    谈笑间学会-Hbase Rowkey设计 1.为什么Rowkey这么重要 1.1.Rowkey是什么 类似于MySQL.Oracle中的主键,用于标示唯一的行 完全是由用户指定的一串不重复的字符串: ...

  2. HBase 行键设计

    HBase 有两种基本的键结构:行键(row key)和列键(column key).两者都可以存储有意义的信息,一种是键本身存储的内容,另一种是键的排列顺序. 概念 HBase 的表中数据分隔主要是 ...

  3. 【HBase】HBase 行健设计

    文章目录 一.RowKey 的作用 1.1.RowKey 在查询中的作用 1.2.RowKey 在 Region 中的作用 二.RowKey 应该具备的特性 2.1.字符串类型 2.2.有明确意义 2 ...

  4. DDD(领域驱动设计)系列主题:领域驱动设计(DDD)实践

    过去几年,通天塔一直处于快速的业务能力建设和架构完善的阶段,以应对不断增长的业务需求和容量.高可用等技术需求,现在通天塔平台已经能满足集团主站的大部分活动.频道搭建和运营能力,主流程的新需求越来越少, ...

  5. 第十六届智能车竞赛总决赛线上比赛赛道设计

    简 介: 根据2021年第十六届全国大学生智能汽车竞赛组委会商议确定使用线上比赛的方式完成比赛的后半程,全国总决赛.这种方式与以前的线上比赛相比具有相同性,也有其特殊性.需要在线上比赛的赛道设计以及比 ...

  6. 常见的网页设计布局有哪些?优秀的网页设计都有的8个特点

    网页布局在很大程度上决定了网站的用户如何和网页内容进行交互,好的网页设计具有很强的实用性和适应性,在进行网页设计时的更应该遵循网页布局的最佳实践效果,给观者带来最前沿最全新的网页体验,接下来一起来看看 ...

  7. Altium Designer 手机设计之PCB布局 - 系列三

    定期发布工程师们关注的一些有趣话题,Altium原厂资深技术顾问执笔,官方发布,让我们互相知道对方是怎么想的好吗? 上一个系列我们已经了解了手机布局中各主器件的布局操作以及注意事项等,接下来,我们来讲 ...

  8. 【DDR3 控制器设计】(4)DDR3 的读操作设计

    写在前面 本系列为 DDR3 控制器设计总结,此系列包含 DDR3 控制器相关设计:认识 MIG.初始化.读写操作.FIFO 接口等.通过此系列的学习可以加深对 DDR3 读写时序的理解以及 FIFO ...

  9. 【DDR3 控制器设计】(3)DDR3 的写操作设计

    写在前面 本系列为 DDR3 控制器设计总结,此系列包含 DDR3 控制器相关设计:认识 MIG.初始化.读写操作.FIFO 接口等.通过此系列的学习可以加深对 DDR3 读写时序的理解以及 FIFO ...

最新文章

  1. 一个漂亮的 PlaceHolder
  2. Vue 兼容 ie9 的全面解决方案
  3. golang 中的sort 包
  4. Vscode配置C语言问题
  5. [SourceInsight].SI自动添加函数注释
  6. php按文章评论数排序,zblog获取分类文章排序按指定的时间排序、评论数量排序、浏览数量排序...
  7. 大虾对51单片机入门的经验总结
  8. UVA - 11029
  9. oracle 王景田_清华大学经济管理学院电子简讯
  10. Invalid bound statement (not found) 五种解决方法
  11. Adobe Camera Raw使用方法
  12. django迁移数据makemigrations不创建APP中的数据表
  13. 《2022中国企业数智化转型升级服务全景图/产业图谱1.0版》重磅发布
  14. 修炼成高薪Java程序猿——从优秀的Java命名规范开始
  15. windows安装theano
  16. 现实环境中,关于Teb Local Planner 参数调试总结
  17. 用户名、密码等常用的js正则表达式
  18. 原癌基因和抑癌基因总结
  19. 计算机职称评定认可增刊吗,核心期刊增刊评职称能用吗?
  20. ubc大学尚德商学院计算机系,喜报丨中加高中学子获世界前十商学院UBC大学尚德商学院录取...

热门文章

  1. Shell awk文本处理,shell脚本编写
  2. linux 下环境变量设置
  3. Linux下细碎温度等的监控与调整
  4. 300+Jquery, CSS, MooTools 和 JS的导航菜单资源
  5. 笔记:数据绑定表达式(一)
  6. c语言多个子函数声明,C函数在多个源文件中的声明和定义
  7. android按钮点击无响应时间,AndroidStudio下的点击事件不响应
  8. 串口打印怎么使用】_爱普生打印机怎么使用 爱普生打印机使用方法【详解】...
  9. postgresql修炼之道_PostgreSQL的TOAST技术
  10. linux清除configure文件_在Linux操作系统下自动生成Makefile的方法