随着数字化进程加速,算力网络及东数西算战略实施,混合云及多云架构应用将更广泛。但数据分散导致找数据、用数据更难、成本更高。由于数据量激增和种类增多,企业面临数据多样性、分散性、规模和复杂度的挑战,而数据孤岛问题使得大量数据未得到有效利用。为此,本文提出数据查询虚拟化技术,以解决上述难题,供相关研究者参考。
在Gartner数据管理技术成熟度曲线中,数据查询虚拟化技术不断在进步。它是把分散在各个系统中的数据“编织”起来,形成一个统一的逻辑访问层,并对数据进行分析和管理,还为用户提供可视化的数据视图,这样就打破了数据孤岛,用户可以便捷获得数据访问权限,来跨系统查询数据,由此实现将多元异构数据快速交付给数据的消费者。
数据查询虚拟化可用于创建数据的虚拟化集成视图,而非执行数据移动并将集成视图物理存储在目标数据结构中,它在数据的物理实现之上提供抽象层,以简化查询逻辑。
数据查询虚拟化可以对接多个数据源,如关系数据库、NoSQL数据库、文件系统、Web服务等。无论什么样结构的数据、数据源都提供数据统一访问,连接数据而非集中数据,应用系统和业务分析人员无需关心数据的位置、数据存储的类型,将数据从多个数据源中抽象出来,降低数据集成成本、提高数据访问速度、支持实时数据分析等,为用户提供一个统一的数据视图。
数据查询虚拟化的核心能力要求如下:
• 统一数据连接:不同数据源统一访问接口,统一SQL查询,支持查询优化等。
• 多源数据访问:通过数据连接来自不同集群,不同组件的结果数据可以关联、合并,统一数据视图。
开源的分布式查询引擎使用Trino组件,提供便利的SQL查询能力,以及跨域查询能力,满足简单场景的使用。但是在实际的生产中,遇到了业务口径复杂、资源无法复用、权限管理无法使用、数据源匹配难度大的功能问题,以及数据跨域传输慢、大规模数据分析异常的性能问题。
为有效解决上述问题,亚信科技技术团队,基于用户实际需求进行创新和自研,解决了开源软件遇到的问题,提供完整的技术组件能力和成熟的解决方案。
亚信科技数据虚拟化查询技术,从提高资源利用率、增强数据源管理、便捷查询能力、跨域数据安全等方面进行探索,目前已完成7个功能,如下图所示。
图2:数据查询虚拟化技术架构图
跨数据中心的访问通常意味着跨城、跨域及跨机房,网络的时延和抖动往往影响单集群的稳定,开发实现跨数据域的连接器功能,支撑生产中跨数据域的数据访问和关联计算,支持“DC名称.”的SQL语法,支持远距离跨数据中心的查询能力。
图3:跨域协同计算
支持跨域查询后,需要优化执行引擎,调整执行计划,支持关联查询、条件过滤、聚合函数的算子下推等20个算子的下推能力。
图4:跨域算子下推
混合和多云环境下,集群资源需要共享。基于Yarn实现部署能力,适配不同JDK版本差异,与现有计算引擎共享集群资源,按需分配及回收,提升集群利用率。
• 资源共享:与现有计算引擎(Mapreduce、Spark、Flink、Hive)共享计算资源,提升资源利用率。
• 多租户:通过Yarn动态安装部署租户计算集群,新集群可秒级拉起,每个租户可以拥有独立集群;可按需分配资源,租户计算集群可按需做资源管理。
• 可扩展:通过On Yarn能力横向扩展租户集群数量,实现整体服务能力的线性增长。
• 高可用:在一个租户集群内部,Coordinator Yarn上自动拉起实现集群高可用。
剥离Trino的Catalog信息,并存储在分布式文件系统中,集群共享。提供ConnectPlugin服务,完成数据源信息的实时写入;自动同步数据源状态,并触发动态更新加载。只需修改数据源信息,不重启集群,秒级完成数据源的加载,解决集群重启和对业务的影响问题。
通过一条SQL实现数据跨源查询,无需数据搬迁。统一访问入口及查询语言,无需连接不同的数据库,已支持的数据源列表如下:
构建虚拟化逻辑视图模型,提供虚拟Schema层,支持跨域跨源数据编排,用户访问时无需理解庞大的数据细节,只需访问视图模型,打造统一的虚拟化集成方式。
图5:数据虚拟化视图
虚拟化逻辑视图模型,实现对虚拟化访问的支持,支持逻辑跨源访问模型,业务人员无需掌握 ETL 技能,所有人随时可对全域数据开启自助分析与洞察。
安全管理包括用户、认证、授权三个方面,支持用户身份验证和客户端安全,多数据源间数据操作授权能力,并提供SQL 执行的日志便于业务操作审计。
• 用户管理:基于LDAP实现用户管理,与Hadoop可共用一套LDAP存储用户。
• 认证管理:基于LDAP实现密码认证,支持Kerberos认证。
• 授权管理:基于Ranger实现授权管理,支持DC、Catalog(数据源)、Schema、Table的权限管理,支持多用户授权。
基于上述模块,可以实现跨域用户权限统一管理,数据源敏感信息加密配置等功能,增强跨域数据安全管理。
数据查询虚拟化支持的应用场景包括虚拟化数据开发、云边协同计算、多中心资源管控、全局数据治理等。
数据查询虚拟化技术的优势在于可以提高资源的利用率、降低管理和维护成本、快速响应业务需求的变化等。同时,它还可以提高数据的安全性和可靠性,避免单点故障和数据丢失的风险。可以预见,该技术有很大的市场发展空间,未来将向以下方向继续演进:
[1] 中国信息通信研究院.数据要素白皮书. 2022