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

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


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

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

安裝與操作開(kāi)源Cassandra
ECS創(chuàng)建好后,將開(kāi)源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ù)模型壓測(cè)
| YCSB業(yè)務(wù)模型 | 業(yè)務(wù)負(fù)載 | 壓測(cè)語(yǔ)句 |
| 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ù)模型測(cè)試結(jié)果
測(cè)試結(jié)果指標(biāo)說(shuō)明
OPS:每秒操作數(shù)
insert_Lat(us):每次insert操作平均時(shí)延(微秒)
insert95Lat(us):95%的insert操作在多少微秒內(nèi)
insert99Lat(us):99%的insert操作在多少微秒內(nèi)
update_Lat(us):每次update操作平均時(shí)延(微秒)
update95Lat(us):95% update操作的時(shí)延在多少微秒以內(nèi)
update99Lat(us):99% update操作的時(shí)延在多少微秒以內(nèi)
read_Lat(us):每次read操作的平均時(shí)延(微秒)
read95Lat(us):95% read操作的時(shí)延在多少微秒以內(nèi)
read99Lat(us):99% read操作的時(shí)延在多少微秒以內(nèi)
GaussDB(for Cassandra) 2U8G測(cè)試結(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+開(kāi)源Cassandra 8U32G測(cè)試結(jié)果
經(jīng)測(cè)試,開(kāi)源Cassandra自建8U32G與GaussDB(for Cassandra)使用GaussDB(for Cassandra) 2U8G性能上持平,具體測(cè)試結(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)實(shí)例
華為云GaussDB(for Cassandra)采用存算分離架構(gòu),在計(jì)算擴(kuò)容和存儲(chǔ)擴(kuò)容方面,無(wú)需進(jìn)行數(shù)據(jù)搬遷,可以做到秒級(jí)運(yùn)維。
計(jì)算擴(kuò)容
在實(shí)例管理界面,選中添加節(jié)點(diǎn),進(jìn)入如下頁(yè)面,可以選擇本次擴(kuò)容計(jì)算的節(jié)點(diǎn)個(gè)數(shù)。本次擴(kuò)容以1個(gè)2U8G節(jié)點(diǎn)為例,具體如下:

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

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

開(kāi)源存儲(chǔ)磁盤(pán)擴(kuò)容按32Mbps/s的遷移速度算每秒為12MB,每分鐘處理0.703GB的數(shù)據(jù),遷移100GB的數(shù)據(jù)需要約2小時(shí)(100/0.703=142.2分鐘)。
總結(jié)
性價(jià)比對(duì)比
從性價(jià)比看,華為GaussDB(for Cassandra)在相同存儲(chǔ)容量以及性能表現(xiàn)下,費(fèi)用僅為開(kāi)源自建Cassandra的63%,具體如下:
| 對(duì)比項(xiàng) | ECS+開(kāi)源Cassandra | GaussDB(for Cassandra) | |
| 規(guī)格 | 8U32G * 3節(jié)點(diǎn) | 2U8G * 3節(jié)點(diǎn) | |
| 存儲(chǔ)空間 | 100GB | 100GB | |
| 每小時(shí)費(fèi)用 | ¥9.222 | ¥5.62 | |
| 包年費(fèi)用 | ¥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)僅需要開(kāi)源Cassandra 1/3的存儲(chǔ)價(jià)格,享有高性能及更多的運(yùn)維能力加持,享受非比尋常的體驗(yàn)。
運(yùn)維能力對(duì)比
以典型的計(jì)算擴(kuò)容和存儲(chǔ)擴(kuò)容場(chǎng)景為例,分析擴(kuò)容100G存儲(chǔ)以及擴(kuò)容1個(gè)計(jì)算節(jié)點(diǎn)場(chǎng)景,從費(fèi)用/時(shí)長(zhǎng)方面做出對(duì)比,可看出用華為云GaussDB(for Cassandra),在費(fèi)用和操作時(shí)長(zhǎng)方面均有優(yōu)勢(shì),擴(kuò)容時(shí)長(zhǎng)方面更是秒級(jí)擴(kuò)容,一眼可見(jiàn)華為云GaussDB(for Cassandra)高擴(kuò)容能力,具體如下:
| 運(yùn)維場(chǎng)景 | 維度 | ECS+開(kāi)源Cassandra 8U32G | GaussDB(for Cassandra) 2U8G |
| 存儲(chǔ)擴(kuò)容 | 包年費(fèi)用 | ¥3,000 | ¥2,500 |
| 擴(kuò)容時(shí)長(zhǎng) | 約2小時(shí) | 10秒 | |
| 計(jì)算擴(kuò)容 | 包年費(fèi)用 | ¥10,196 | ¥6,178 |
| 擴(kuò)容時(shí)長(zhǎng) | 30分鐘 | 8分鐘 |
綜上所述,用開(kāi)源Cassandra 63%的價(jià)格,享受一樣的性能,存儲(chǔ)實(shí)現(xiàn)秒級(jí)擴(kuò)容,享有更好的運(yùn)維能力,使用更好的架構(gòu)最大化的節(jié)省成本,華為云GaussDB(for Cassandra)值得你擁有。
審核編輯:湯梓紅
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
4078瀏覽量
68519 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
4323瀏覽量
46417 -
華為云
+關(guān)注
關(guān)注
3文章
2835瀏覽量
19366
發(fā)布評(píng)論請(qǐng)先 登錄
瀚高數(shù)據(jù)庫(kù)深度參編國(guó)家標(biāo)準(zhǔn)《信息技術(shù) 云原生關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)技術(shù)要求》正式發(fā)布
生產(chǎn)環(huán)境數(shù)據(jù)庫(kù)連接池耗盡的全流程排查與性能優(yōu)化實(shí)戰(zhàn)
數(shù)據(jù)庫(kù)管理工具推薦:為什么 NineData 是主流且實(shí)用的選擇
華納云香港服務(wù)器數(shù)據(jù)庫(kù)索引優(yōu)化策略
華納云為游戲數(shù)據(jù)庫(kù)選擇高性能NVMe SSD存儲(chǔ)
車(chē)載電器EMC整改:如何低成本實(shí)現(xiàn)高性能抗干擾
數(shù)據(jù)庫(kù)性能優(yōu)化指南
亞馬遜云科技推出Amazon DocumentDB Serverless,簡(jiǎn)化數(shù)據(jù)庫(kù)管理并大幅節(jié)省成本
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)庫(kù)故障的數(shù)據(jù)恢復(fù)案例
三款主流國(guó)產(chǎn)數(shù)據(jù)庫(kù)的技術(shù)特點(diǎn)
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫(kù)文件丟失的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫(kù)被加密如何恢復(fù)數(shù)據(jù)?
泰國(guó)零售巨頭 CJ Express 借助 SAP 內(nèi)存數(shù)據(jù)庫(kù)實(shí)現(xiàn)高效數(shù)據(jù)管理
華為云數(shù)據(jù)庫(kù)GaussDB(for Cassandra)揭秘:高性能低成本是什么樣的體驗(yàn)?
評(píng)論