当前位置: 首页 > news >正文

上海网站域名备案处pos机网站建设方案

上海网站域名备案处,pos机网站建设方案,登陆页面模板,东莞市手机网站建设多少钱1 ColumnFamily 设计 追求的原则是#xff1a;在合理的范围内能尽量少的减少列簇就尽量减少列簇。 最优设计是#xff1a;将所有相关性很强的 Key-Value 都放在同一个列簇下#xff0c;这样既能做到查询效率最高#xff0c;也能保持尽可能少的访问不同的磁盘文件。 以用…1 ColumnFamily 设计 追求的原则是在合理的范围内能尽量少的减少列簇就尽量减少列簇。 最优设计是将所有相关性很强的 Key-Value 都放在同一个列簇下这样既能做到查询效率最高也能保持尽可能少的访问不同的磁盘文件。 以用户信息为例可以将必须的基本信息存放在一个列簇而一些附加的额外信息可以放在另一个列簇。 2 RowKey 设计 HBase 中表会被划分为 1...n 个 Region被托管在 RegionServer 中。Region 两个重要的属性StartKey 与 EndKey 表示这个 Region 维护的 RowKey 范围当我们要读/写数据时如果 RowKey 落在某个 Start-end Key 范围内那么就会定位到目标 Region 并且读/写到相关的数据。 那怎么快速精准的定位到想要操作的数据就在于 RowKey 的设计。 3. RowKey 设计三原则 3.1 RowKey 长度原则 RowKey 是一个二进制码流RowKey 的长度被很多开发者建议说设计在 10-100 个字节建议是越短越好不要超过 16 个字节。原因如下 数据的持久化文件 HFile 中是按照 KeyValue 存储的如果 RowKey 过长比如 100 个字节如果有 1000 万行数据光 RowKey 就要占用 100 * 1000 万 10 亿字节将近 1G 数据这会极大的影响 HFile 的存储效率。MemStore 将缓存部分数据到内存当中如果 RowKey 字段过长内存的有效利用率就会降低系统将无法缓存更多的数据从而降低数据检索效率。因此 RowKey 的字节长度越短越好。目前操作系统都是 64 位系统内存 8 字节对齐。控制在 16 个字节是 8 字节的整数倍利用操作系统的最佳特性。3.2 RowKey 散列原则 如果 RowKey 是按时间戳的方式递增不要将时间放在二进制码的前面建议将 RowKey 的高位作为散列字段由程序循环生成低位放时间字段这样将提高数据均衡分布在每个 RegionServer 实现负载均衡的几率。如果没有散列字段首字段直接是时间信息将产生所有新数据都在一个 RegionServer 上堆积的热点现象这样在做数据检索的时候负载会集中到个别的 RegionServer降低查询效率。 3.3 RowKey 唯一原则 必须在设计上保证其具有唯一性。RowKey 是按照字典顺序进行排序存储的因此设计 RowKey 的时候要充分利用这个排序特点将经常读取的数据存储到一个 Region 中将最近可能会被访问的数据放到一起。 数据热点 HBase 中的行是按照 RowKey 的字典顺序进行排序的这种设计优化了 scan 操作可以将相关的行以及会被一起读取的行存储在临近的位置便于 scan 操作。然而糟糕的 RowKey 设计是热点的源头。大量访问会使热点 Region 所在的单个节点超出自身承受能力引起性能下降甚至 Region 不可用由于主机无法提供其它 Region 的请求这也会影响同一个 RegionServer 上的其它的 Region 的访问。设计良好的数据访问模式以使集群被充分和均衡的利用。为了避免写热点设计 RowKey 使得不同行在同一个 Region但是在更多数据情况下数据应该被写入集群的多个 Region而不是一个 Region。 防止数据热点的有效措施 1. 加盐 这里所说的加盐不是密码学中的加盐而是在 RowKey 的前面都加随机数就是给 RowKey 分配一个随机前缀以使得它和之前的 RowKey 的开头不同。分配的前缀各类数量应该和要使数据分散到的 Region 的数量一致。加盐之后的 RowKey 就会根据随机生成的前缀分散到各个 Region 上以避免数据热点的现象产生。 2. 哈希 哈希会使同一行永远用一个前缀加盐。哈希也可以使负载分散到整个集群但是读却是可以预测的。使用确定的哈希可以让客户端重构完整的 RowKey可以使用 get 操作准确获取某一行的数据。 3. 反转 第三种防止热点的方法是反转固定升序或者数字格式的 Rowkey。这样就可以使得 RowKey 中经常改变的部分最没有意义的部分放在前面。这样可以有效的产生随机的 Rowkey但是牺牲了 RowKey 的有序性。 反转 RowKey 的例子以手机号为 RowKey可以将手机号反转看到啦字符串作为 RowKey这样就避免了以手机号那样比较固定的开头导致热点的问题。 4. 时间戳反转 一个常见的数据处理问题是快速获取数据的最近版本使用反转的时间戳作为 RowKey 的一部分对这个问题十分有用可以用 Long.Max_Value-timestamp 追加到 Key 的末尾例如 [key][reverse_timestamp][key] 的最新值可以通过 scan [key] 获得 [key] 的第一条记录因为 HBase 中 RowKey 是有序的第一条记录是最后录入的数据。比如需要保存一个用户的操作记录按照操作时间倒序排序在设计 RowKey 的时候可以这样设计 [userId 反转][Long.Max_Value-timestamp]在查询用户的所有操作记录数据的时候直接指定反转后的 userIDstartRow 是 [userID 反转][000000000000]stopRow 是 [userID 反转][Long.Max_Value-timestamp]。如果需要查询某段时间的操作记录startRow 是 [user 反转][Long.Max_Value - 起始时间]stopRow 是[userID 反转][Long.Max_Value - 结束时间]
http://www.pierceye.com/news/234444/

相关文章:

  • 精湛的赣州网站建设襄阳哪里有做网站的
  • 拿了网赌代理后怎样做自己的网站河南最新消息今天
  • 北京最大的网站开发公司中山市企业网站seo营销工具
  • 苏州营销型网站建设方案哪些网站做的比较好的
  • 淘宝上买的建设网站能退款吗app怎么查网站备案
  • 电子商务网站开发与设计报告专业网站建设公司兴田德润怎么样
  • 如何建立p2p网站win2003怎么做网站
  • 免费网页设计制作网站建筑公司愿景口号大全
  • 个人可以做网站维护吗专业团队电脑壁纸
  • 东营专业网站建设公司排行鞍山市人力资源招聘信息网
  • 郑州网站建设蝶动小公司使用的网站开发
  • 合肥网站seo技术软件开发工程师简历模板
  • org的域名网站在线取公司名字 免费
  • 网站开发有哪几个阶段百度网站官网怎么做
  • 微信网站名域名访问网站怎么下载
  • 网站源码怎么预览建站技巧
  • 织梦网站会员功能化妆品网站建设描述
  • 手机app软件定制马鞍山seo
  • 重庆网站建设 九度互联响应式网站开发工具
  • 句容市建设工程管理处网站wordpress联系表格
  • 电商网站建设流程新能源汽车价格一览表
  • 实验室网站建设的调查报告海报设计图片手绘图
  • 征求网站建设买正品东西哪个网最好
  • 网站建公司生存响应式网站特点
  • 关于公司建设网站的意义网站后台html页面
  • 麻花星空影视传媒制作公司网站朋友帮忙做网站 费用多少
  • 海口网站建设呢做健身推广网站
  • 哈尔滨网站搜索优化苏州网站建设主页
  • 35互联网站建设怎么样设计工作室宣传文案
  • php做的网站如何该样式云服务器产品介绍