简墨的进化之路:打造大模型数据计算系统的云存储底座

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

1 πDataCS:一份数据存储,多引擎数据计算

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

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

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

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

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

image.png

数据计算系统 πDataCS 架构

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

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

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

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

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

1.2 PieCloudVector:云原生向量计算引擎

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

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

image.png

云原生向量计算引擎:PieCloudVector

1.3 PieCloudML:云原生机器学习引擎

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

image.png

云原生机器学习引擎:PieCloudML

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

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

2 简墨:大数据计算系统的云存储底座

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

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

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

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

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

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

2.1.1 全新的文件格式: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 功能。

随着这一阶段的完成,结合 πDataCS 的需求,研发团队对简墨进行了第二阶段的设计和实现,目标是将简墨成为大数据计算系统的云存储底座。

2.2 进化阶段二:大数据计算系统的云存储底座

在这一阶段,简墨将作为 πDataCS 的云存储底座,目标是能够真正做到「一份数据,多引擎计算」,相应的研发工作正在进行中。

为实现这一目标,简墨计划实现以下特性:

  • 更多文件格式的支持
  • 数据互通
  • 更高效的外部数据提取和加载
  • 流式数据处理
  • 高性能的 ACID 事务处理
  • 自适应数据管理
  • CDC 场景的支持
  • 更多云原生的 Index 支持

下图详细绘制了简墨表格式(JANM Table Format)的所有层级,其中每个层级都依赖于其下面一层,并从中汲取所需的能力,用户将数据以对应的文件格式存储在极具扩展性的云存储中来为上层计算提供数据。

image.png

简墨:大数据计算系统的云存储底座
2.2.1 存储访问抽象(Storage Access Abstract)层

最底层的是简墨的存储访问抽象层,简墨利用抽象 API 与任何类型的存储进行交互,包括云对象存储(例如 S3)、HDFS 等。通过这种方式,简墨确保了所有存储引擎的兼容性。此外,简墨对文件系统进行了包装,以进一步优化存储功能,例如提供监控和各种读写策略等。

2.2.2 数据文件格式抽象(File Format Abstract)层

简墨会在这一层支持多种文件格式,并具备统一的访问接口来简化对数据的访问操作,从而让用户的数据可自由的选择不同的文件格式来存储,用户数据。同时,在更高的层面上,简墨独特的文件布局方案涉及将对每个文件的所有更改进行记录,这使简墨能够创建一个独立的 redo 日志,可用于实现更多丰富的功能。

2.2.3 表格式(Table Format)的核心层

表格式的核心层提供各项特性的功能封装和实现。核心层包括以下5个子系统:

image.png

表格式的核心层
  • 表的事务引擎(Table Transaction Engine)

核心层包含有表的事务引擎,实现了文件级别 MVCC,支持根据隔离级别进行数据库的可见性判断,保证一定的并发控制。对于事物保证,简墨的基本思路是日志即数据,该数据指的是事务可见性信息。

  • 索引(Index)

索引可帮助数据库规划更好的查询,减少 I/O 总量并提供更快的响应时间。有关文件列表和列的索引信息在 OLAP(分析型)场景下,足以让 OLAP 引擎快速生成高效的查询计划。目前 janm 中支持数据裁剪(Data Skipping)所需的索引,未来我们将持续探索更多的索引实现,甚至是行级索引。

  • 表数据的自适应管理(Table Management)

简墨所支持的表数据的自适应管理功能,主要包含:

➢ VACCUM:数据清理,回收操作留下的垃圾空间
➢ Smart Analyze:数据分布信息采样
➢ Compaction:将小文件进行合并,提升 I/O 效率
➢ Cluster:将相近的数据尽可能聚集在相同文件,以提升数据裁减的效率,提升查询速度
➢ Sort:根据指定的字段或条件对数据排序

  • 表格式的相关操作和控制的封装

在这一层,简墨会支持对表的组成和布局控制,支持表文件的遍历,和表数据大小的统计等功能的封装。在对象存储中,对文件进行 list 是开销很大的操作,简墨通过表格式层提供的功能来进行快速的文件遍历和数据大小统计。

2.2.4 可扩展的编程接口

针对上层接口,简墨提供了统一的 API 与外部服务交互,方便第三方应用的接入。简墨支持扩展服务的不同实现,而无需额外的应用开发,节省用户成本工作量。提供数据访问的入口,提供了表的访问服务,基于快照的操作,以及包括 Time Travel 在内的丰富功能。

image.png

统一的 API 层

针对表的应用服务,简墨提供了无状态数据管理的应用,可注册到任意服务中,从而实现自适应数据管理。

在第二阶段完成后,拓数派「简墨」计划拥抱开源,实现数据在不同服务之间的真正互通,全面支持包括 Spark,Clickhouse 在内的众多服务,实现一份数据,多引擎计算。

2.3 进化阶段三:统一的大数据计算系统存储引擎(展望)

未来,在演进的第三阶段,简墨期待打造成为一款统一的大数据计算系统存储引擎。打造统一的访问协议,将表格式、数据湖、表引擎等统一到协议下,简化用户的访问操作。希望大家能持续关注简墨的进展!

image.png

构建统一的数据访问协议

最新双二维码社群与pdb公众号.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/179548.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

私有化敏感词检测API服务wordscheck

之前有网友在找敏感词检测的应用,这个应该能满足他的需求; 什么是 wordscheck ? wordscheck 是敏感词检测 API,提供文本识别、智能鉴黄、涉政检测、谩骂等等敏感词检测过滤服务。 简介 敏感词库从大量样本库整理出来,…

Java 编码

编码: 加密: 通过加密算法和密钥进行 也可通过码表进行加密 对称加密: 缺点:可被截获 元数据---加密算法密钥密文 ----> 解密算法密钥元数据 算法:DES(短 56位),AES(长 128位)破解时间加长 非对称加密: 元数据-加密算法加密密钥 密文 --->加密算法解密密钥元数据 …

1.Qt5.15及其以上的下载

Qt5.15及其以上的下载 简介: ​ Qt是一个跨平台的C库,允许开发人员创建在不同操作系统(如Windows、macOS、Linux/Unix)和设备上具有本地外观和感觉的应用程序。Qt提供了一套工具和库,用于构建图形用户界面&#xff0…

CNVD-2023-12632:泛微E-cology9 browserjsp SQL注入漏洞复现 [附POC]

文章目录 泛微E-cology9 browserjsp SQL注入漏洞(CNVD-2023-12632)漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 泛微E-cology9 browserjsp SQL注入漏洞(CNVD-2023-12632)漏洞复现 [附POC] 0x…

JavaEE 多线程01

为什么引入多线程? 首先进程已经能很好的完成多任务这个情景下的并发编程了,那为什么又引入多线程呢? 这是因为在一些情景下,我么需要大量的创建和销毁进程来完成一些任务,此时多进程对系统的开销就会很大了. 假设有这样一个场景,服务器同时接收到很多个服务请求,这个时候服务…

数据挖掘 K近邻

什么时候用K近邻? 交叉验证的时候。最常见的交叉验证方法是K折交叉验证,其中数据集被均匀分成K个子集,称为折,然后执行K次训练和测试,每次选择不同的折作为测试集,其余的作为训练集。最后,将K次…

windows11快速输入时间和日期

windows11快速输入时间和日期 〇、赶时间的看这里 任务栏微软输入法图标右键 | 设置 | 词库和自学习 | 用户自定义短语 |添加或编辑自定义短语| 添加日期设置 %yyyy%-%MM%-%dd%时间设置 %yyyy%-%MM%-%dd% %HH%:%mm%:%ss%-------------------------------------------------…

ROS1创建自定义服务并使用

1.首先在功能包创建一个srv文件夹 如上图所示,vehicle_control是我的功能包,创建一个srv文件夹 2.使用touch指令创建服务文件 touch Ranging.srv3.在文件内输入服务数据 横线代表分割符,上面的是客户端发送的数据,下面是服务器…

【开源】基于Vue.js的民宿预定管理系统

项目编号: S 058 ,文末获取源码。 \color{red}{项目编号:S058,文末获取源码。} 项目编号:S058,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色…

NX二次开发UF_CAM_set_clear_plane_data 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_set_clear_plane_data Defined in: uf_cam_planes.h int UF_CAM_set_clear_plane_data(tag_t object_tag, double origin [ 3 ] , double normal [ 3 ] ) overview 概述 De…

Altium Designer学习笔记9

忽视了一个最大的问题,就是元器件的封装,不应该是根据AD系统的封装走,而应该是根据立创商城上的规格书,确认每个封装的大小,画出封装图,然后才是布局和走线。 1、确认电容的封装采用0805,贴片电…

360:流氓or保家卫国的勇士?

你曾用过360吗,这个在国内名声不好的杀毒软件,却是令国外黑客闻风丧胆的存在。 首先,在电脑病毒刚兴起的年代,杀毒软件是要收费的,当时盛行的瑞星和金山就是采用的付费模式,而就在2006年,奇虎…

C++三大特性——继承

目录 一.继承的概念及定义 1.1继承的概念 1.2 继承定义 1.2.1定义格式 1.2.2继承关系和访问限定符​编辑 1.2.3继承基类成员访问方式的变化 二.基类和派生类对象赋值转换 三.继承中的作用域 四.派生类的默认成员函数 五.继承与友元 六.继承与静态成员 一.继承的概念及…

计算机网络之数据链路层

一、概述 1.1概述 物理层发出去的信号需要通过数据链路层才知道是否到达目的地;才知道比特流的分界线 链路(Link):从一个结点到相邻结点的一段物理线路,中间没有任何其他交换结点数据链路(Data Link):把实现通信协议的硬件和软件…

SpringBoot集成七牛云OSS详细介绍

📑前言 本文主要SpringBoot集成七牛云OSS详细介绍的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句&a…

电脑序列号查询

电脑序列号是厂商给每台电脑分配的一个产品识别码,也称为S/N(Serial Number)。主要用来查询电脑的出厂日期、保修状态、生产产地、产品配置等信息。电脑序列号查询有以下几种方法: 1、电脑机箱外壳; 2、系统信息/命令…

TransFusionNet:JetsonTX2下肝肿瘤和血管分割的语义和空间特征融合框架

TransFusionNet: Semantic and Spatial Features Fusion Framework for Liver Tumor and Vessel Segmentation Under JetsonTX2 TransFusionNet:JetsonTX2下肝肿瘤和血管分割的语义和空间特征融合框架背景贡献实验方法Transformer-Based Semantic Feature Extractio…

基于Haclon的Blob分析

任务要求: 请用BLOB分析的方法计算图中所有灰度值在120和255之间的像素构成的8连通区域的面积与中心点坐标。 Blob基础: 分析过程:首先获取图像,然后根据特征对原始图像进行阈值分割(区分背景像素和前景像素&#xf…

allegro画封装时使用坐标指令无效

使用坐标指令时显示:“Pick is outside the extent of the drawing…pick again” 这是因为你放的引脚已经超出你这个绘制界面的定义尺寸,需要到Setup->Design pararmeters…里面去将图幅改大一点,如下图所示: 然后点击Design…

office 365企业版安装教程

1.下载所需工具(防火墙和防毒软件记得关闭) 下载链接:所需文件 2.安装激活office 1.安装 office tool plus 2.已安装过office 先进行office的移除,再进行未安装office的步骤进行 3.未安装过office 1.设置部署 按照以下来进行安…