华为云数据库GaussDB(for Cassandra)揭秘第三期: 华为云GaussDB(for Cassandra)高性能低

【摘要】 华为云GaussDB(for Cassandra)与自建开源Cassandra的成本对比

在我们的日常理念中,追求性价比是最为常见的,但是你知道购买低配置还能享受高性能、低延时、超低价的数据库有哪些吗?今天我们就用数据说话,带你深入了解GaussDB(for Cassandra)挑战高性价比!

众所周知,有数据的地方就需要用数据库,GaussDB(for Cassandra)最擅长在物流、内容分发、视频直播等海量数据的场景中,这样才能发挥它的特长。

本次围绕GaussDB(for Cassandra)新推出的2U8G小规格做一组测试并与自建ECS+开源Cassandra 8U32G进行性能和成本上的对比,快来和我一探究竟吧。

1、客户端压测工具

测试工具

版本

参考地址

YCSB

0.15.0

https://github.com/brianfrankcooper/ycsb/tree/0.15.0/cassandra

2、数据模型

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%

 3、部署数据库

3.1  华为云购买GaussDB(for Cassandra)

本次对比测试,采用华为云GaussDB(for Cassandra)2U8G规格,部署3个节点,申请100GB存储空间。具体操作如下:

1.png

备注:GaussDB(for Cassandra)采用DFV共享存储方案,存储层已实现三副本,该申请存储空间为业务数据可使用的空间。

2.png

如上按需费用为5.62元/小时,包年费用是21,034元。

3.png

确认规格/节点数/存储空间,直接购买,约8分钟即可创建完成。

创建实例后,每个业务节点对应一个系统容器,挂载2个磁盘(20G/40G),作为操作系统盘和日志盘。

4.png

3.2  公有云购买ECS部署开源Cassandra

本次对比测试,开源Cassandra采用购买ECS,自行部署Cassandra开源软件场景,同样部署3个节点,每个ECS在申请60GB的系统盘/日志盘的基础上,再额外申请100GB数据盘,作为Cassandra数据存储使用。

3.2.1 )公有云购买ECS虚拟机

选择8U32G ECS规格,60GB的系统盘/日志盘,100G数据盘。

5.png

X86平台按需费用为3.074元/小时,包年费用是11,196元。

3.2.2 )安装与操作开源Cassandra

ECS创建好后,将开源Cassandra搭建到ECS上,具体操作步骤参考以下链接地址(详见4.1章节),链接地址:https://bbs.huaweicloud.com/forum/thread-110605-1-1.html

4、操作步骤

4.1  创建表模型

创建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);

4.2 数据准备阶段

nohup ./bin/ycsb load cassandra-cql -P workloads/workload-insert-mostly  -threads $THREAD_COUNT -s > $LOG_FILE 2>&1 &

4.3  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 &

5、 YCSB四种业务模型测试结果

5.1  测试结果指标说明

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操作的时延在多少微秒以内

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享