在我們的日常理念中,追求性價比是最為常見的,但是你知道購買低配置還能享受高性能、低延時、超低價的數(shù)據(jù)庫有哪些嗎?今天我們就用數(shù)據(jù)說話,帶你深入了解GaussDB(for Cassandra)挑戰(zhàn)高性價比!
眾所周知,有數(shù)據(jù)的地方就需要用數(shù)據(jù)庫,GaussDB(for Cassandra)最擅長在物流、內(nèi)容分發(fā)、視頻直播等海量數(shù)據(jù)的場景中,這樣才能發(fā)揮它的特長。
本次圍繞GaussDB(for Cassandra)新推出的2U8G小規(guī)格做一組測試并與自建ECS+開源Cassandra 8U32G進(jìn)行性能和成本上的對比,快來和我一探究竟吧。
客戶端壓測工具
| 測試工具 | 版本 | 參考地址 |
| YCSB | 0.15.0 | https://github.com/brianfrankcooper/ycsb/tree/0.15.0/cassandra |
數(shù)據(jù)模型
| YCSB業(yè)務(wù)模型 | 業(yè)務(wù)負(fù)載 | 負(fù)載說明 |
| workload-read-mostly | 95% read, 5% update | 讀95%,更新5% |
| workload-read-write-combination | 50% update, 50% read | 更新50%,讀50% |
| workload-mixed-operational-analytical | 65% read, 25% update, 10% insert | 讀65%,更新25%,寫10% |
| workload-insert-mostly | 90% insert, 10% read | 寫90%,讀10% |
部署數(shù)據(jù)庫
華為云購買GaussDB(for Cassandra)
本次對比測試,采用華為云GaussDB(for Cassandra)2U8G規(guī)格,部署3個節(jié)點,申請100GB存儲空間。具體操作如下:

備注:GaussDB(for Cassandra)采用DFV共享存儲方案,存儲層已實現(xiàn)三副本,該申請存儲空間為業(yè)務(wù)數(shù)據(jù)可使用的空間。


確認(rèn)規(guī)格/節(jié)點數(shù)/存儲空間,約8分鐘即可創(chuàng)建完成。
創(chuàng)建實例后,每個業(yè)務(wù)節(jié)點對應(yīng)一個系統(tǒng)容器,掛載2個磁盤(20G/40G),作為操作系統(tǒng)盤和日志盤。

公有云ECS部署開源Cassandra
本次對比測試,開源Cassandra采用購買ECS,自行部署Cassandra開源軟件場景,同樣部署3個節(jié)點,每個ECS在申請60GB的系統(tǒng)盤/日志盤的基礎(chǔ)上,再額外申請100GB數(shù)據(jù)盤,作為Cassandra數(shù)據(jù)存儲使用。
公有云購買ECS虛擬機(jī)
選擇8U32G ECS規(guī)格,60GB的系統(tǒng)盤/日志盤,100G數(shù)據(jù)盤。

安裝與操作開源Cassandra
ECS創(chuàng)建好后,將開源Cassandra搭建到ECS上,具體操作步驟參考以下鏈接地址
操作步驟
創(chuàng)建表模型
創(chuàng)建keyspace:
create keyspace ycsb WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 3 };
進(jìn)入keyspace:
use ycsb;
創(chuàng)建usertable:
create table usertable (
y_id varchar primary key,
field0 varchar,
field1 varchar,
field2 varchar,
field3 varchar,
field4 varchar,
field5 varchar,
field6 varchar,
field7 varchar,
field8 varchar,
field9 varchar);
數(shù)據(jù)準(zhǔn)備階段
nohup ./bin/ycsb load cassandra-cql -P workloads/workload-insert-mostly -threads $THREAD_COUNT -s > $LOG_FILE 2>&1 &
YCSB四種業(yè)務(wù)模型壓測
| YCSB業(yè)務(wù)模型 | 業(yè)務(wù)負(fù)載 | 壓測語句 |
| workload-read-mostly | 95% read, 5% update | nohup ./bin/ycsb load cassandra-cql -P workloads/workload-read-mostly -threads $THREAD_COUNT -s > $LOG_FILE 2>&1 & |
| workload-read-write-combination | 50% update, 50% read | nohup ./bin/ycsb load cassandra-cql -P workloads/workload-read-write-combination -threads $THREAD_COUNT -s > $LOG_FILE 2>&1 & |
| workload-mixed-operational-analytical | 65% read, 25% update, 10% insert | nohup ./bin/ycsb load cassandra-cql -P workloads/workload-mixed-operational-analytical -threads $THREAD_COUNT -s > $LOG_FILE 2>&1 & |
| workload-insert-mostly | 90% insert, 10% read | nohup ./bin/ycsb load cassandra-cql -P workloads/workload-insert-mostly-threads $THREAD_COUNT -s > $LOG_FILE 2>&1 & |
YCSB四種業(yè)務(wù)模型測試結(jié)果
測試結(jié)果指標(biāo)說明
OPS:每秒操作數(shù)
insert_Lat(us):每次insert操作平均時延(微秒)
insert95Lat(us):95%的insert操作在多少微秒內(nèi)
insert99Lat(us):99%的insert操作在多少微秒內(nèi)
update_Lat(us):每次update操作平均時延(微秒)
update95Lat(us):95% update操作的時延在多少微秒以內(nèi)
update99Lat(us):99% update操作的時延在多少微秒以內(nèi)
read_Lat(us):每次read操作的平均時延(微秒)
read95Lat(us):95% read操作的時延在多少微秒以內(nèi)
read99Lat(us):99% read操作的時延在多少微秒以內(nèi)
GaussDB(for Cassandra) 2U8G測試結(jié)果
| 業(yè)務(wù)負(fù)載 | OPS | insert_Lat(us) | insert95Lat(us) | insert99Lat(us) | update_Lat(us) | update95Lat(us) | update99Lat(us) | read_Lat (us) | read95Lat (us) | read99Lat(us) |
| 95% read, 5% update | 8053 | / | / | / | 1506 | 1581 | 1653 | 2031 | 2209 | 2675 |
| 50% update, 50% read | 9640 | / | / | / | 1446 | 1521 | 1598 | 2242 | 2847 | 3345 |
| 65% read, 25% update, 10% insert | 9598 | 1467 | 1526 | 1623 | 1438 | 1494 | 1584 | 2073 | 2597 | 3105 |
| 90% insert, 10% read | 9825 | 1524 | 1553 | 2105 | / | / | / | 2487 | 3131 | 4407 |
自建ECS+開源Cassandra 8U32G測試結(jié)果
經(jīng)測試,開源Cassandra自建8U32G與GaussDB(for Cassandra)使用GaussDB(for Cassandra) 2U8G性能上持平,具體測試結(jié)果如下:
| 業(yè)務(wù)負(fù)載 | OPS | insert_Lat(us) | insert95Lat(us) | insert99Lat(us) | update_Lat(us) | update95Lat(us) | update99Lat(us) | read_Lat(us) | read95Lat(us) | read99Lat(us) |
| 95% read, 5% update | 8045 | / | / | / | 1349 | 1395 | 1576 | 2014 | 2121 | 7327 |
| 50% update, 50% read | 9895 | / | / | / | 1342 | 1379 | 1553 | 2379 | 2918 | 3325 |
| 65% read, 25% update, 10% insert | 9616 | 1386 | 1422 | 1596 | 1354 | 1392 | 1572 | 2273 | 2689 | 3717 |
| 90% insert, 10% read | 9017 | 1441 | 1406 | 2009 | / | / | / | 4620 | 4511 | 67775 |
擴(kuò)容操作
擴(kuò)容GaussDB(for Cassandra)實例
華為云GaussDB(for Cassandra)采用存算分離架構(gòu),在計算擴(kuò)容和存儲擴(kuò)容方面,無需進(jìn)行數(shù)據(jù)搬遷,可以做到秒級運(yùn)維。
計算擴(kuò)容
在實例管理界面,選中添加節(jié)點,進(jìn)入如下頁面,可以選擇本次擴(kuò)容計算的節(jié)點個數(shù)。本次擴(kuò)容以1個2U8G節(jié)點為例,具體如下:

存儲擴(kuò)容
在集群基本信息頁面,點擊磁盤擴(kuò)容,即可對磁盤空間進(jìn)行擴(kuò)容。
擴(kuò)容自建ECS+開源Cassandra
自建Cassandra在擴(kuò)容計算和存儲期間,需要自行購買ECS計算節(jié)點,以及對應(yīng)超高IO存儲。手工修改節(jié)點配置、新加集群以及搬遷數(shù)據(jù)等。
計算擴(kuò)容
自建Cassandra擴(kuò)容計算,如上述購買多1臺ECS虛擬機(jī),掛載磁盤為60GB的系統(tǒng)盤/日志盤。時間推算需要30分鐘。

存儲擴(kuò)容
自建Cassandra擴(kuò)容存儲,在原掛載數(shù)據(jù)盤的基礎(chǔ)上進(jìn)行擴(kuò)容。以上述實例為例,3個節(jié)點每個ECS的數(shù)據(jù)盤從100GB擴(kuò)展到200GB,一共擴(kuò)容300GB(3*100GB)。

開源存儲磁盤擴(kuò)容按32Mbps/s的遷移速度算每秒為12MB,每分鐘處理0.703GB的數(shù)據(jù),遷移100GB的數(shù)據(jù)需要約2小時(100/0.703=142.2分鐘)。
總結(jié)
性價比對比
從性價比看,華為GaussDB(for Cassandra)在相同存儲容量以及性能表現(xiàn)下,費用僅為開源自建Cassandra的63%,具體如下:
| 對比項 | ECS+開源Cassandra | GaussDB(for Cassandra) | |
| 規(guī)格 | 8U32G * 3節(jié)點 | 2U8G * 3節(jié)點 | |
| 存儲空間 | 100GB | 100GB | |
| 每小時費用 | ¥9.222 | ¥5.62 | |
| 包年費用 | ¥33,588 | ¥21,034 | |
| 95% read, 5% update | OPS | 8045 | 8053 |
| 50% update, 50% read | OPS | 9895 | 9640 |
| 65% read, 25% update, 10% insert | OPS | 9616 | 9598 |
| 90% insert, 10% read | OPS | 9017 | 9825 |
相同的數(shù)據(jù)空間,華為云GaussDB(for Cassandra)僅需要開源Cassandra 1/3的存儲價格,享有高性能及更多的運(yùn)維能力加持,享受非比尋常的體驗。
運(yùn)維能力對比
以典型的計算擴(kuò)容和存儲擴(kuò)容場景為例,分析擴(kuò)容100G存儲以及擴(kuò)容1個計算節(jié)點場景,從費用/時長方面做出對比,可看出用華為云GaussDB(for Cassandra),在費用和操作時長方面均有優(yōu)勢,擴(kuò)容時長方面更是秒級擴(kuò)容,一眼可見華為云GaussDB(for Cassandra)高擴(kuò)容能力,具體如下:
| 運(yùn)維場景 | 維度 | ECS+開源Cassandra 8U32G | GaussDB(for Cassandra) 2U8G |
| 存儲擴(kuò)容 | 包年費用 | ¥3,000 | ¥2,500 |
| 擴(kuò)容時長 | 約2小時 | 10秒 | |
| 計算擴(kuò)容 | 包年費用 | ¥10,196 | ¥6,178 |
| 擴(kuò)容時長 | 30分鐘 | 8分鐘 |
綜上所述,用開源Cassandra 63%的價格,享受一樣的性能,存儲實現(xiàn)秒級擴(kuò)容,享有更好的運(yùn)維能力,使用更好的架構(gòu)最大化的節(jié)省成本,華為云GaussDB(for Cassandra)值得你擁有。
審核編輯:湯梓紅
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
4004瀏覽量
68163 -
開源
+關(guān)注
關(guān)注
3文章
4130瀏覽量
45776 -
華為云
+關(guān)注
關(guān)注
3文章
2825瀏覽量
19157
發(fā)布評論請先 登錄
華納云為游戲數(shù)據(jù)庫選擇高性能NVMe SSD存儲
數(shù)據(jù)庫性能優(yōu)化指南
亞馬遜云科技推出Amazon DocumentDB Serverless,簡化數(shù)據(jù)庫管理并大幅節(jié)省成本
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)庫故障的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫被加密如何恢復(fù)數(shù)據(jù)?
泰國零售巨頭 CJ Express 借助 SAP 內(nèi)存數(shù)據(jù)庫實現(xiàn)高效數(shù)據(jù)管理
HarmonyOS5云服務(wù)技術(shù)分享--云數(shù)據(jù)庫使用指南
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動的數(shù)據(jù)恢復(fù)
華為云數(shù)據(jù)庫GaussDB(for Cassandra)揭秘:高性能低成本是什么樣的體驗?
評論