Tutorial: Adaptive Replication and Partitioning in Data Systems


论文地址

ABSTRACT

        为了满足不断增长的应用需求,分布式数据系统跨多台机器复制和分区数据。复制通过在多台机器上分发数据副本来增加系统的资源和请求处理能力,而分区则跨机器分割数据以实现相同的目标。复制和分区在复制维护和多机协调成本方面存在不同的权衡,系统管理员必须仔细评估。传统上,管理员根据对应用程序工作负载的理解来做出复制和分区决策,如果系统配置错误或工作负载发生变化,则会导致性能不佳。然而,自适应地使用复制和分区的系统可以根据工作负载观察和预测来调整这些决策,从而提高性能并降低管理员的复杂性。在本教程中,我们概述了系统用于自适应分区和复制数据和服务的技术。我们关注这些系统采用的决策策略,以及这些决策在在线环境中的执行方式。最后,我们确定了该领域的研究机会。

1 INTRODUCTION

        在企业和个人需求的驱动下,大数据应用对数据系统的需求不断增加。例如,现在系统每秒从世界各地的客户机接收数十万个请求是很常见的,所有这些客户机都期望快速响应时间。这些严格的要求超过了单机的能力,因此需要数据系统在分布式环境中扩展和运行。
        扩展管理数据的系统主要有两种方法:复制和分区。复制创建数据的副本,并将其分布在一个机器池中。客户端可以访问承载其所需数据的任何节点来执行计算和检索结果,这增加了可用的计算能力,并可能使数据更接近客户端。相反,分区将数据分割到多台机器上,这使得保存请求所需数据的任何机器都可以处理请求,并增加了可用存储量和计算能力。
        尽管数据复制和分区可以提高数据系统的性能,但它们也带来了许多挑战。管理员必须决定要复制哪些数据项,以及这些副本应放置在哪些机器上。类似地,他们必须为数据选择一种分区方案,以最大限度地提高并行性,而不会因为机器之间的过度通信和协调而降低性能。选择这样一种复制和分区方案可能极具挑战性。糟糕的选择会导致低水平的性能,一个工作负载的好选择可能会导致另一个工作负载的差。使这个问题更加复杂的是,分区或复制方案最初可能表现良好,但随后会因工作负载的变化而受到影响。
        由于外部因素(如人类行为)的变化,数据系统应用程序的工作负载会发生变化。例如,流行的数据项会导致系统中的热点并引起争用。这些热点可能会随着时间的推移而变化,因为受欢迎的项目的变化或由于“跟随太阳”周期从地理分布的客户。最后,数据系统可能会受到短期负荷峰值的影响,这是由于需求的短期突发性增长造成的。这些动态工作负载影响使得系统管理员很难为其系统选择一种适用于各种工作负载的单一数据复制或分区策略。
        因此,数据系统越来越多地采用自适应数据复制和分区技术。此类系统在系统运行时修改其分区和复制方案,以确保即使在工作负载发生变化时也具有良好的性能。自适应复制和分区数据的系统会根据工作负载不断决定要复制的数据项以及分区和副本的放置方式。这些系统监控运行的工作量,提取显著特征,预测未来的请求,并使用发现的信息调整数据放置。考虑到管理员手动确定和执行这些操作的人力成本、动态工作负载无处不在的性质以及最小化对工作负载变化的反应时间的愿望,研究和工业界研究和开发真正自主、自适应数据系统的时机已经成熟。
        在数据系统中构建自适应复制和分区从决策和决策执行角度提出了一些挑战。在本教程中,我们调查了最近关于自适应复制和分区数据的系统的工作,重点介绍了这些系统中使用的技术,并强调了它们如何应对这些挑战。我们描述了这些系统的关键特征,并讨论了该领域的研究机会。

2 TUTORIAL OVERVIEW

        本教程的目标读者是具有分布式数据管理基本知识的系统研究人员和实践者。一些关于数据复制和分区的知识很有帮助,但不是必需的。对于该领域的新手,本教程介绍了复制、分区以及自适应应用这些技术的动机。对于具有复制和分区经验的研究人员,本教程提供了在数据系统中提供自适应性的常见方法的更广泛视图,并提供了如何改进当前技术的建议。总的来说,我们希望本教程能够激励中间件和系统社区的同事研究和实现自适应性,将其作为跨各种数据管理领域(包括关系数据库、图形数据管理、流处理和分布式存储系统)的数据系统的核心组件。
        我们介绍了来自各种数据管理领域的复制和分区技术,并强调了每个领域中自适应使用这些技术的一个或两个代表性系统。对于这些系统,我们讨论了用于确定新复制和分区策略的决策控制框架以及每个系统中使用的底层机制。最后,我们讨论了这一领域的趋势,并提出了自适应数据系统的开放研究挑战和机遇。
        本教程分为四个模块:(i)数据复制和分区背后的动机,以及为什么适应性很重要(第1节)(ii)适应性复制(第3.1节)、(iii)适应性分区(第3.2节)、(iv)适应性数据管理系统展望(第4节)。

3 TUTORIAL OUTLINE

3.1 Adaptive Replication

        数据复制通过允许在副本上执行读取操作来提高系统性能。副本可能在物理上靠近客户端,或者可能比数据的主副本负载小,这两种情况都可以减少访问延迟。因此,复制是许多数据管理领域中使用的一种流行方法。一个关键挑战是保持副本与主数据拷贝同步。当请求更新主副本时,它们必须传播并应用于副本。决定应复制哪组数据项、应将副本放置在何处、应传播哪些更新以及何时应用这些更新,是任何复制数据系统的基本设计决策。通过利用自适应复制技术,系统可以根据工作负载动态执行这些决策,从而提高性能并降低系统配置复杂性。
        自适应数据复制(ADR)算法是自适应复制的早期工作之一。ADR根据系统需求和环境制定其成本函数,优化副本的数量、位置以及将哪些更新传播到每个副本。
        在全球范围内,分布式系统必须在全球范围内放置数据副本,以使访问和更新延迟最小化。数据放置是一个具有挑战性的问题,因为客户端可以在全球范围内传播,并且随着创建更多的数据副本,在面临更新时保持数据一致的成本会增加。Sharov及其同事提出了一种用于领导者副本放置的优化公式。GPlacer系统还解决了副本放置问题,但超越了前导放置,将其推广到其他非前导副本协议,如Paxos。
        数据缓存是一种特殊形式的自适应复制,即复制或缓存的内容可以根据访问历史进行调整。预测缓存旨在通过提前将要访问的数据项放置在缓存中,进一步提高基于缓存的系统的性能。Apollo就是这样一个系统的例子,它是一种用于数据库系统的中间件缓存,用于学习数据库查询模式,以预测性地缓存查询结果,从而提高系统性能。
        最后,数据复制通常用于确保高可用性和容错性。在分布式存储系统中,擦除编码通常用于替代复制,因为它可以提供较低的存储开销。然而,这些系统面临许多与复制存储系统相同的设计决策。EC Store是一种自适应擦除编码存储系统,可动态放置和移动数据以减少访问延迟。我们将EC Store中的数据放置决策与C3等复制存储系统中的数据放置决策进行了对比。

3.2 Adaptive Partitioning

        数据分区使系统能够通过在多台机器上分割数据来扩展。传统的分区技术(如哈希或范围分区)会导致数据项数在机器上均匀分布。然而,数据项流行度的偏差可能会导致机器之间的负载不平衡。为了减轻这种影响,系统旨在自适应地重新划分数据,以确保负载平衡,同时保持共同访问的数据项之间的局部性。
        L-Store系统旨在最小化分区数据库系统中执行的分布式事务的数量。L-Store通过在事务执行期间将数据项本地化到单个站点来保证事务在该站点上执行。AdaptCache还专注于本地化处理,对请求和数据进行分区,以便应用服务器可以在大部分时间在其本地缓存中找到处理请求所需的对象。
        随着时间的推移,动态工作负载会改变其对数据系统的需求。因此,弹性系统根据需求动态调整其物理资源。当根据当前工作负载需求在系统中添加或删除机器时,相应地重新划分数据很重要。电子商店系统通过飑系统将重新划分纳入其弹性操作。当E-Store对负载变化做出反应时,P-Store预测负载需求,根据其预测弹性地扩展数据库。
        虽然数据系统经常进行水平分区,即在单个数据项级别上,但数据也可以通过数据项属性进行垂直分区。数据库破解根据谓词查询自动垂直划分数据库。数据库破解突出了数据分区的一个后果:需要对数据访问操作符进行更改,例如,向下推操作垂直分区数据的已破解数据库操作符。
        最后,自适应数据分区应用于许多其他数据管理领域,以提高系统性能。例如,图数据系统旨在对数据项(顶点和边)进行分区,以使执行图遍历操作的机器数量最小化。Hermes使用了一种轻量级的动态分区算法,旨在保持负载平衡,同时最小化边缘切割的数量,从而减少网络I/O。此外,许多系统依赖图分区算法,通过将其数据建模为图来生成分区。在流处理引擎中,可以对数据项进行重新分区,以平衡流引擎中的负载。流媒体系统的自适应分区技术已成为一个新兴的研究领域。

4 OUTLOOK

        当前许多系统使用数据复制和分区来提高系统性能。然而,系统正变得越来越自适应,自动确定分区和复制策略。这些系统通过监视系统和客户端工作负载行为(例如观察到的负载或数据访问模式)进行调整,然后根据这些观察结果做出决策。特别是,系统通过对行为变化作出反应来适应。然而,其中许多系统可以根据对未来系统和客户行为的预测做出决策,例如在P-Store中,从而提高性能。虽然机器学习的进步已应用于参数选择和调整以及数据结构(如索引),但它们尚未广泛应用于分区和复制领域。我们认为,数据系统应该利用工作负载预测方面的进步来做出分区和复制的决策。总而言之,我们向研究界提出了两个问题:“我们应该如何在您的专业领域建模工作负载?”以及“如果您在数据访问和负载方面都有一个准确的工作负载模型,您将如何为其设计复制和分区方案?”。我们期望这些问题将引发人们对未来数据系统设计的兴趣、讨论和辩论。

5 BIOGRAPHICAL SKETCHES

        Brad Glasbergen 是滑铁卢大学的博士生。他的研究兴趣集中于智能数据管理技术。最近,他致力于关系数据库的预测缓存和分布式数据系统中的智能事务路由。过去,他曾在SAP Waterloo的数据库查询引擎团队工作。
        Michael Abebe 是滑铁卢大学的博士生。他对分布式数据管理以及自适应数据系统及其基础设施感兴趣。此前,他曾在Facebook的数据和服务基础设施团队工作。
        Khuzaima Daudjee 是滑铁卢大学切里顿计算机科学学院的教员。他的研究兴趣是设计和构建大规模数据系统。他是《信息系统》和《IEEE知识与数据工程学报》的副主编。他曾是日本国立信息研究所的客座研究科学家和罗马萨皮恩扎大学的客座教授。他是ACM云计算研讨会最佳论文奖的获得者。

ACKNOWLEDGMENTS

        该项目的资金由加拿大自然科学与工程研究委员会和安大略省提供。

REFERENCES

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值