Databend 在數(shù)據(jù)歸檔分析中的優(yōu)秀表現(xiàn)
本篇文章基于 Databend 的用戶測(cè)試體驗(yàn)整理,詳情可戳原文鏈接查看,正文總體分為四部分:
Databend 產(chǎn)品簡(jiǎn)介
Databend 對(duì) Ceph 的支持
Databend 在數(shù)據(jù)歸檔中的優(yōu)秀表現(xiàn)
產(chǎn)品使用總結(jié)
Databend 產(chǎn)品簡(jiǎn)介
atabend 是一個(gè)使用 Rust 研發(fā)、開源、完全面向云架構(gòu)的新式數(shù)倉,提供極速的彈性擴(kuò)展能力,致力于打造按需、按量的 Data Cloud 產(chǎn)品體驗(yàn)。具備以下特點(diǎn):
開源 Cloud Data Warehouse 明星項(xiàng)目
Vectorized Execution 和 Pull & Push-Based Processor Model
真正的存儲(chǔ)、計(jì)算分離架構(gòu),高性能、低成本,按需按量使用
完整的數(shù)據(jù)庫支持,兼容 MySQL,Clickhouse 協(xié)議,SQL Over HTTP 等
具備完善的事務(wù)性,支持 Time Travel,Database Clone,Data Share 等功能
支持基于同一份數(shù)據(jù)進(jìn)行的多租戶讀寫、共享操作
Databend 官方教程:https://databend.rs/zh-CN/doc/deploy/oss
Databend 對(duì) Ceph 的支持
Databend 部署

架構(gòu)簡(jiǎn)述:
Query 計(jì)算節(jié)點(diǎn):用于協(xié)議的解析、SQL的計(jì)算下推。
Meta 元數(shù)據(jù)節(jié)點(diǎn):用于存儲(chǔ)元數(shù)據(jù)信息,存儲(chǔ)在本地磁盤。
存儲(chǔ)節(jié)點(diǎn)支持:
公有云:AWS、阿里、騰訊等的 OSS 產(chǎn)品。
私有化支持:Minlo、Ceph 等等的 S3 協(xié)議。
簡(jiǎn)述部署步驟:
下載最新的二進(jìn)制包。
解壓壓縮包,并且創(chuàng)建文件夾。
修改配置文件。
啟動(dòng)。
部署環(huán)境:
操作系統(tǒng):Centos7Cpeh 版本:12.2.13Databend 版本:v0.7.65
總的來說,Databend 部署相當(dāng)簡(jiǎn)單。
第一步:下載 Databend
第二步:解壓縮并創(chuàng)建目錄
第三步:修改啟動(dòng)配置文件
第四步:?jiǎn)?dòng) Databend
第五步:驗(yàn)證 Databend 并支持 Ceph
Databend 在數(shù)據(jù)歸檔中的優(yōu)秀表現(xiàn)
數(shù)據(jù)歸檔選型
線上的大量的歷史數(shù)據(jù),比如日志數(shù)據(jù),交易流水,如果持續(xù)存在 MySQL 中,會(huì)占用大量的存儲(chǔ)空間,對(duì)線上業(yè)務(wù)性能造成抖動(dòng)。但是業(yè)務(wù)還有讀取的需求,不能徹底刪除,甚至還有一定的分析需求。
例如:業(yè)務(wù)想計(jì)算一下 2000 年某個(gè)月某個(gè)條件的總數(shù)等等,就要考慮對(duì)數(shù)據(jù)進(jìn)行定期歸檔,現(xiàn)在歸檔數(shù)據(jù)庫類型的選擇也有很多,可以使用 pt-archiver 工具進(jìn)行歸檔,或者利用 DBA 自己寫的小程序進(jìn)行歸檔。 我們對(duì)于歸檔數(shù)據(jù)的選擇,首先要滿足以下條件:
兼容 MySQL 協(xié)議,這樣業(yè)務(wù)的改動(dòng)最小。如果選擇其他的協(xié)議,業(yè)務(wù)改動(dòng)較大。
高性能的壓縮比,可以節(jié)省存儲(chǔ)成本。
有一定的計(jì)算分析能力。
那么在歸檔庫的選型中就有幾種可以參考:MySQL(單獨(dú)歸檔集群)、Databend 等。
數(shù)據(jù)壓縮對(duì)比
產(chǎn)生2 億的數(shù)據(jù)分別導(dǎo)入到 MySQL、Databend 看一下數(shù)據(jù)的壓縮情況。
物理大小:
SQL:88 G
CSV:84 G
Databend:8 G
MySQL:47 G
數(shù)據(jù)分析類型查詢測(cè)試
主要測(cè)一下 MySQL、Databend 對(duì)于一些計(jì)算類型的 SQL 查詢響應(yīng)時(shí)間。
環(huán)境描述:
服務(wù)器硬件配置:40 C,256 G,SSD硬盤。
MySQL:Innodb buffer pool 設(shè)置 100 G,SSD 硬盤。
Databend:默認(rèn)配置,但 S3 是機(jī)械硬盤。
selectcount(*)fromontime;
執(zhí)行時(shí)間:
Databend-hdd:0.02 sec
Databend-ssd:0.04 sec
MySQL:4 min 9.05 sec
selectcount(*),YearfromontimegroupbyYear;(沒索引)
執(zhí)行時(shí)間:
Databend:1.89sec
MySQL: 5min19.20sec
selectcount(*),YearfromontimegroupbyYear;(year索引)
執(zhí)行時(shí)間:
Databend-ssd:0.56 sec
Databend-hdd:1.89 sec
MySQL:2 min 46.72 sec
測(cè)試結(jié)論:Databend 對(duì)比 MySQL 在進(jìn)行分析類型的 SQL 響應(yīng)時(shí)間上還是略有優(yōu)勢(shì)的。
MySQL 協(xié)議兼容性
Databend 支持 MySQL 協(xié)議、Clickhouse 協(xié)議、HTTP 協(xié)議。使用 MySQL 程序基本上可以無縫兼容 Databend。
產(chǎn)品使用總結(jié)
歸檔方面:
在數(shù)據(jù)庫歸檔上 Databend 相對(duì) MySQL 還是很有優(yōu)勢(shì)的,比如數(shù)據(jù)壓縮方面以及數(shù)據(jù)分析類型 SQL 查詢方面。
且 Databend 可以使用機(jī)械硬盤,不需要太好的硬件就能跑出很好的效果。?如果大家有歸檔分析場(chǎng)景的場(chǎng)景,也推薦大家嘗試一下 Databend。單純歸檔的話,成本可以降很多。如果后面需要計(jì)算了?,?還可以利用 Databend 優(yōu)秀的特性:比如可以輕松的擴(kuò)展。
部署相關(guān):
Databend 的部署和支持 Ceph 方面相對(duì)簡(jiǎn)單,主要針對(duì)云原生,云數(shù)倉等場(chǎng)景,對(duì)比傳統(tǒng)數(shù)據(jù)庫更有優(yōu)勢(shì)。
Databend 高可用性:
Query 節(jié)點(diǎn),屬于無狀態(tài)節(jié)點(diǎn)。只需要保證 Mate 也就是元數(shù)據(jù)不丟失即可。可以通過多設(shè)置副本的方式。(個(gè)人想法,Meta 可以實(shí)時(shí)保存到存儲(chǔ)層一份,做實(shí)時(shí)備份,只用于緊急恢復(fù)使用。)
存儲(chǔ)層:
云場(chǎng)景會(huì)保證 OSS 層的高可用。私有云環(huán)境就需要保證 Ceph、MinIo 的高可用行。私有化的場(chǎng)景在完善對(duì) k8s 的支持,完全可以做到開箱即用,?真正實(shí)現(xiàn)按需計(jì)費(fèi),按計(jì)算能力計(jì)費(fèi)。
作者信息:田帥萌,高級(jí) DBA
關(guān)于 Databend
Databend 是一款開源、彈性、低成本,基于對(duì)象存儲(chǔ)也可以做實(shí)時(shí)分析的新式數(shù)倉。期待您的關(guān)注,一起探索云原生數(shù)倉解決方案,打造新一代開源 Data Cloud。
Databend 文檔:https://databend.rs/
Twitter:https://Twitter.com/Datafuse_Labs
Slack:https://datafusecloud.slack.com/
Wechat:Databend
GitHub :https://github.com/datafuselabs/databend
