目录 为什么要设计rowKey 三大原则 长度原则 散列原则 唯一原则 热点问题的解决 加盐 哈希 反转 时间戳反转 为什么要设计rowKey 首先要弄明白一点,Regions的分区就是根据数据的rowKey处理的,而如果设计rowKey不合理,就会导致所有数据到一个分区,或者并没有很好地发挥预分区带来的负载均衡作用,还是会发生数据倾斜. HBase中还有一个就是rowKey的热点问题,因为rowKey是根据字典顺序排序的,如果rowKey设计不合理,当大量的client访问hbase集群的一个…
热点问题 hbase 中的行是以 rowkey 的字典序排序的,这种设计优化了scan 操作,可以将相关的 行 以及会被一起读取的行 存取在临近位置,便于 scan . 然而,糟糕的 rowkey 设计是 热点 的源头. 热点发生在大量的客户端直接访问集群的一个或极少数节点.访问可以是读,写,或者其他操作.大量访问会使 热点region 所在的单个机器超出自身承受能力,引起性能下降甚至是 region 不可用.这也会影响同一个 regionserver 的其他 regions,由于主机无法服务其…
什么是rowkey Hbase是一个分布式的.面向列的数据库,它和一般关系型数据库的最大区别是:HBase很适合于存储非结构化的数据,还有就是它基于列的而不是基于行的模式. Hbase是采用K,V存储的,那Rowkey就是KeyValue的Key了,Rowkey也是一段二进制码流,最大长度为64KB,内容可以由使用的用户自定义.数据加载时,一般也是根据Rowkey的二进制序由小到大进行的. HBase是根据Rowkey来进行检索的,系统通过找到某个Rowkey (或者某个 Rowkey 范围)所…
一 命名空间 1 命名空间的结构 1) Table:表,所有的表都是命名空间的成员,即表必属于某个命名空间,如果没有指定, 则在 default 默认的命名空间中. 2) RegionServer group:一个命名空间包含了默认的 RegionServer Group. 3) Permission:权限,命名空间能够让我们来定义访问控制列表 ACL(Access Control List).例如,创建表,读取表,删除,更新等等操作. 4) Quota:限额,可以强制一个命名空间可包含的 re…
reference:http://xilinx.eetrend.com/d6-xilinx/blog/2010-05/682.html   随着集成电路设计与制造技术的发展,FPGA芯片的容量越来越大.性能越来越高,用FPGA构建片上系统成为现实,基于FPGA的嵌入式系统与SOPC(System On a Programmable Chip)设计技术将逐渐成为系统设计的主流技术,正获得越来越广泛地研究.Microblaze是Xilinx公司一款针对FPGA器件进行了优化设计的软处理器核,有不错的…
阅读目录: 1.开篇介绍 2.尽量使用Lambda匿名函数调用代替反射调用(走进声明式设计) 3.被忽视的特性(Attribute)设计方式 4.扩展方法让你的对象如虎添翼(要学会使用扩展方法的设计思想) 5.别怕Static属性(很多人都怕Static在Service模式下的设计,其实要学会使用线程本地存储(ThreadStatic)) 6.泛型的协变与逆变(设计架构接口(Interface)时要时刻注意对象的协变.逆变) 7.使用泛型的类型推断(还在为参数类型烦恼吗) 8.链式编程(设计符合…
阅读目录: 1.开篇介绍 2.元数据缓存池模式(在运行时构造元数据缓存池) 2.1.元数据设计模式(抽象出对数据的描述数据) 2.2.借助Dynamic来改变IOC.AOP动态绑定的问题 2.3.元数据和模型绑定.元数据应该隐藏在Model背后.元数据与DSL的关系 3.链式配置Dynamic模式(爱不释手的思维习惯编程) 4.委托工厂模式(要优于常见的 工厂,概念更加准确,减少污染) 5.规则外挂(视委托为特殊的规则对象原型) 1]开篇介绍 通过上一篇的“.NET框架设计—常被忽视的C#设计技…
blog.sunnyxx.com 我是前言 学习objc时,尤其是先学过其他编程语言再来看objc时,总会对objc的类声明的关键字interface感到有点奇怪,在其它面向对象的语言中通常由class关键字来表示,而interface在java中表示的却大约相当于objc的protocol,这个关键字的区别究竟代表了objc语言的设计者怎样的思想呢,在objc类设计中需要注意哪些问题呢?接下来对这个问题进行一些思考和探究. interface? 先来段Wiki: In object-orien…
阅读目录: 1.开篇介绍 2.元数据缓存池模式(在运行时构造元数据缓存池) 2.1.元数据设计模式(抽象出对数据的描述数据) 2.2.借助Dynamic来改变IOC.AOP动态绑定的问题 2.3.元数据和模型绑定.元数据应该隐藏在Model背后.元数据与DSL的关系 3.链式配置Dynamic模式(爱不释手的思维习惯编程) 4.委托工厂模式(要优于常见的 工厂,概念更加准确,减少污染) 5.规则外挂(视委托为特殊的规则对象原型) 1]开篇介绍 通过上一篇的“.NET框架设计—常被忽视的C#设计技…
原文:WPF界面设计技巧(11)-认知流文档 & 小议WPF的野心 流文档是WPF中的一种独特的文档承载格式,它的书写和呈现方式都很像HTML,它也几乎具备了HTML的绝大多数优势,并提供了更强的编程支持及对WPF其他元素的兼容. 直接来看代码吧,需要讲解的地方比较多,我就直接注释在代码里了,看起来更方便些: Code <Window x:Class="流文档.Window1"     xmlns="http://schemas.microsoft.com/wi…