您的位置:首頁 >熱點 >

Curve加入PolarDB開源數(shù)據(jù)庫社區(qū),強化分布式共享存儲

2022-03-04 10:16:09    來源:壹點網(wǎng)

Curve社區(qū)簽署阿里巴巴開源CLA(Contribution License Agreement, 貢獻(xiàn)許可協(xié)議), 正式與阿里云PolarDB 開源數(shù)據(jù)庫社區(qū)牽手,成為繼 CurveFS 發(fā)布之后,Curve 開源項目發(fā)展的又一里程碑。

在3月2日的開源 PolarDB 企業(yè)級架構(gòu)發(fā)布會上,阿里云對 PolarDB for PostgreSQL 的存儲計算分離等架構(gòu)設(shè)計進(jìn)行了全面解讀,作為 PolarDB 技術(shù)合作伙伴,Curve 為 PolarDB for PostgreSQL 提供分布式共享存儲,其強大的性能表現(xiàn)引發(fā)了社區(qū)的注意。

這也表明,作為網(wǎng)易數(shù)帆自研開源的第二款基礎(chǔ)軟件產(chǎn)品,Curve 正朝著高性能、易運維、全場景支持的云原生軟件定義存儲系統(tǒng)這一目標(biāo)穩(wěn)步演進(jìn)。

打造性能最強開源分布式共享存儲

作為一款云原生分布式數(shù)據(jù)庫產(chǎn)品,PolarDB for PostgreSQL 采用基于共享存儲(Shared-Storage)的存算分離架構(gòu),以大幅提升資源利用率與性能,實現(xiàn)快速彈性應(yīng)對突發(fā)業(yè)務(wù)負(fù)載的場景。數(shù)據(jù)存于“遠(yuǎn)端存儲”的Shared-Storage 共享方式,利于彈性的同時,也帶來了網(wǎng)絡(luò)和共享存儲的挑戰(zhàn),因而必須突破 I/O 限制以確保業(yè)務(wù)所需的性能。

在 On-Premise(本地部署)環(huán)境下,開源存儲是首選,然而能滿足數(shù)據(jù)庫性能需求的開源存儲并不多。“我們嘗試過多款(開源存儲)軟件作為分布式共享存儲,Curve 的測試結(jié)果讓我們眼前一亮。”PolarDB for PostgreSQL 研發(fā)負(fù)責(zé)人明虛表示。

Curve 當(dāng)前由 CurveBS 和 CurveFS 兩個子項目構(gòu)成,分別提供塊存儲和文件存儲兩種能力。用做共享存儲的正是 CurveBS,開源之初 CurveBS 就提供了遠(yuǎn)優(yōu)于某主流開源分布式塊存儲的性能,經(jīng)過社區(qū)一年多的的迭代,CurveBS性能和穩(wěn)定性愈發(fā)成熟。

在 Curve 社區(qū)和 PolarDB 社區(qū)針對 PolarDB for PostgreSQL 場景的聯(lián)合測試中,無論 benchmarkSQL 還是pgbench,Curve 再次全面領(lǐng)先于該開源分布式塊存儲。同等硬件配置及數(shù)據(jù)庫負(fù)載壓力下,benchmarkSQL 測試中 Curve tpmC (每分鐘事務(wù)數(shù))領(lǐng)先高達(dá) 39%,pgbench 測試中 Curve 延遲降低多達(dá) 21%,TPS 領(lǐng)先高達(dá) 26%。

Curve 的高性能得益于其采用了 chunkfilepool、條帶化設(shè)計、Raft 等先進(jìn)的技術(shù)架構(gòu)。chunkfilepool支持集群初始化時創(chuàng)建指定大小的文件,降低 I/O 過程中文件元數(shù)據(jù)更新的開銷,從而降低 I/O 延遲。條帶化設(shè)計則支持在 Curve 客戶端進(jìn)行分片,以提高 I/O 的并發(fā)度和打散度,讓更多節(jié)點參與 I/O 處理,提升 I/O 帶寬。而Raft一致性實現(xiàn)相對前述開源存儲系統(tǒng)的強一致性來說,也縮短了長尾效應(yīng),因而縮短了 I/O 時延。

此外,Curve 通過支持 PFS(PolarDB的分布式文件系統(tǒng)),使得云原生數(shù)據(jù)庫更容易使用 Curve 分布式存儲,并獲取更好的性能。

未來,Curve 社區(qū)還將從 braft 的 multi raft 改進(jìn)、大 I/O 的性能優(yōu)化、RDMA、io_uring 等方面著手,繼續(xù)性能優(yōu)化的工作。

踐行開源云原生軟件定義存儲

對 PolarDB for PostgreSQL 的良好支持,也體現(xiàn)了 Curve 對承載云原生工作負(fù)載的態(tài)度和進(jìn)展。在當(dāng)前數(shù)字化轉(zhuǎn)型背景下,越來越多的企業(yè)通過軟件重新定義了自己,云原生則是強化企業(yè)軟件能力的重要武器——根據(jù) CNCF 2020 全球云原生市場調(diào)查,該項技術(shù)已被 92% 受訪者在生產(chǎn)中使用。

在存儲基礎(chǔ)設(shè)施層,Curve 社區(qū)認(rèn)為,不同于傳統(tǒng)云存儲資源的黑盒,云原生存儲上一切存儲資源應(yīng)該都是白盒,所有云原生應(yīng)用都可以不做修改無縫使用。

基于此,云原生存儲對上層云原生應(yīng)用提供無縫的業(yè)務(wù)接口(POSIX接口、塊存儲接口、對象存儲接口、HDFS接口等等),對下層云操作系統(tǒng)屏蔽云存儲資源細(xì)節(jié),對云原生應(yīng)用的開發(fā)運維人員提供自定義存儲類型、存儲資源池(跨云)、數(shù)據(jù)生命周期管理、數(shù)據(jù)可靠性可用性策略等等。

在 Curve Roadmap 中可以看到,這個開源社區(qū)正往這些方向努力。例如,支持云原生部署、運維、使用,已經(jīng)是 Curve 的一個關(guān)鍵特性。事實上,Curve 架構(gòu)簡單、運維部署靈活的特點,也是其吸引 PolarDB 的又一重要因素。

關(guān)鍵詞:

相關(guān)閱讀