欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

演讲回顾|大数据计算系统的云存储平台

最编程 2024-05-01 14:14:05
...

「2023中国PostgreSQL数据库生态大会」于11月3-5日在北京中国科学院软件所召开。在主论坛,拓数派哥廷根合伙人,简墨系统负责人杨峻峰带来《大数据计算系统的云存储底座》精彩分享。下文将对其进行回顾。



10月24日程序员节,「大模型数据计算系统」2023拓数派年度技术论坛在上海圆满落幕, 拓数派大模型数据计算系统 (PieDataComputingSystem,缩写:πDataCS)如约而至!πDataCS 以云原生技术重构数据存储和计算,一份存储,多引擎数据计算,让 AI 模型更大更快,全面升级大数据系统至大模型时代。作为 πDataCS 的云存储底座,简墨存储系统的目标是 打造满足各种云场景下的高性能计算系统的数据管理和存储底座。
讲师 | 拓数派「简墨」系统负责人, Junfeng Yang
整理 | PieCloudDB 产品社区团队


πDataCS 旨在助力企业优化计算瓶颈,充分利用和发挥数据规模优势,构建核心技术壁垒,更好地赋能业务发展,使得自主可控的大模型数据计算系统保持全球领先,让大模型技术全面赋能各行各业。

计算平台从大型机、PC 机到如今的云平台经历了三代大的变更。云平台代表了目前最大的计算能力、存储能力和水平扩展能力。在 PC 机年代,元数据和用户数据映射在本地硬盘,计算映射在本地 CPU,存储和计算紧密耦合在同一个服务器上。

πDataCS 以云原生技术重构数据存储和计算,先将数据计算系统中的计算和数据分离,增强系统的弹性。接着,考虑到未来数据治理和交易,拓数派把元数据和用户数据再次分离,实现了 全新的 eMPP 架构 。元数据被映射到块存储,由 元数据管理系统「木牍」 进行管理;用户数据被映射到对象存储,由 「简墨」存储系统 来管理;计算被映射到容器或者虚拟机,由 计算系统 来管理。

πDataCS 通过 Data Mesh,升级数据治理,实现数据价值。 πDataCS 深入考虑了全球数据交易和数据治理的要求。数据作为一种新的生产要素,是模型发展的重要燃料。在隐私和安全的前提条件下,数据所有者可以把含数据目录的元数据对其他用户共享,数据经营者通过元数据来访问所有者的用户数据,并根据需要,通过授权来有偿访问所有者的用户数据。数据经营者在访问所有者的数据的时候,需要调用数据加工者提供的数据计算引擎。

πDataCS 的整体架构被分为四层,如下图所示:


数据计算系统 πDataCS 架构


最上层是 πDataCS 所支持的计算引擎。目前 πDataCS 支持以下几种计算引擎:

    ●  PieCloudDB: 作为拓数派首款云原生数仓计算引擎,支持 SQL 语言模型,兼容 HTAP
    ●  PieCloudVector: 为支持和大模型配合的向量计算而建立的云原生向量计算引擎
    ●  PieCloudML: 为支持 Python 和 R 等机器学习语言而建立的云原生机器学习引擎

01.  PieCloudDB:首款云原生数仓计算引擎

作为 πDataCS 的首款计算引擎,PieCloudDB 云原生虚拟数仓全面支持 πDataCS 公有云版、社区版、企业版及一体机多个产品版本,提供公有云、私有云以及裸硬件三种部署方式, 通过数仓虚拟化技术,帮助企业打破数据孤岛,整合所有结构化数据资源,轻松应对强逻辑计算

云原生存算分离架构运用元数据-计算-数据分离的三层架构,实现云上存储资源与计算资源的独立管理。在云上,PieCloudDB 利用 eMPP(elastic Massive Parallel Processing)专利技术,实现多集群并发执行任务。企业可灵活进行扩缩容,随着负载的变化实现高效的伸缩,轻松应对 PB 级海量数据。

02.  PieCloudVector:云原生向量计算引擎

向量数据库是一种专门用于存储、查询和分析向量数据(比如特征向量)的数据库系统。

在对比了 pgvector,pgembedding 的实现和性能之后,我们并没有使用开源的实现,而是 完全独立自研了 PieCloudVector 以使其满足我们用户的使用场景。 PieCloudVector 具备高效存储和检索向量数据、相似性搜索、向量索引、向量聚类和分类、高性能并行计算、强大可扩展性和容错性等功能。


云原生向量计算引擎:PieCloudVector

03.  PieCloudML:云原生机器学习引擎

然而随着人工智能的日益发展,未来越来越多的经济活动将由 AI 来推动。πDataCS 中建立了云原生机器学习引擎 PieCloudML, 通过 PieCloudML 内置的各种 ML、图和大模型的算法 ,数据科学家可通过 python/R 等熟悉的方式,利用数据计算系统来完成各项任务,生成所需的模型。

云原生机器学习引擎:PieCloudML

为了加速大数据处理和计算的性能, πDataCS 中充分依赖新的硬件来进行异步计算,例如 GPU、FPGA 等。 并通过统一的元数据管理层 ——「木牍」,让这三大计算引擎共享一个数据存储底座 ——「简墨」,实现一份数据,多引擎计算。

接下来我们将详细介绍简墨,这款大数据计算系统的云存储底座。

作为 πDataCS 的云存储底座, 简墨存储系统的目标是打造满足各种云场景下的高性能计算系统的数据管理和存储底座。 简墨将基于现代化的硬件和设施,充分使用云的潜力,绝对的数据安全保证,致力于简化大数据处理过程中的数据加载、读取和计算的整个流程,并提供对数据的自适应治理、ACID 的事务支持等功能,保证绝对的数据安全,做到极致的性能优化,以完成各种场景下的数据计算和分析任务。

为了实现这一目标,简墨的进化主要经历三大阶段:

   ● 阶段一:新一代云原生存储
   ● 阶段二:大数据计算系统的云存储底座
   ● 阶段三:统一的大数据计算系统存储引擎

01.  进化阶段一:新一代云原生存储

第一阶段的简墨主要作为云原生虚拟数仓 PieCloudDB 的云原生存储 ,目前研发工作已完成。

简墨基于不同的云环境兼容公有云、私有云和混合云,使用对象存储作为持久化存储层,并充分考虑到了 eMPP(elastic MPP)架构下的数据分布和弹性,使用一致性哈希(hash)来保证分布式环境中的每个节点访问大致相同的数据,即使扩缩容也可以尽可能的减少实现的缓存数量。简墨充分考虑到了数据的安全性,结合云原生虚拟数仓 PieCloudDB 中的透明加密在存储落盘时即完成对数据进行加密。透明加密使用了三级密钥,保证了数据的绝对安全。此外,简墨也针对读写性能进行了大量优化,大大提升了数据加载和查询的效率。

全新的文件格式:janm

「简墨」新一代云原生存储围绕 janm 文件格式打造。janm 文件格式使用了 行列混合存储 设计。行列混合存储让系统在重组数据时,既具备了行存所具有的高效性能,又具备了列存的高压缩比、cache line 友好等优势。同时,jamn 文件格式也能支持向量化(SIMD)计算和并行计算。在设计时,简墨也充分考虑到了内外存的存储表达方式,重新定义了数据在磁盘和内存中的表数据格式,使表中的数据在磁盘上和内存中的数据转换没有额外的开销。

在文件格式内,简墨也会收集文件内数据统计信息来加速查询,支持预计算等性能优化特性。为了加速 I/O,janm 文件格式内置多种压缩算法,例如 zstd、lz 等。针对不同的类型,简墨可以自适应选择不同的编码方式,包括 delta encoding、dictionary encoding 等。

通过块(block)文件级别的 MVCC,使简墨具备完整的事务支持。每个文件块中的数据是否可见,简墨将通过其所在文件的 MVCC 信息,根据当前的事务隔离级别来判断。在 PieCloudDB 中,简墨对访问层进行了深度定制,以确保 PieCloudDB 充分使用简墨中提供的各项优化。

目前, 简墨针对数据的读取与查询进行了大量优化, 实现了包括数据裁剪(Data Skipping)、预计算加速聚集查询、Smart Analyze、TOAST 的支持等众多功能:

    ●  数据裁减: 在查询时,依据查询条件尽可能减少要读取的数据量,以达到节省 I/O,提升查询性能的效果。

    ●  预计算: 对于聚集查询,当简墨收集到每个数据块的聚集数据时,可之间通过使用该数据库的数据来加速数据聚集计算

    ●  Smart Analyze: 通常来说,查询优化器通过对整个表进行 analyze 收集来的表的数据分布信息来生成查询执行计划。对于分析场景来说,当数据量过大时,通过普通 analyze 收集来的表数据分布信息有较大误差,导致产生较差的执行计划。Smart Analyze 通过加载数据时计算每个数据块的分布信息,再通过 merge 算法合并全部数据块的统计信息来生成较为准确的表数据分布信息,其根本思想是在不影响性能的情况下尽可能多的对用户数据进行采样。

    ●  超大字段存储的支持: 简墨对超大字段存储的支持早已实现基本的读写操作。在全新版本中,PieCloudDB JAMN 已进一步优化,全面支持超大字段存储的 UPDATE/DELETE 和 VACUUM 功能。