数据查询虚拟化技术探索与实践

文摘   科技   2024-10-29 12:00   北京  

编者荐语:



随着数字化进程加速,算力网络及东数西算战略实施,混合云及多云架构应用将更广泛。但数据分散导致找数据、用数据更难、成本更高。由于数据量激增和种类增多,企业面临数据多样性、分散性、规模和复杂度的挑战,而数据孤岛问题使得大量数据未得到有效利用。为此,本文提出数据查询虚拟化技术,以解决上述难题,供相关研究者参考。


数据查询虚拟化技术探索与实践
亚信科技(中国)有限公司
摘要数据查询虚拟化技术是一种新兴的数据管理技术,它允许企业和组织在不需要移动或复制数据的情况下,实现对数据源的灵活访问和分析。本文将探讨数据查询虚拟化技术的基本概念、创新技术方案、应用场景和未来演进。

引言
企业在数据管理过程中面临数据规模庞大、数据多元、数据孤岛、数据治理复杂、数据获取耗时等诸多挑战。在多数据中心架构下,数据存储架构互不兼容,数据孤岛无法统一访问,数据访问需要跨中心移动成本高,无法一致地管理数据。混合和多云环境下,计算模式存在多种类型,查询引擎独立集群部署模式导致集群存在浪费,集群资源无法共享。

图1:Gartner数据管理技术成熟度曲线

在Gartner数据管理技术成熟度曲线中,数据查询虚拟化技术不断在进步。它是把分散在各个系统中的数据“编织”起来,形成一个统一的逻辑访问层,并对数据进行分析和管理,还为用户提供可视化的数据视图,这样就打破了数据孤岛,用户可以便捷获得数据访问权限,来跨系统查询数据,由此实现将多元异构数据快速交付给数据的消费者。


技术概述

数据查询虚拟化可用于创建数据的虚拟化集成视图,而非执行数据移动并将集成视图物理存储在目标数据结构中,它在数据的物理实现之上提供抽象层,以简化查询逻辑。


数据查询虚拟化可以对接多个数据源,如关系数据库、NoSQL数据库、文件系统、Web服务等。无论什么样结构的数据、数据源都提供数据统一访问,连接数据而非集中数据,应用系统和业务分析人员无需关心数据的位置、数据存储的类型,将数据从多个数据源中抽象出来,降低数据集成成本、提高数据访问速度、支持实时数据分析等,为用户提供一个统一的数据视图。


数据查询虚拟化的核心能力要求如下:


•  统一数据连接:不同数据源统一访问接口,统一SQL查询,支持查询优化等。

•  多源数据访问:通过数据连接来自不同集群,不同组件的结果数据可以关联、合并,统一数据视图。


开源的分布式查询引擎使用Trino组件,提供便利的SQL查询能力,以及跨域查询能力,满足简单场景的使用。但是在实际的生产中,遇到了业务口径复杂、资源无法复用、权限管理无法使用、数据源匹配难度大的功能问题,以及数据跨域传输慢、大规模数据分析异常的性能问题。


为有效解决上述问题,亚信科技技术团队,基于用户实际需求进行创新和自研,解决了开源软件遇到的问题,提供完整的技术组件能力和成熟的解决方案。



创新技术探索

亚信科技数据虚拟化查询技术,从提高资源利用率、增强数据源管理、便捷查询能力、跨域数据安全等方面进行探索,目前已完成7个功能,如下图所示。

图2:数据查询虚拟化技术架构图


(一)提高资源利用率


1. 跨域协同计算

跨数据中心的访问通常意味着跨城、跨域及跨机房,网络的时延和抖动往往影响单集群的稳定,开发实现跨数据域的连接器功能,支撑生产中跨数据域的数据访问和关联计算,支持“DC名称.”的SQL语法,支持远距离跨数据中心的查询能力。


图3:跨域协同计算

用户提交SQL请求,可以包含不同的跨域集群,由中心集群根据域名进行任务下发,并对各域返回数据进行处理,再返回给用户。

2. 跨域算子下推

支持跨域查询后,需要优化执行引擎,调整执行计划,支持关联查询、条件过滤、聚合函数的算子下推等20个算子的下推能力。


图4:跨域算子下推

以聚合函数sum的实现为例,包含词法语法分析、语义分析、逻辑执行计划生成及优化、执行计划分段与调度,过程中根据规则rule进行决定是否算子下推,实现了对该函数的优化。

通过跨域算子下推,提升边缘集群资源利用率,降低中心和边缘集群间数据传输的数据量,整体查询效率倍级提升。


3. 基于Yarn的资源调度

混合和多云环境下,集群资源需要共享。基于Yarn实现部署能力,适配不同JDK版本差异,与现有计算引擎共享集群资源,按需分配及回收,提升集群利用率。


•  资源共享:与现有计算引擎(Mapreduce、Spark、Flink、Hive)共享计算资源,提升资源利用率。

•  多租户:通过Yarn动态安装部署租户计算集群,新集群可秒级拉起,每个租户可以拥有独立集群;可按需分配资源,租户计算集群可按需做资源管理。

•  可扩展:通过On Yarn能力横向扩展租户集群数量,实现整体服务能力的线性增长。

•  高可用:在一个租户集群内部,Coordinator Yarn上自动拉起实现集群高可用。


(二)增强数据源管理


1. 动态加载数据源

剥离Trino的Catalog信息,并存储在分布式文件系统中,集群共享。提供ConnectPlugin服务,完成数据源信息的实时写入;自动同步数据源状态,并触发动态更新加载。只需修改数据源信息,不重启集群,秒级完成数据源的加载,解决集群重启和对业务的影响问题。


2. 支持多种数据源并进行优化

通过一条SQL实现数据跨源查询,无需数据搬迁。统一访问入口及查询语言,无需连接不同的数据库,已支持的数据源列表如下:



适配多种数据源,并持续进行优化,以GBase为例,作为国产MPP数据库的代表,在基于GBase兼容协议的Connect连接器使用时,性能较差,在兼容协议的基础上改造开发实现了查询优化性能,重写SQL查询生成器,深度优化SQL,极大地提升性能(group by、order by、join、union、count、limit等)。


3. 数据虚拟化视图,提供便捷查询能力

构建虚拟化逻辑视图模型,提供虚拟Schema层,支持跨域跨源数据编排,用户访问时无需理解庞大的数据细节,只需访问视图模型,打造统一的虚拟化集成方式。


图5:数据虚拟化视图


虚拟化逻辑视图模型,实现对虚拟化访问的支持,支持逻辑跨源访问模型,业务人员无需掌握 ETL 技能,所有人随时可对全域数据开启自助分析与洞察。


4. 统一的安全管理,增强跨域数据安全

安全管理包括用户、认证、授权三个方面,支持用户身份验证和客户端安全,多数据源间数据操作授权能力,并提供SQL 执行的日志便于业务操作审计。


•  用户管理:基于LDAP实现用户管理,与Hadoop可共用一套LDAP存储用户。

•  认证管理:基于LDAP实现密码认证,支持Kerberos认证。

•  授权管理:基于Ranger实现授权管理,支持DC、Catalog(数据源)、Schema、Table的权限管理,支持多用户授权。


基于上述模块,可以实现跨域用户权限统一管理,数据源敏感信息加密配置等功能,增强跨域数据安全管理。


应用场景

数据查询虚拟化支持的应用场景包括虚拟化数据开发、云边协同计算、多中心资源管控、全局数据治理等。


虚拟化数据开发,将企业数据整合为一个逻辑层,提供统一的数据访问接口,以实现数据的集中管理和统一视图。与物理数仓的区别在于数据不做搬迁不做ETL,在逻辑上进行数据的统一访问及逻辑汇聚,也成为逻辑数据仓库。


云边协同计算,云端统一调度,在边缘侧低时延处理实时数据,应用场景如车路协同、工业互联网、能源互联网、云游戏等。


多资源管控,对多数据中心的硬件资源进行全网统一的资源调配,全网统筹考虑资源的使用效率,能够实现逻辑上的资源统一管理,又能够为客户最大限度节约后期的建设投入。


全局数据治理,数据治理从集中汇聚的云端向边缘端延伸,在边缘侧执行数据质量稽核策略,主动进行数据质量稽核并返回稽核报告。保障全局数据质量。

未来演进和发展

数据查询虚拟化技术的优势在于可以提高资源的利用率、降低管理和维护成本、快速响应业务需求的变化等。同时,它还可以提高数据的安全性和可靠性,避免单点故障和数据丢失的风险。可以预见,该技术有很大的市场发展空间,未来将向以下方向继续演进:

•  增加非结构化数据支持,形成支持多模态数据的统一逻辑数据湖;

•  结构化和非结构化存储的元数据统一,支持统一的权限管理;

•  基于AI Native的深度优化;
•  利用CPU的向量计算能力进行加速。
参考资料

[1] 中国信息通信研究院.数据要素白皮书. 2022

[2] Gartner, Hype Cycle for Data Management, 2023

[3] Paper Presto: SQL on Everything,https://trino.io/paper

[4] 华为的openLooKeng组件介绍,https://openlookeng.io/zh/

[5] 《数据虚拟化技术》 Denodo专版

亚信科技新技术探索
亚信科技的ICT前沿技术观点与行业洞见。展现亚信新技术与产品行业实践成果。
 最新文章