专栏首页大数据和云计算技术大数据仓库—增量更新

大数据仓库—增量更新

现在是国内凌晨3点,为了抵挡睡意,还是写写技术博客。今天和大家讨论下大数据仓库中的更新技术。

当前很多大数据技术,如HDFS最早设定的是数据不更新,只增量叠加。传统数据仓库(Greenplum,treadata,oracle RAC)通常碰到两个问题:

1、 更新的throughput不高。主要影响原因有两点,锁的原因,还有更新通常是随机IO,很难充分利用硬盘高吞吐的优势。

2、 更新影响查询。更新把IO占住,查询的体验急剧下降。

为了解决这个问题,Google的Mesa系统设计了一个MVCC的数据模型,通过增量更新和合并技术。将离散的更新IO转变成批量IO,平衡了查询和更新的冲突,提高了更新的吞吐量。

Mesa设计了一个多版本管理技术来解决更新的问题:

1、 使用二维表来管理数据,每个表要制定schma,类似传统数据库。

2、 每个字段用KeyValue来管理。Schema就是是key的集合,指向value的集合。

3、 每个字段指定一个聚合函数F。(最常见的是SUM)

4、 数据更新进来的时候,按照MVCC增量更新,并给增量更新指定一个版本号N,和谓词P。

5、 查询进来的时候,自动识别聚合函数,把所有版本的更新按照聚合函数自动计算出来。

6、 多版本如果永远不合并,存储的代价会非常大,而且因为每次查询需要遍历所有版本号,所以版本过多会影响查询,因此定期的合并是自然而然的。

7、 Mesa采用两段更新的策略。更新数据按版本号实时写入,每十个版本自动合并,每天又全量合并一遍,合并成一个基础版本。

好了,今天主要就介绍Mesa的数据模型。Mesa的论文中举了一个例子更方便理解,大家去看看吧。

本文分享自微信公众号 - 大数据和云计算技术(jiezhu2007),作者:朱洁

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-12-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ​大数据和云计算技术周报(第37期)

    “大数据” 三个字其实是个marketing语言,从技术角度看,包含范围很广,计算、存储、网络都涉及,知识点广、学习难度高。

    大数据和云计算技术
  • 大数据和云计算技术周报(第50期):NoSQL特辑

    本期有 Redis、分布式、HBase、impala与hive、protobuf、Phoenix。 希望大家会喜欢!欢迎喜欢的同学打赏、转发支持社区!

    大数据和云计算技术
  • 大数据和云计算技术周报(第94期)

    本文主要介绍了基于 Apache HBase 与 Google SimHash 等多种算法共同实现的一套支持百亿级文本数据相似度计算与快速去重系统的设计与实现。

    大数据和云计算技术
  • 利用Xilinx HLS实现LDPC译码器

    为简单起见,采用了IEEE 802.16e标准中的2/3A码率的码字,并选择1536的码长作为具体的验证举例。该LDPC码是准循环码,每个循环子矩阵的行...

    sea-wind
  • 利用svn log命令实现的资源版本更新

    无论页游或是手游都需要经常进行更新,而每一次更新几乎都是一部血泪吏。这里重点介绍一下前端资源打包的简化操作。目前2D手游主流都采用了cocos2d-x 绑lu...

    meteoric
  • 【商城应用】app版本控制流程

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhiqiang0316/articl...

    林老师带你学编程
  • win10没有推送更新包1809怎么办?看这里

    win10 1809在去年9月发布了,一出来bug很多,之后又恢复了更新,但是有很多人没有收到更新,现在告诉大家一个方法

    zhangdd
  • App更新策略课程完结篇

    用户1130025
  • 苹果封的不是热更新,封的依然是底层敏感接口

    有什么大不了的功能更新,不能提前在客户端布局好的?非要用这种完全扩展能力的热更新框架?

    王拥军
  • Java并发编程之原子操作类

    当更新一个变量的时候,多出现数据争用的时候可能出现所意想不到的情况。这时的一般策略是使用synchronized解决,因为synchronized能够保证多个线...

    哲洛不闹

扫码关注云+社区

领取腾讯云代金券