簡墨的進化之路:打造大模型數據計算系統的云存儲底座

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162548.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162548.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162548.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

論文淺嘗 | 用于文檔級事件關系抽取的稀疏事件表示的判別推理

筆記整理:鄒銘輝,天津大學碩士,研究方向為自然語言處理 鏈接:https://aclanthology.org/2023.acl-long.897 動機 文檔級事件關系抽取(Document-level Event-Event Relation Extraction,簡稱DERE&#xff09…

vite配置proxy代理

如下代碼: "/cygl/api/cyfx" 和 "/cygl/api" 兩個代理配置。 如果將"/cygl/api/cyfx"放到"/cygl/api"的下邊,那么"/cygl/api/cyfx"代理將會失效。 因為他們的前置路徑一樣。會先行匹配掉/cygl/api 在…

【TypeScrpt算法】算法的復雜度分析

算法的復雜度分析 什么是算法復雜度? 不同的算法,其實效率是不一樣的 讓我舉一個案例來比較兩種不同的算法在查找數組中給定元素的時間復雜度 [1,2,3,4,5,6,7,...9999,n] 順序查找 這種方法從頭到尾遍歷整個數組,依次比較每個元素和給定元…

SAP-查看業務變更記錄

一、通過事務碼查詢修改記錄 1、輸入TCODE:AUT10,輸入時間和事務處理代碼,全部搜索輸入*。 2、點擊刷新,對已輸入的條件進行重置。 3、在左側下菜單,選擇要查詢的事務記錄,雙擊,會帶入“事務處…

【nlp】3.2 Transformer論文復現:1. 輸入部分(文本嵌入層和位置編碼器)

Transformer論文復現:輸入部分(文本嵌入層和位置編碼器) 1 輸入復現1.1 文本嵌入層1.1.1 文本嵌入層的作用1.1.2 文本嵌入層的代碼實現1.1.3 文本嵌入層中的注意事項1.2 位置編碼器1.2.1 位置編碼器的作用1.2.2 位置編碼器的代碼實現1.2.3 位置編碼器中的注意事項1 輸入復現…

探索結構體的奧秘

目錄 🍂結構體 1,結構體的聲明 1.1 結構的基礎知識 1.2 結構的聲明 1.3 特殊的聲明 1.4 結構的自引用 1.5 結構體變量的定義和初始化 1.6 結構體內存對齊 1.6.1 如何計算 1.6.2 為什么存在內存對齊 1.7 修改默認對齊數 1.8 結構體傳參 2&am…

3.7寸墨水屏藍牙卡證

超薄機身,厚度不足一厘米,輕松佩戴無負重感。 無需基站,服務器,手機APP直接更新~ 獨創快速掃描技術,智能感應標簽 超長待機,超低功耗,Type C接口充電,一次充電可續航一年&#xf…

極智開發 | 隨機初始化onnx模型權重的方法

歡迎關注我的公眾號 [極智視界],獲取我的更多經驗分享 大家好,我是極智視界,本文分享一下 隨機初始化onnx模型權重的方法。 邀您加入我的知識星球「極智視界」,星球內有超多好玩的項目實戰源碼和資源下載,鏈接:https://t.zsxq.com/0aiNxERDq onnx 模型一直是在算法部署中…

增量有余、后勁不足,星途汽車10月份銷量環比下降3.9%

撰稿|行星 來源|貝多財經 近日,奇瑞集團發布了10月銷量月報。報告顯示,奇瑞集團于2023年10月銷售汽車20.03萬輛,同比增長50.8%,單月銷量首次突破20萬輛;2023年前10個月的累計銷量為145.36輛,同比增長41.6…

C語言運算符詳解

詳細介紹了C語言表達式、算術運算符、賦值運算符、關系運算符、條件結構、邏輯運算符、位運算符的語法和使用方法,并討論了運算符的優先級。 1、表達式與算術運算符 在C語言中,表達式是一個類似數學中的算式,表達式由變量、字面值、常量、運…

【坑】JDK21虛擬線程不支持run方法

【坑】JDK21虛擬線程不支持run方法 run // do nothing java.lang.VirtualThread Overridepublic void start() {start(ThreadContainers.root());}Overridepublic void run() {// do nothing}

vue的模板編譯

Vue如何進行模板編譯 Vue 模板編譯是 Vue.js 在運行時將模板字符串轉換為渲染函數的過程。Vue 模板編譯分為兩個主要步驟: 模板解析: Vue 編譯器將模板字符串解析成一個抽象語法樹(AST,Abstract Syntax Tree)。AST 是…

2023年,人工智能在醫療行業領域的應用場景

本期行業洞察將帶領大家了解人工智能在醫療行業領域的應用,主要了解在患者治療和運營中的應用、人工智能作為預防工具以及大型醫院目前如何使用人工智能。未來的智慧醫療時代已經悄然到來。 人工智能在患者治療和機構運營中的應用 人工智能有望徹底改變醫療護理的…

csapp archlab part 1

part A [rootedb3963640a6 misc]#./yas sum.ys [rootedb3963640a6 misc]# ./yis sum.yo./yas 和 ./yis 是匯編語言編譯器和模擬器的命令行工具。 ./yas 是一個匯編語言編譯器,它將匯編語言代碼轉換為可執行的二進制文件。./yas sum.ys 將sum.ys文件編譯成了sum.yo可…

Mysql 中如何導入數據?

文章目錄 前言使用 LOAD DATA 導入數據使用 mysqlimport 導入數據mysqlimport的常用選項介紹后言 前言 hello world歡迎來到前端的新世界 😜當前文章系列專欄:Mysql 🐱?👓博主在前端領域還有很多知識和技術需要掌握,正…

計算機畢業設計項目選題推薦(免費領源碼)Java+ssm+MYSQL酒店大數據資源管理系統的設計與實現02029

摘要 信息化社會內需要與之針對性的信息獲取途徑,但是途徑的擴展基本上為人們所努力的方向,由于站在的角度存在偏差,人們經常能夠獲得不同類型信息,這也是技術最為難以攻克的課題。針對酒店大數據資源管理系統等問題,對…

發揮云計算潛力:Amazon Lightsail 與 Amazon EC2 的綜述

文章作者:Libai 歡迎來到云計算世界,這里有無數的機會和無限的應用程序增長。 在當今的數字時代,企業可能會發現管理基礎架構和擴展應用程序具有挑戰性。 傳統的本地解決方案需要大量的硬件、軟件和維護前期投資。 要滿足不斷增長的需求&…

3D Slicer使用與體繪制

3D Slicer默認不進行體繪制,右上角的三維重建窗口只顯示一個空的立方體框。要進行體繪制,先切換到體繪制設置窗口: 在體繪制設置窗口中,選擇進行體繪制的DICOM序列,然后將體繪制開關打開(眼睛標志&#xff…

如何快速查找日志?

快速查找日志 在報障處理中&#xff0c;經常會有查日志的情況&#xff0c;快速查找日志&#xff0c;就能快速發現問題。 以下提供我常用的二種查找方式&#xff1a;關鍵詞查找和時間查找。 1.關鍵詞 cat <fileName> | grep 關鍵詞2.按時間順序切割日志文件 sed -n /2023…

Omniverse合成數據生成【城市交通場景】

智慧城市是城市生活的未來。 然而&#xff0c;它們可能給城市規劃者帶來各種挑戰&#xff0c;尤其是在交通領域。 為了取得成功&#xff0c;城市的各個方面—從環境和基礎設施到商業和教育—必須在功能上整合。 這可能很困難&#xff0c;因為單獨管理交通流量是一個復雜的問題…