在我們的日常理念中,追求性價比是最為常見的,但是你知道購買低配置還能享受高性能、低延時、超低價的數據庫有哪些嗎?今天我們就用數據說話,帶你深入了解GaussDB(for Cassandra)挑戰高性價比!
眾所周知,有數據的地方就需要用數據庫,GaussDB(for Cassandra)最擅長在物流、內容分發、視頻直播等海量數據的場景中,這樣才能發揮它的特長。
本次圍繞GaussDB(for Cassandra)新推出的2U8G小規格做一組測試并與自建ECS+開源Cassandra 8U32G進行性能和成本上的對比,快來和我一探究竟吧。
客戶端壓測工具
測試工具 | 版本 | 參考地址 |
YCSB | 0.15.0 | https://github.com/brianfrankcooper/ycsb/tree/0.15.0/cassandra |
數據模型
YCSB業務模型 | 業務負載 | 負載說明 |
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% |
部署數據庫
華為云購買GaussDB(for Cassandra)
本次對比測試,采用華為云GaussDB(for Cassandra)2U8G規格,部署3個節點,申請100GB存儲空間。具體操作如下:
備注:GaussDB(for Cassandra)采用DFV共享存儲方案,存儲層已實現三副本,該申請存儲空間為業務數據可使用的空間。
確認規格/節點數/存儲空間,約8分鐘即可創建完成。
創建實例后,每個業務節點對應一個系統容器,掛載2個磁盤(20G/40G),作為操作系統盤和日志盤。
公有云ECS部署開源Cassandra
本次對比測試,開源Cassandra采用購買ECS,自行部署Cassandra開源軟件場景,同樣部署3個節點,每個ECS在申請60GB的系統盤/日志盤的基礎上,再額外申請100GB數據盤,作為Cassandra數據存儲使用。
公有云購買ECS虛擬機
選擇8U32G ECS規格,60GB的系統盤/日志盤,100G數據盤。
安裝與操作開源Cassandra
ECS創建好后,將開源Cassandra搭建到ECS上,具體操作步驟參考以下鏈接地址
操作步驟
創建表模型
創建keyspace:
create keyspace ycsb WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 3 };
進入keyspace:
use ycsb;
創建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);
數據準備階段
nohup ./bin/ycsb load cassandra-cql -P workloads/workload-insert-mostly -threads $THREAD_COUNT -s > $LOG_FILE 2>&1 &
YCSB四種業務模型壓測
YCSB業務模型 | 業務負載 | 壓測語句 |
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四種業務模型測試結果
測試結果指標說明
OPS:每秒操作數
insert_Lat(us):每次insert操作平均時延(微秒)
insert95Lat(us):95%的insert操作在多少微秒內
insert99Lat(us):99%的insert操作在多少微秒內
update_Lat(us):每次update操作平均時延(微秒)
update95Lat(us):95% update操作的時延在多少微秒以內
update99Lat(us):99% update操作的時延在多少微秒以內
read_Lat(us):每次read操作的平均時延(微秒)
read95Lat(us):95% read操作的時延在多少微秒以內
read99Lat(us):99% read操作的時延在多少微秒以內
GaussDB(for Cassandra) 2U8G測試結果
業務負載 | 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測試結果
經測試,開源Cassandra自建8U32G與GaussDB(for Cassandra)使用GaussDB(for Cassandra) 2U8G性能上持平,具體測試結果如下:
業務負載 | 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 |
擴容操作
擴容GaussDB(for Cassandra)實例
華為云GaussDB(for Cassandra)采用存算分離架構,在計算擴容和存儲擴容方面,無需進行數據搬遷,可以做到秒級運維。
計算擴容
在實例管理界面,選中添加節點,進入如下頁面,可以選擇本次擴容計算的節點個數。本次擴容以1個2U8G節點為例,具體如下:
存儲擴容
在集群基本信息頁面,點擊磁盤擴容,即可對磁盤空間進行擴容。
擴容自建ECS+開源Cassandra
自建Cassandra在擴容計算和存儲期間,需要自行購買ECS計算節點,以及對應超高IO存儲。手工修改節點配置、新加集群以及搬遷數據等。
計算擴容
自建Cassandra擴容計算,如上述購買多1臺ECS虛擬機,掛載磁盤為60GB的系統盤/日志盤。時間推算需要30分鐘。
存儲擴容
自建Cassandra擴容存儲,在原掛載數據盤的基礎上進行擴容。以上述實例為例,3個節點每個ECS的數據盤從100GB擴展到200GB,一共擴容300GB(3*100GB)。
開源存儲磁盤擴容按32Mbps/s的遷移速度算每秒為12MB,每分鐘處理0.703GB的數據,遷移100GB的數據需要約2小時(100/0.703=142.2分鐘)。
總結
性價比對比
從性價比看,華為GaussDB(for Cassandra)在相同存儲容量以及性能表現下,費用僅為開源自建Cassandra的63%,具體如下:
對比項 | ECS+開源Cassandra | GaussDB(for Cassandra) | |
規格 | 8U32G * 3節點 | 2U8G * 3節點 | |
存儲空間 | 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 |
相同的數據空間,華為云GaussDB(for Cassandra)僅需要開源Cassandra 1/3的存儲價格,享有高性能及更多的運維能力加持,享受非比尋常的體驗。
運維能力對比
以典型的計算擴容和存儲擴容場景為例,分析擴容100G存儲以及擴容1個計算節點場景,從費用/時長方面做出對比,可看出用華為云GaussDB(for Cassandra),在費用和操作時長方面均有優勢,擴容時長方面更是秒級擴容,一眼可見華為云GaussDB(for Cassandra)高擴容能力,具體如下:
運維場景 | 維度 | ECS+開源Cassandra 8U32G | GaussDB(for Cassandra) 2U8G |
存儲擴容 | 包年費用 | ¥3,000 | ¥2,500 |
擴容時長 | 約2小時 | 10秒 | |
計算擴容 | 包年費用 | ¥10,196 | ¥6,178 |
擴容時長 | 30分鐘 | 8分鐘 |
綜上所述,用開源Cassandra 63%的價格,享受一樣的性能,存儲實現秒級擴容,享有更好的運維能力,使用更好的架構最大化的節省成本,華為云GaussDB(for Cassandra)值得你擁有。
審核編輯:湯梓紅
-
數據庫
+關注
關注
7文章
3845瀏覽量
64594 -
開源
+關注
關注
3文章
3398瀏覽量
42648 -
華為云
+關注
關注
3文章
2682瀏覽量
17551
發布評論請先 登錄
相關推薦
評論