当前位置:网站首页>Alluxio为Presto赋能跨云的自助服务能力
Alluxio为Presto赋能跨云的自助服务能力
2022-08-02 05:08:00 【Alluxio 官方】
本文重点介绍两大流行开源项目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平台。
边栏推荐
猜你喜欢
非关系型数据库MongoDB的特点及安装
mysql实现按照自定义(指定顺序)排序
MySQL 5.7详细下载安装配置教程
关于web应用的目录结构
What do interview test engineers usually ask?The test supervisor tells you
区块元素、内联元素(<div>元素、span元素)
MySQL String Concatenation - Various String Concatenation Practical Cases
Android studio连接MySQL并完成简单的登录注册功能
ERROR 1045 (28000) Access denied for user 'root'@'localhost'Solution
[PSQL] window function, GROUPING operator
随机推荐
公司不重视软件测试,新来的阿里P8给我们撰写了测试用例编写规范
el-input can only input integers (including positive numbers, negative numbers, 0) or only integers (including positive numbers, negative numbers, 0) and decimals
Google Chrome(谷歌浏览器)安装使用
Go language study notes - grpc serverclient protobuf Go language from scratch
Use the browser's local storage to realize the function of remembering the user name
Google 安装印象笔记剪藏插件
swinIR论文阅读笔记
interrupt()、interrupted()和isInterrupted()你真的懂了吗
How much does a test environment cost? Start with cost and efficiency
The Go language learning notes - dealing with timeout - use the language from scratch from Context
MySQL implements sorting according to custom (specified order)
H5 access payment process - WeChat payment & Alipay payment
Mysql子查询关键字的使用(exists)
JUC(二)原子类:CAS、乐观锁、Unsafe和原子类
classSR论文阅读笔记
非关系型数据库MongoDB的特点及安装
18 years of programmer career, read more than 200 programming books, pick out some essence to share with you
服务器的单机防御与集群防御
navicat无法连接mysql超详细处理方法
[C language] LeetCode26. Delete duplicates in an ordered array && LeetCode88. Merge two ordered arrays