《Future Internet》:A Decade of Horizontal Fragmentation Methods in OLAP from Data Warehouse to Data Lakehouse: A Scoping Review
Nidia Rodríguez-Mazahua,
Lisbeth Rodríguez-Mazahua,
Giner Alor-Hernández,
Jair Cervantes and
Felipe Castro-Medina
数据库管理员在优化分析工作负载时面临的主要问题之一是分片。因此,近几十年来,针对分析平台提出了多种分片方法,因为该技术能够提升OLAP(Online Analytical Processing)查询的性能。在本研究中,研究人员对分析型存储库(如数据仓库、数据湖和数据湖仓)的水平分片方法进行了探索性综述。本研究采用Arksey和O’Malley的方法论框架进行范围综述,并根据PRISMA指南进行报告,涵盖了2015年至2025年间发表的58篇关于水平分片的主要研究。研究人员的分析聚焦于五个方面:(1)确定分析型存储库水平分片工作中使用的主要技术,(2)这些研究的分类,(3)评估水平分片方案时考虑的性能指标,(4)存储库索引的信息类型,以及(5)这些方法最常使用的技术。研究人员的发现表明,在大多数情况下,水平分片是提升分析工作负载性能的良机。本次范围综述的结果将为未来关于水平分片方法的研究提供重要指导。此外,其结果还将为考虑未来方向的专业人士和学者提供关于OLAP技术使用的线索。
**1. 引言**
数据仓库自20世纪80年代引入以来,为企业高管系统化地组织、理解和使用数据以制定战略决策提供了架构和工具。数据仓库系统已成为当今竞争激烈且快速变化世界中的宝贵工具。近年来,众多公司投资数百万美元开发企业级数据仓库,这是因为数据仓库能够跨部门和职能实现分布式访问最新业务知识,从而提升业务效率和客户服务。最初,数据仓库专注于结构化数据以支持决策;然而,数据量的增长以及物联网(Internet of Things,IoT)设备和社会媒体等新数据源的出现,对原始数据存储基础设施构成了考验。因此,开发了替代方法,如数据湖及后来的数据湖仓,以应对这些挑战。
数据湖作为一种灵活、可扩展且低成本的替代方案出现,旨在克服传统数据仓库的结构和经济限制,标志着向大数据导向的分析基础设施的转变。数据湖不强制对数据施加严格的结构限制,而是将所有数据(无论结构化还是非结构化)集中存储。数据湖曾承诺成为民主化力量,使企业能够从无限数据的泉源中取用。数据湖始于HDFS(Hadoop Distributed File System)。随着云采用的增长,这些数据湖迁移到基于云的对象存储,提供了极低的存储成本和无限容量。
尽管有前景和炒作,但数据湖1.0存在严重缺陷。数据增长到难以管理的规模,缺乏模式管理、数据编目和发现的工具。数据处理也充满挑战。普通的数据转换(如连接)作为MapReduce作业编码极为棘手。为应对第一代数据湖的局限性,多个参与者寻求改进该概念以实现其全部潜力。例如,Databricks引入了数据湖仓的概念。数据湖仓结合了数据仓库的控制、数据管理和数据结构,同时仍将数据托管在对象存储中,并支持多种查询和转换引擎。特别是,数据湖仓支持ACID(Atomicity, Consistency, Isolation, and Durability)事务,这与原始数据湖(数据被倾倒且从不更新或删除)显著不同。数据湖仓这一术语暗示了数据湖与数据仓库的融合。
近几十年来,针对数据仓库提出了多种分片(又称分区)方法,因为该技术可以减少OLAP(Online Analytical Processing)查询的响应时间,并在表加载和维护操作中提供显著优势。对数据仓库(Data Warehouse,DW)进行分片比关系数据库更复杂和更具挑战性,因为分片星型模式有多种选择。在数据仓库中,维度表或事实表,或两者,都可以被分片。
大多数数据仓库的分片方法侧重于水平分片,因为事实表通常具有高数据量,即数百万个元组,并且查询通常只需要其中的子集。水平分片沿其元组对关系进行划分。因此,每个分片包含关系元组的一个子集。水平分区有两种版本:主分区和派生分区。关系的主水平分区是使用在该关系上定义的谓词进行的。另一方面,派生水平分区是由在另一个关系上定义的谓词导致的关系分区。不建议基于查询使用的所有选择谓词拆分事实表,而是建议数据库管理员(Database Administration,DBA)首先识别相关的维度表,对其进行分片,并将其分片方案传播到事实表。因此,几种方法考虑了维度表的主水平分片和事实表的派生水平分片。该过程通过丢弃与不需要的维度表相对应的选择谓词,可以降低分区过程的复杂性。
水平分片方法也可以是静态或动态的;前者获得针对给定工作负载优化的水平分片方案(Horizontal Fragmentation Scheme,HFS),但当访问模式变化时,它们不会调整HFS。相反,当HFS性能下降时,后者会修改HFS以保持其质量。
水平数据分区也已应用于数据湖,将大型数据集划分为可管理的离散分区。每个分区作为单独的数据实体进行管理。使用此技术可提升查询性能、优化数据管理,并且与数据湖架构兼容。因此,水平数据分区也是数据湖仓(Data Lakehouse,DLH)架构的一个组成部分,因为DLH结合了数据湖和数据仓库的最佳方面,并且在此配置中水平分区被认为是必不可少的,因为它能够实现高效管理和更快的数据访问。
本文呈现了对2015年至2025年间数据仓库、数据湖和数据湖仓分片方法的范围综述。本综述旨在提供关于水平分片应用、作者应对的挑战以及所获结果的评估视角。此外,研究人员分析了方法使用的成本模型及其特征,并确定了作者用于评估其分片方案的最相关性能指标。此外,本研究还确定了分片中最常使用的技术、基准测试和数据库管理系统。
研究人员识别了一些相关的综述,这些综述检查并比较了不同领域的数据管理架构,特别是数据仓库、数据湖和数据湖仓。这些工作调查了平台如何影响可扩展性、治理、数据质量、分析效率及其与机器学习和大数据工作流的集成。大多数研究强调了数据仓库在处理非结构化数据方面的限制、数据湖在治理和一致性问题上的不足,以及数据湖仓结合两者优势的优点。在Jayabalan的研究中,分析考察了数据仓库如何与新兴方法(包括云解决方案、数据湖仓和数据网格模型)共同演进。基于文献综述,该论文识别了该技术领域仍需进步或改进的领域。结果表明,当前数据仓库架构应具备可扩展性、敏捷性和互操作性。最后,他们强调了支持可持续和合乎道德数据管理实践的未来发展机会。在同一背景下,Ait Errami等人发现,空间大数据环境中传统空间数据管理方法不足以满足新技术需求。该综述分析了这些方法,描述了其演进如何导致数据湖仓模型的出现。然后,描述了如何调整和扩展该范式以有效支持大规模空间数据,为设计优化存储和处理此类数据的空间数据湖仓架构提供了组件和最佳实践建议。同样,Harby和Zulkernine对数据湖、数据仓库和数据湖仓架构进行了比较分析,以识别它们在管理和分析大量数据方面的优势、局限性和当前需求。基于此评估,作者提出了一种改进的数据湖仓设计,旨在提高效率和数据统一性。此外,他们使用HDFS作为数据湖、Hive作为数据仓库、Delta Lake作为湖仓,对真实数据集运行分析查询进行了实验验证,表明湖仓架构可以为现代分析工作负载提供更好的性能和支持。
本范围综述与现有分析平台综述的主要区别在于,本综述特别关注水平分片在数据仓库、数据湖和数据湖仓中的作用。本范围综述旨在通过分析五个方面来描述水平分片研究的现状:(1)分析平台上水平分片方法使用的主要技术,(2)水平分片方法的分类,(3)最常考虑的性能指标,(4)方法的应用领域,以及(5)作者开发方法时最常用的技术。综述涵盖了2015年至2025年间发表的科学文献。本文结构如下:第2节概述了进行综述的材料和方法。第3节呈现与研究问题相关的结果,随后第4节讨论这些发现。最后,第5节总结了主要结论。
**2. 材料与方法**
本综述借鉴了Arksey和O’Malley用于进行范围研究的方法论框架,并辅以Levac关于完善此方法的建议。此外,研究人员采纳了Moher等人提出的用于报告系统综述和元分析的PRISMA(Preferred Reporting Items for Systematic reviews and Meta-Analyses)指南,以及PRISMA-ScR扩展。为指导结果的整理和呈现,研究人员遵循了Tricco等人的建议。范围综述过程分为五个阶段:(1)定义研究问题,(2)识别相关研究,(3)选择符合条件的研究,(4)图表化数据,以及(5)整理、总结和报告发现。
**2.1 研究问题**
研究人员确定了五个研究问题,它们构建了本综述的范围,促进了研究目标的实现,并在整个综述过程中提供了指导。
RQ1. 水平分片方法在数据仓库、数据湖和数据湖仓中的主要特征是什么?
RQ2. 水平分片方法如何分类?
RQ3. 评估水平分片方案时通常考虑哪些性能指标?
RQ4. 水平分片的数据仓库、数据湖和数据湖仓中索引了哪些类型的信息?
RQ5. 分析平台上水平分片方法使用的主要技术是什么?
**2.2 纳入与排除标准**
对于本范围综述,在主要电子期刊数据库中进行了初步检索,以汇编关于分片的相关研究完整书目。考虑的数字图书馆包括:(1)ACM Digital Library,(2)IEEE Xplore Digital Library,(3)Science Direct (Elsevier),(4)Springer Link,以及(5)Google Scholar。此外,应用了基于关键词的搜索策略,以选择2015年至2025年间发表的最相关文章。表1显示了考虑的关键词集,它们通过逻辑运算符“AND”和“OR”单独或组合应用,以扩展搜索结果的范围。基于这些术语,构建了后续查询以在所选存储库中定位主要研究。表1显示了关键词及相关概念:'Horizontal fragmentation' AND ('Data warehouse' OR 'Data lake' OR 'Data lakehouse' OR 'OLAP' OR 'ETL')。初步分析显示,还有其他与不同数据库架构相关的术语。为捕获这些术语,构建了第二个查询:('Horizontal Fragmentation' OR 'Partitioning' OR 'Partition pruning' OR 'sharding' OR 'Query pruning' OR 'Bucketing' OR 'Hashing' OR 'Data Compaction') AND ('Data Warehouse' OR 'Data Lake' OR 'Data Lakehouse' OR 'OLAP' OR 'ETL' OR 'Extract-Transform-Loading' OR 'On-Line Analytical Processing')。最终,PRISMA模型作为结构化、组织和呈现本综述发现的基础。
**2.3 研究选择与资格**
检索完成后,识别出1979篇相关结果:1456篇来自ACM Digital Library,230篇来自IEEE Xplore Digital Library,75篇来自ScienceDirect,60篇来自SpringerLink,158篇来自Google Scholar。去除重复后,保留1889篇文章进行初步分析,需要根据标题和摘要进行分类。从中,对350篇论文进行了全文阅读,最终58篇纳入范围综述(见图1)。从初始的1979篇研究中,只保留摘要包含表1中至少两个关键词的。排除了与OLAP平台水平分片无关的研究,得到350篇研究的精简池:120篇来自IEEE Xplore Digital Library,140篇来自ACM Digital Library,40篇来自ScienceDirect (Elsevier),20篇来自SpringerLink,30篇来自Google Scholar。这些工作随后根据预定义的排除标准进行评估:未提出水平分片或与研究范围不相关的研究被排除。其他排除原因包括非英语论文、未发表的工作论文、教科书以及硕士或博士论文。最终,58篇主要研究符合所有资格要求并被纳入范围综述。下载每篇研究的全文以确保彻底分析。如图2所示,大多数研究(89.7%)发表于2018年至2025年间。关于来源,大部分主要研究来自ACM(17篇)和Google Scholar(17篇),其次是IEEE Xplore(10篇)和Springer Link(9篇)。从Science Direct(5篇)获取的研究文章较少。所选研究根据其出版媒介的质量进行分类。具体而言,期刊文章根据Web of Science (WOS) 的Journal Citation Reports (JCR) 四区排名进行分类,而会议论文则使用Computing Research and Education (CORE) 分类系统进行分类。图3显示了所选工作的分类。此额外分析更清晰地展示了本综述中出版媒介的科学影响力和声望。图4说明了主要研究的地理分布。可以看出,大多数研究在美国进行,其次是阿尔及利亚和德国。
**2.4 数据收集与分析**
选定纳入综述的主要研究后,提取其书目和内容数据。书目数据包括研究标题、作者、考虑的平台类型、咨询的数据库以及出版物类型(在适用时按WoS和CORE分类)。内容数据对应于从每项研究中提取的、有助于回答第2.1节定义的研究问题的信息。
**3. 结果**
选定的研究论文根据七个标准进行分类:(1)方法分类,(2)成本模型,(3)动态性,(4)分片数量限制,(5)验证,(6)存储类型,以及(7)索引信息类型。表2、表3、表4、表5和表6分别显示了针对数据仓库、数据湖和数据湖仓的分析方法的主要结果。NS表示未指定。表2显示了基于分区工作的主要特征比较;表3显示了基于机器学习的数据仓库水平分片方法的关键特征比较;表4显示了基于其他水平分片方法的数据仓库方法的关键特征比较;表5显示了数据湖中水平分片方法的主要特征比较;表6显示了数据湖仓中水平分片方法的主要特征比较。分类依据HF技术;成本模型确定方法是否使用成本模型;动态性判断方法是否考虑适应工作负载演化;分片数量限制考虑DBA是否设定最大分片数;验证指出是否使用合成数据或真实数据;存储类型考虑数据模型和DBMS;索引信息类型指定存储库索引结构化、非结构化或半结构化信息。表2中的论文是基于分区的方法,它们考虑DBMS提供的常见技术,如范围、哈希、列表和轮询,以及现代方法如微分区。基于分区的方法是根据预定义的分区属性(如时间或区域)划分数据仓库表,而不明确考虑查询工作负载。机器学习在数据仓库水平分片中的效用在于其分析查询模式和谓词或属性间关系以设计更高效HF方案的能力。通过聚类(如k-means或层次聚类)和优化算法等技术,可以分组具有相似行为的查询或谓词,促进生成更匹配工作负载的分片。表3列出了基于ML的方法。表4列出了不基于分区或ML的每种水平分片方法的主要特征,包括基于成本、图、层次和启发式的方法等。表5考虑了数据湖中开发的水平分片方法。这些工作在文献中虽少,但显示基于分区的方法在此类存储库中使用最广泛,其次是启发式方法。最后,表6总结了涉及湖仓存储库中水平分片的研究的主要方面,突出了主要技术、验证方法和使用的存储,以及索引的信息类型。与前面表格类似,基于分区的方法成为提高这些分析平台性能的主导策略。对纳入范围综述文章的分析表明,在数据仓库平台中静态分片方案占主导(31篇),而较少研究纳入成本模型(22篇)和限制生成的分片数量(17篇)。在这些环境中,验证主要使用基准测试,方法主要基于范围、列表和哈希分区。相反,在数据湖平台中,少数研究考虑成本模型(2篇)并侧重于动态方案;使用基准测试的评估面向大数据量,如Table Union和Yahoo Streaming Benchmarks。最后,在数据湖仓架构中,动态方法的使用略有增加。此外,验证主要基于TPC-H、TPC-DS、OpenMessaging Benchmark和基于一组风电场的合成数据集等基准测试,而非标准化基准测试,倾向于使用范围和哈希等分区策略。以下部分更详细地描述了所分析的方法。
**4. 讨论**
本节描述研究人员的发现,这些发现根据研究问题进行归类。
**4.1 RQ1. 水平分片方法在数据仓库、数据湖和数据湖仓中的主要特征是什么?**
水平分片(Horizontal Fragmentation,HF)是一种广泛使用的优化技术,用于减少关系数据仓库中星型连接查询的执行成本。这些查询包含多个连接和复杂的选择操作,涉及事实表和多个维度表。星型连接查询是最昂贵的OLAP查询,通常涉及高通信量。本节呈现了所分析的58种HF技术的主要特征。成本模型:分析论文后发现,其中23篇包含了水平分片方法的成本模型。根据研究,在分布式数据库系统中,需要减少的总成本包括中央处理器(Central Processing Unit,CPU)、输入/输出(Input/Output,I/O)和通信成本。CPU成本是在内存中执行数据上的操作符时产生的。I/O成本是访问磁盘所需的时间。此成本可通过快速数据访问方法和有效使用主存储器(缓冲区管理)减少磁盘访问来最小化。通信成本是在涉及执行查询的站点之间交换数据所需的时间。此成本发生在消息处理和通信网络上的数据传输中。前两个组件衡量本地处理的成本。网络拓扑显著影响这些组件之间的关系。在广域网(如互联网)中,由于检索(或发送)数据的距离更远,通信成本通常是主导因素。在发现的成本模型中,20个是为数据仓库提出的,两个是为数据湖提出的,一个是在数据湖仓中考虑的。动态性:对2015年至2025年间发表的58篇研究文章进行了分析,观察到它们主要专注于静态分片;只有20篇文章考虑调整当前分片方案以应对工作负载的演化,被视为动态。例如,作者指出大多数数据仓库分片策略侧重于关系数据仓库分片,而忽略了OLAP立方体,尽管它们是多维用户查询首先影响的对象。为解决此问题,提出了一种使用关联规则挖掘的OLAP立方体动态分片策略。该策略首先利用Apriori算法分析日志文件中的查询,以识别最频繁的谓词项集。然后,分区算法通过项集获得最佳分区标准。每当OLAP立方体性能下降时,执行分区算法。数据仓库的其他代表性动态工作包括若干研究,而数据湖中数量有限。在数据湖仓情况下,有三篇工作被认为是动态的。分片数量限制:此外,58种方法中有17种(29%)认为分析平台管理员应提供HF分片的最大数量;因此,它们被归类为有约束或限制的工作。有15篇工作考虑了数据仓库中分片数量的限制,例如,作者提出了一种基于统计(Jaccard指数)、数据挖掘(层次聚类)和元启发式(粒子群优化)的方法,以使用相对较大的工作负载解决数据仓库中的水平分片问题。首先,使用Jaccard指数计算谓词之间的吸引力,然后使用Ward算法对谓词组进行层次分组。第二步,使用DPSO(Discrete Particle Swarm Optimization)选择最佳HFS。其他考虑数据仓库中分片数量限制的工作包括若干研究,而只有少数研究在数据湖和湖仓上下文中考虑此方面,因为在这些架构中,近期的分片方法倾向于不限制分区数量,因为现代分布式引擎、可扩展对象存储和高级表格式能够更高效地管理和并行处理大量分片。验证:使用了19个基准测试来评估三种分析平台上的水平分区方法。图5显示,数据仓库中使用最广泛的基准测试是TPC-DS,它用于生成数据仓库和分析查询工作负载,以评估所提出的分区和分桶策略的性能。类似地,SSB与TPC-DS和TPC-CH一起使用,通过比较查询执行时间与传统的分区启发式方法,评估所提出的基于深度强化学习(Deep Reinforcement Learning,DRL)的分区顾问的有效性。对于数据湖,使用的基准测试包括Yahoo! Streaming Benchmark (YSB)、ESP Bench、Table Union Benchmark、TPC-DS和TPC-H,其中后者使用最广泛。最后,数据湖仓方法使用了OpeningMessaging基准测试,该基准用于生成事件流并评估Ursa的流式性能,测量不同工作负载下的吞吐量和延迟。TPC-DS和TPC-H也用于这些存储库中。TPC-H是唯一在三个平台上使用的基准测试。另一方面,不使用基准测试评估其方案的HF研究使用真实数据和来自不同领域的合成数据集。图6显示了没有基准测试时的主要验证形式。数据模型和使用的数据存储:图7显示,方法实现中最常用的数据模型是关系模型,其次是分布式模型。一些HF工作未指定使用的数据存储类型,但数据仓库中最常用的DBMS是PostgreSQL,其次是分布式DW Hive和Oracle。对于数据湖,最常用的数据模型是云对象存储,包括S3和Azure Data Lake Gen 2,而对于数据湖仓,云对象存储也占主导地位,使用Google Cloud Storage和S3。然而,这些类型的存储库正趋向于使用代理数据平台(Dremio)和内存中混合事务/分析处理(In-Memory Hybrid Transactional/Analytical Processing,HTAP)。图8显示了按分析平台分类的DBMS。PostgreSQL在大多数研究中被使用,因为它通过声明式分区提供对水平分片的原生支持,从而改善查询性能和数据生命周期管理。其基于范围、列表和散列的模型能够实现分区剪枝和顺序扫描等优化,尽管其益处必须通过性能指标进行实证验证。此外,Hive通过分区和聚类(分桶)为Hadoop环境中的数据摄取和查询执行提供原生优化机制。分区基于一个或多个属性的值(例如时间或空间维度)将表逻辑分解为子集,使查询仅扫描相关分区。同时,聚类基于应用于特定列的哈希函数在分区内组织数据成桶,显著增强连接操作效率并改善大规模分析工作负载的整体查询性能。最后,Oracle提供了水平分片的重大演进,支持多种分片方法:复合分片方法包括所有基本方法(范围、哈希和列表)的可能组合,并支持列分片,其中使用由表达式定义的虚拟属性分解表,使用一个或多个现有列,并将此表达式存储为元数据;它也是首个能够进行引用分片以使用父子关系划分表的DBMS,这类似于派生分片。
**4.2 RQ2. 水平分片方法如何分类?**
文献中提出了多种算法来获得数据存储库的水平分片方案。分析58篇关于水平分片的论文后,确定了数据仓库、数据湖和数据湖仓方法有多个主要组。一种对HF工作进行分类的方式是根据其适应HFS以应对工作负载变化的能力,分为静态和动态。还有两种类型的算法:无约束算法和基于阈值的算法。无约束算法选择数据库的分片方案而不关心生成的分片数量。如果不控制此数量,给定的分片算法可能生成大量难以管理的分片。图9显示了数据仓库中水平分片方法的主要分类,分为八组:(1)分区,包括哈希、列表和范围方法。这些方法利用DBMS提供的水平分区技术。(2)基于机器学习的工作,应用关联、聚类、分类和强化学习算法来获得HF。(3)基于成本的方法,专注于最小化执行工作负载所需的输入/输出数量。(4)图方法,构建连接多图来表示客户的数据分布工作负载历史。(5)元启发式,考虑遗传算法和粒子群优化来选择最佳HF方案。(6)谓词方法,包括获取谓词和查询使用矩阵、基于选择谓词出现次数和访问频率选择分片谓词、根据分片谓词形成分区。(7)启发式方法,例如对通过集成异构数据源获得的全局模式进行分区。(8)其他,包括基于层次、Map-Reduce和树的方法。图10显示,对于数据湖,有六个主要组:(1)启发式HF方法;(2)基于机器学习的方法,应用聚类技术;(3)分区提议,包括哈希和范围方法;(4)基于成本的工作;(5)图驱动策略;(6)时间戳分区,应用于减少数据冗余。对于数据湖仓,方法基于符合范围和哈希的分区技术。
**4.3 RQ3. 评估水平分片方案时通常考虑哪些性能指标?**
高效处理负载的能力反映了应用程序的性能。任何消耗系统资源(如CPU、内存和网络带宽)的都是负载。分布式系统性能的主要指标是吞吐量和响应时间。前者度量应用程序每秒处理的请求数,后者是客户端向应用程序发送请求到接收响应之间经过的时间。另一个性能指标是延迟,即请求等待处理的时间。查询处理的总成本也在HF工作中被考虑。总成本是在多个站点处理查询操作符和在站点间通信所花费时间的总和。如果负载增加不降低性能,则应用程序是可扩展的。在综述的工作中,报告了若干关于在OLAP存储库中应用水平分片的实验,以证明提议的可扩展性。此外,使用机器学习性能指标来比较HF方案。在分析的研究中,26篇通过查询响应时间评估水平分片的性能,这仍然是数据仓库、数据湖和数据湖仓环境中的主要指标。该指标捕获应用分片或分区技术后查询效率的提升。相比之下,执行成本在较小子集的研究中使用,通常与响应时间一起,以提供成本效益视角,尤其是在集成到优化器的基于成本的方法中。表7显示了方法考虑的主要性能指标。
**4.4 RQ4. 数据仓库、数据湖和数据湖仓中索引了哪些类型的信息?**
大多数分析的工作侧重于对索引关于业务领域结构化信息的数据仓库进行HF。例如,用于验证的存储库包括业务操作,具体为基准测试APB-1、SSB和TPC-H。此外,Marcus等人开发了NashDB,一种能够根据工作负载调整分片、复制和集群大小的方法。作者使用TPC-H基准测试和一个大公司提供的两个数据集验证了NashDB。关于半结构化和非结构化的HF提议,数据仓库索引了娱乐领域的信息;例如,作者使用IMDB基准测试来验证其优化OLAP查询处理的HF技术。同样,Xu, Gao和Davidson使用YouTube基准测试证明了其策略在实现数据仓库最终一致性方面的优势。数据湖的HF方法也发现了类似模式,因为这些存储库中索引的信息主要来自业务领域的结构化数据以及来自娱乐行业的半结构化和非结构化信息。例如,分片的数据湖包含来自IoT流和用户交互等来源的466个Kafka主题。相反,Shah等人提出了R2D2(Reducing Redundancy and Duplication in Data Lakes),该方案考虑通过时间戳进行数据分区。作者使用以Parquet格式分区和存储的企业数据评估R2D2。IMDB基准测试也用于评估集成数据湖表的方法,其中在Full Disjunction算法中应用分区。用于分片数据湖仓的提议主要索引结构化、半结构化和非结构化信息。Chattopadhyay等人强调了在Meta的湖仓中,近实时数据对交互式分析的可用性是一个相关方面。因此,他们在Metastore中引入了分区状态,以在数据到达时进行注册。作者描述了BigLake的三个特性:(1)BigLake表增强了BigQuery存储和元数据基础设施的组件,以提高数据湖表的性能,(2)BigLake对象表使用人工智能服务和广泛知晓的SQL命令分析非结构化数据,以及(3)Omni,一个多云湖仓。BigLake表支持元数据缓存和大元数据,以列式缓存存储分区信息和文件统计,实现高性能分区和文件剪枝。同样,Merli等人设计了Ursa,其动机源于Kafka在实时数据流方面的高复杂性和高成本。Ursa的性能评估使用OpenMessaging基准测试生成的事件流完成。图11显示了被分片存储库索引的信息类型。
**4.5 RQ5. 作者在分析平台上实现水平分区方法最常使用哪些技术?**
分析分析平台上的不同水平分区方法后发现,最常用的技术是Spark(11篇)、Java(10篇)和Hadoop(9篇),其次是Parquet(9篇)和Python(6篇)。这表明这些技术因其在大数据生态系统中的基础性作用而突出,为分布式数据处理提供了成熟、可扩展且广泛采用的基础设施。Parquet已确立为广泛使用的列式存储格式,通过高效压缩和减少I/O操作等优化分析查询性能。它还允许数据被多个引擎用于各种类型的工作负载,用于自适应、工作负载敏感的分区,使其成为数据湖和数据湖仓架构中的标准选择。图12显示了方法使用的主要技术。
**5. 分析平台上水平分片的趋势与挑战**
对分析平台上水平分片最杰出工作的深入分析后,识别出大规模数据存储库的显著转变,其特征是从依赖模式的传统数据仓库转向整合了事务和分析工作负载的动态、云原生架构。这种技术融合催生了数据湖仓模型,它结合了数据湖的可扩展性与数据仓库的一致性和高查询性能。确定了一些趋势。水平分片已演变为:AI辅助分片、动态工作负载敏感分片、集成到云原生生态系统、事务与分析处理融合(HTAP)、分片生命周期自动化以及成本感知与可持续分片。尽管取得了显著进展,但仍有五个主要挑战需要进一步关注:架构集成、动态成本建模、基准测试与评估、冗余与数据重复。
**局限性**
本节列举了本范围综述的主要局限性:研究局限性、排除的研究背景、关于分片技术的有限技术分析、未考虑一些高质量检索来源以及语言限制。
**6. 结论**
水平分片最大限度地减少了在传统数据仓库、数据湖和数据湖仓等分析平台上OLAP查询的响应时间,这促使各种作者基于不同方法开发HF方法以应对大数据时代的挑战。本综述包括2015年至2025年间发表的科学文章。主要目标是识别作者在开发水平分片方法时遵循的主要方法,并分析其特征。为此,考虑了五个方面审查了分析平台上水平分片方法的当前状态:(1)识别分析平台上水平分片方法中使用的主要技术,(2)这些方法的分类,(3)评估分片方案时考虑的性能指标,(4)方法的应用领域,以及(5)其实现中最常用的技术。结果作为对所提出研究问题的答案呈现。对于数据仓库,确定最常用的验证方法基准测试是TPC-DS和SSB。同样,分片方案的实现主要在PostgreSQL和Oracle中进行,特别强调OLAP查询执行中涉及的延迟成本,特别是查询响应时间。将分析扩展到数据湖和数据湖仓揭示了明显的范式转变。分区已从静态过程演变为动态、工作负载驱动的机制,通常由高级机器学习技术(如隐藏或上下文感知分区)加强。与传统数据仓库不同,这些系统优先考虑适应性、多云存储和读模式架构,从而在异构数据源上实现实时分析性能。数据湖上下文中审查的大多数研究报告了使用Yahoo! Streaming Benchmark、ESP Bench和Table Union Benchmark进行验证,但也使用了广泛测试的基准测试如TPC-DS和TPC-H。在此背景下,性能指标超越了查询时间,纳入了方法有效性、资源效率和系统可扩展性,这与湖仓环境的混合性质一致。水平分片方法发展最多的领域是数据仓库中心方法中的业务;对于数据湖等平台,业务领域知识仍然至关重要,但娱乐、体育和交通等领域增长显著。至于数据湖仓,能源和电信等其他领域正在被研究。此结论基于用于验证方法的基准测试或评估类型。此外,Apache Hive、Amazon S3、Dremio和Digazu等现代框架正在取代传统的DBMS(如Oracle),这证明了向分布式和云原生架构的转变。最后,实现水平分片方法最广泛使用的技术是Hadoop、Java和Spark用于数据仓库,以及Parquet、Spark和Python用于数据湖和数据湖仓。本研究的结果提供了对分析平台水平分片方法的更新,并将作为计算、数据库和大数据领域研究人员的起点。未来工作包括两步:(1)提供指南以选择最符合系统需求和工作负载特征的分片方法,(2)确定分片在数据仓库、数据湖和数据湖仓中的应用如何表现,以提升性能、降低成本并改善可扩展性。