本文重点介绍两大风行开源我的项目 Alluxio 和 Presto 之间的协同作用,并展现如何利用两者实现跨云自助服务数据架构。
作者介绍
范斌 Alluxio VP Open Source and Founding Member
Adit Madan Alluxio Senior Product Manager
Jasmine Wang Alluxio Community Manager
什么样的架构可能称之领有自助服务能力?
咱们先来探讨一个问题,满足什么条件,这个架构能力称得上是自助服务。
条件 1:随着数据平台的更新换代,架构无需批改
所有的数据平台都会随着工夫的推移而演进,包含减少新的数据存储、计算引擎,或者有新的团队须要访问共享数据。无论哪种状况,如果这些变动而不须要对现有架构进行批改,则这样的平台是可能自助服务。
条件 2:跨团队的数据隔离
有了自助服务平台,业务部门之间不会相互烦扰。当有新团队退出时,数据能够共享,新增的数据拜访不会影响原有平台的应用。
如果能满足上述两个条件,也就实现了敏捷性。在设计架构的时候,思考是否实现自助式服务比思考物理架构的老本更重要。
设计数据平台的思考因素
上面,咱们将介绍设计自助服务平台时的局部思考因素,以及简化的架构模式和解决方案。
考量 1:数据是共享的
在不同的计算框架之间共享数据
- 企业在数据平台中会应用各类计算引擎,每个引擎都实现某个特定的工作,例如,先进行 ETL 批处理,而后用 Presto 进行交互式查问。这就象征数据要在不同引擎、不同的团队之间共享
- 例如,一个团队负责收集业务数据,数据共享给多个业务部门应用,跨区域的数据中心以及跨云厂商共享数据
- 这样能够灵便地抉择最优的存储环境和云服务
如何在解决数据共享问题,咱们提出一个形象层的概念,利用形象层实现跨跨环境的异构计算。Alluxio 正是提供了这样的跨云形象层,无论数据存储在哪里,都能让 Presto 和其余计算引擎之间实现无缝数据共享。
考量 2:数据领有所属的业务畛域,最简略的形式是留在原地解决
- 尽管拷贝能实现数据隔离,但当数据拜访策略非常严格时,须要对数据生产者对数据的应用须要严格控制,整个数据治理会变得非常复杂。
- 数据拷贝导致存储空间冗余,容易出错,占用很多的资源。
拷贝数据显然不是现实的解决方案,但如何在不挪动数据的状况下对异构的数据拜访实现高性能?这就须要通过形象层来解决数据治理、性能和跨业务挪动数据的问题。
上面的架构展现 Presto 如何利用 Alluxio 作为形象层来拜访位于不同存储环境的数据。
个别会遇到这两种状况:
- 全副数据都在单云或单个数据中心中
- 数据在多个数据中心或混合云中共享
不论哪种状况,Alluxio 都能作为形象层来实现数据使用者和生产者的隔离。形象层并非仅仅用作缓存,当时的预加载和写入能力能够确保即便是在数据与计算拆散的状况下, SLA 也能保持一致。
论断
Alluxio 为 Presto 赋能了自助服务的能力,通过 Alluxio 可实现跨云的自助服务数据架构,整个架构可能更好地适应数据平台的演进。如果想要理解更多信息,可查看白皮书《Alluxio+Presto 概述——交互式查问的架构演变》,理解 Facebook、TikTok、Electronic Arts、沃尔玛、腾讯、Comcast 等公司如何利用 Alluxio 优化 Presto 平台。