现在是国内凌晨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的论文中举了一个例子更方便理解,大家去看看吧。
微信扫一扫
关注该公众号
相关推荐
- **安装deltarpm软件包**:deltarpm软件包允许yum只下载和安装软件包的增量更新,节省时间并减少网络带宽的使用。 - **安装createrepo软件包**:createrepo是一个用于创建yum仓库的工具,它可以生成软件包的元数据...
在数据处理过程中,增量抽取是一项重要的技术,尤其是在大数据场景下,能够有效减少不必要的数据处理,提高效率。 增量抽取是指仅处理自上次抽取以来发生更改的数据,而不是重新处理整个数据集。这种策略对于保持...
在这个"Kettle根据ID增量更新.zip"压缩包中,我们关注的是如何利用Kettle实现基于ID的增量数据更新,以确保不同系统间的数据一致性。 首先,理解增量更新的原理。增量更新是指只处理自上次同步以来发生更改的数据...
增量更新是现代IT系统中不可或缺的一部分,尤其在大数据和云计算领域。理解其原理和实施方法,对于优化系统性能、降低成本和提升用户体验至关重要。通过资源包中的内容,我们可以更深入地学习和实践增量更新技术。
- **知识点:** 时间分区是数据仓库中常用的一种优化策略,可以帮助提高查询性能。 - **详细解释:** 业务板块的时间分区类型通常包括STRING、DOUBLE、BOOLEAN、BIGINT和DATETIME等基本数据类型。 #### 12. 阿里数据...
MaxCompute是阿里云推出的一种大规模数据处理服务,它在大数据实战中扮演着核心角色,尤其在数据仓库的数据转换实践中。本实践系统主要展示了如何利用MaxCompute构建高效、可扩展的数据处理流程,以满足互联网行业的...
这些工具旨在提供与传统数据仓库相似的快速查询能力,使得最终用户能够在大数据环境中进行高效的数据探索。 #### 六、数据分析与机器学习的深度融合 随着大数据技术的发展,数据分析与机器学习之间的界限正在变得...
### JD大数据平台总体架构知识点详解 #### 一、总体架构概述 京东(JD)大数据平台旨在构建一个统一的大数据共享和分析平台,该平台能够针对各类业务进行前瞻性的预测及分析,为不同层级的用户提供决策支持,从而提升...
大数据仓库构建 大数据仓库构建是指通过整合各类数据源,建立一个统一的数据仓库,实现数据的一致性、规范性和共享性。以下是大数据仓库构建的知识点: 1. 数据仓库的重要性:随着数据的急剧增长,传统的数据存储...
大数据技术基础培训是当前大数据技术的发展趋势,大数据处理的需求和特点包括高性能、增量式的扩展性、可用性和灵活性。随着计算模式的演变,传统数据存储和数据分析技术面临着严峻的挑战,例如批处理、数据仓库、...
《大数据存储与处理-第三讲84.pptx》主要探讨了Hadoop在大数据领域的核心作用和应用。Hadoop是一个开源项目,由Apache软件基金会维护,旨在提供一种高效、可扩展且经济的方式来存储和处理海量数据。它的起源可以追溯...
2. **数据资源**:涵盖数据仓库中的各类数据及数据服务,确保数据的全面性。 3. **数据管理**:实施严格的管理制度,保障数据的准确性、高效性和易用性。 4. **数据应用**:开发多种应用系统,实现数据的价值最大化...
阿里巴巴的DataX是一个重要的数据同步工具,它支持多方向、高自由度的异构数据交换,能处理各种数据源和数据仓库之间的同步问题。而TimeTunnel则用于实时数据同步,基于数据库的日志,如MySQL的bin-log和Oracle的...
《阿里增量日志解析组件Canal详解》 在大数据领域,实时数据同步是不可或缺的一环,而阿里开源的Canal组件则为此提供了强大的解决方案。Canal是一个轻量级的MySQL数据库增量日志抽取框架,主要用于实现数据库增量...
- 增量更新是处理大数据时的重要策略,通过业务系统的时间戳或变更记录来确定新数据,避免全量抽取,提高效率。 2. **数据清洗(Cleaning)**: - 清洗阶段的目标是消除脏数据,包括不完整、错误或重复的数据。 ...
数据集成是IT领域中一个关键的过程,特别是在大数据和企业级数据仓库中。Kettle,又称为Pentaho Data Integration(PDI),是一个强大的开源ETL(Extract, Transform, Load)工具,它允许用户从各种数据源抽取数据,...
大数据计算服务MaxCompute是阿里巴巴推出的一款强大的云端大数据处理平台,它为企业提供了高效、稳定且易于使用的数据仓库解决方案。在MaxCompute中,流式计算是一项重要的功能,它允许用户以SQL的形式处理实时数据...
### 大数据ETL技术方案知识点总结 ...综上所述,大数据ETL技术方案不仅涵盖了ETL的基本概念和技术分类,还深入探讨了具体工具的使用方法及其应用场景,为从事数据仓库建设和维护的技术人员提供了宝贵的参考。