美文网首页
2019-06-05

2019-06-05

作者: AliceGYY | 来源:发表于2019-06-05 15:45 被阅读0次

一、数据存储

实时任务在运行过程中,会计算很多维度和指标,这些数据需要放在一个存储系统中作为恢复或者关联使用。其中会涉及三种类型的数据:

中间计算结果:在实时应用处理过程中,会有一些状态的保存(比如去重指标的明细数据),用于在发生故障时,使用数据库中的数据恢复内存现场。

最终结果数据:指的是通过ETL处理后的实时结果数据,这些数据是实时更新的,写的频率非常高,可以被下游直接使用。

维表数据:在离线计算系统中,通过同步工具导入在线存储系统中,供实时任务来关联实时流数据。

数据库系统缺点,以Hbase为例,一张表必须要有rowkey,而rowkey是按照ASCII码来排序的,这就像关系型数据库的索引,rowkey的规则限制了读取数据的方式。如果业务方需要使用另一种读取数据的方式,就必须重新输出rowkey。从这个角度来看,Hbade没有关系型数据库方便。但是Hbase的一张表能够存储几TB甚至几十TB的数据,而关系型数据库必须要分库分表才能实现这个量级的数据存储。因此,对于海量数据的实时计算,一般会采用非关系型数据库,以应对大量的多并发读写。

rowkey的实践经验

1.表名设计

设计规则:汇总层标识+数据域+主维度+时间维度

2.rowkey设计

设计规则:MD5+主维度+维度标识+子维度+时间维度+子维度2

以MD5的前四位作为rowkey的第一部分,可以把数据散列,让服务器整体负载是均衡的,避免热点问题。在上面的例子中,卖家ID属于主维度,在查数据时是必传的。每个统计维度都会生成一个维度标识,以便在rowkey上做区分。

相关文章

  • 停更。恢复待定2019-06-05

    停更。恢复待定2019-06-05

  • MySQL安装

    MySQL安装 作者:vwFisher时间:2019-06-05官网:https://dev.mysql.com/...

  • 你长白头发了吗?白发与身体的关系

    私人订制食补秘方 关注 5.197 · 字数 1668 · 阅读 1141 2019-06-05 09:32 现在...

  • 荆的ScalersTalk第四轮新概念朗读持续力训练Day233

    20190605 周三 Day233 练习材料: 原文[Day 233 2019-06-05]Lesson 2-...

  • jQuery-Ajax

    2019-06-05 jQuery封装了Ajax的交互过程,用户无需使用XMLHttpRequest对象的原生方法...

  • jQuery动画

    2019-06-05 show与hide方法 显示:show(执行速度,[回调函数]); 隐藏:hide(执行速度...

  • 2019-6-5晨间日记

    2019-06-05 【践行人员】袁顺娟 【践行天数】217/1000 【今日天气】晴 【昨日早睡】23:30 【...

  • 2019-08-23

    2019-8-23 为国争光 字数 415 · 阅读 0 2019-06-05 08:03 姓名:张卫国《六项精进...

  • 2019-08-28

    2019-8-28 为国争光 字数 415 · 阅读 0 2019-06-05 08:03 姓名:张卫国《六项精进...

  • 2019-08-07

    2019-8-6 为国争光 字数 415 · 阅读 0 2019-06-05 08:03 姓名:张卫国《六项精进》...

网友评论

      本文标题:2019-06-05

      本文链接:https://www.haomeiwen.com/subject/qeyjxctx.html