华为云数据库GaussDB(for Cassandra)揭秘高性能低成本是什么意思样的体验
在我们的日常理念中,追求性价比是最为常见的,但是你知道购买低配置还能享受高性能、低延时、超低价的数据库有哪些吗?今天我们就用数据说话,带你深入了解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) 实例
- 计算扩容
- 扩容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)值得你拥有。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfkijbb
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13