大数据仓库-增量更新

本文探讨了大数据仓库中的更新技术,特别是针对HDFS等技术早期设定的数据不可更新问题。介绍了Google的Mesa系统如何通过多版本并发控制(MVCC)模型解决更新吞吐量不高及更新影响查询的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

2015-12-03 朱洁 hadoop技术学习

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

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

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

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

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

 

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

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

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

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

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

 

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

 

 

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

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

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

 

 
 

微信扫一扫
关注该公众号

要想在百度八亿网页的数据海洋中找到你所要的信息, 人工方式需要1200 多人年,而百度搜索技术不到1 秒钟。人 们被数据淹没,却渴望知识。商务智能技术已成为当今企业 获取竞争优势的源泉之一。商务智能通常被理解为将企业中 现有的数据转化为知识,帮助企业做出明智决策的IT工具集。 其中数据仓库、OLAP和数据挖掘技术是商务智能的重要组成 部分。商务智能的关键在于如何从众多来自不同企业运作系 统的数据中,提取有用数据,进行清理以保证数据的正确性, 然后经过抽取、转换、装载合并到一个企业级的数据仓库里, 从而得到企业数据的一个全局视图,并在此基础上利用适当 的查询分析、数据挖掘、OLAP等技术工具对其进行分析处理, 最终将知识呈现给管理者,为管理者的决策过程提供支持。 可见,数据仓库技术是商业智能系统的基础,在智能系统开 发过程中,星型模式设计又是数据仓库设计的基本概念之一。 星型模式是由位于中央的事实表和环绕在四周的维度表 组成的,事实表中的每一行与每个维度表的多行建立关系, 查询结果是通过将一个或者多个维度表与事实表结合之后产 生的,因此每一个维度表和事实表都有一个“一对多”的连 接关系,维度表的主键是事实表中的外键。随着企业交易量 的越来越多,星型模式中的事实表数据记录行数会不断增加, 而且交易数据一旦生成历史是不能改变的,即便不得不变动, 如对发现以前的错误数字做修改,这些修改后的数据也会作 为一行新纪录添加到事实表中。与事实表总是不断增加记录 的行数不同,维度表的变化不仅是增加记录的行数,而且据 需求不同维度表属性本身也会发生变化。本文着重讨论数据 仓库维度表的变化类型及其更新技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值