华为云数据库 GaussDB(for Cassandra) 揭秘:高性能低成本是什么样的体验?
在我们的日常理念中,追求性价比是最为常见的,但是你知道购买低配置还能享受高性能、低延时、超低价的数据库有哪些吗?今天我们就用数据说话,带你深入了解 GaussDB(for Cassandra)挑战高性价比!
众所周知,有数据的地方就需要用数据库,GaussDB(for Cassandra)最擅长在物流、内容分发、视频直播等海量数据的场景中,这样才能发挥它的特长。
本次围绕 GaussDB(for Cassandra)新推出的 2U8G 小规格做一组测试并与自建 ECS+开源 Cassandra 8U32G 进行性能和成本上的对比,快来和我一探究竟吧。
1、 客户端压测工具
2、 数据模型
3、 部署数据库
3.1 华为云购买 GaussDB(for Cassandra)
本次对比测试,采用华为云 GaussDB(for Cassandra)2U8G 规格,部署 3 个节点,申请 100GB 存储空间。具体操作如下:
备注:GaussDB(for Cassandra)采用 DFV 共享存储方案,存储层已实现三副本,该申请存储空间为业务数据可使用的空间。
确认规格/节点数/存储空间,约 8 分钟即可创建完成。
创建实例后,每个业务节点对应一个系统容器,挂载 2 个磁盘(20G/40G),作为操作系统盘和日志盘。
3.2 公有云 ECS 部署开源 Cassandra
本次对比测试,开源 Cassandra 采用购买 ECS,自行部署 Cassandra 开源软件场景,同样部署 3 个节点,每个 ECS 在申请 60GB 的系统盘/日志盘的基础上,再额外申请 100GB 数据盘,作为 Cassandra 数据存储使用。
3.2.1 公有云购买 ECS 虚拟机
选择 8U32G ECS 规格,60GB 的系统盘/日志盘,100G 数据盘。
3.2.2 安装与操作开源 Cassandra
ECS 创建好后,将开源 Cassandra 搭建到 ECS 上,具体操作步骤参考以下链接地址
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 四种业务模型压测
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 操作的时延在多少微秒以内
5.2 GaussDB(for Cassandra) 2U8G 测试结果
5.3 自建 ECS+开源 Cassandra 8U32G 测试结果
经测试,开源 Cassandra 自建 8U32G 与 GaussDB(for Cassandra)使用 GaussDB(for Cassandra) 2U8G 性能上持平,具体测试结果如下:
6、 扩容操作
华为云 GaussDB(for Cassandra)采用存算分离架构,在计算扩容和存储扩容方面,无需进行数据搬迁,可以做到秒级运维。
6.1 扩容 GaussDB(for Cassandra) 实例
6.1.1 计算扩容
在实例管理界面,选中添加节点,进入如下页面,可以选择本次扩容计算的节点个数。本次扩容以 1 个 2U8G 节点为例,具体如下:
6.1.2 存储扩容
在集群基本信息页面,点击磁盘扩容,即可对磁盘空间进行扩容。
6.2 扩容自建 ECS+开源 Cassandra
自建 Cassandra 在扩容计算和存储期间,需要自行购买 ECS 计算节点,以及对应超高 IO 存储。手工修改节点配置、新加集群以及搬迁数据等。
6.2.1 计算扩容
自建 Cassandra 扩容计算,如上述购买多 1 台 ECS 虚拟机,挂载磁盘为 60GB 的系统盘/日志盘。时间推算需要 30 分钟。
6.2.2 存储扩容
自建 Cassandra 扩容存储,在原挂载数据盘的基础上进行扩容。以上述实例为例,3 个节点每个 ECS 的数据盘从 100GB 扩展到 200GB,一共扩容 300GB(3*100GB)。
开源存储磁盘扩容按 32Mbps/s 的迁移速度算每秒为 12MB,每分钟处理 0.703GB 的数据,迁移 100GB 的数据需要约 2 小时(100/0.703=142.2 分钟)。
7、 总结
7.1 性价比对比
从性价比看,华为 GaussDB(for Cassandra)在相同存储容量以及性能表现下,费用仅为开源自建 Cassandra 的 63%,具体如下:
相同的数据空间,华为云 GaussDB(for Cassandra)仅需要开源 Cassandra 1/3 的存储价格,享有高性能及更多的运维能力加持,享受非比寻常的体验。
7.2 运维能力对比
以典型的计算扩容和存储扩容场景为例,分析扩容 100G 存储以及扩容 1 个计算节点场景,从费用/时长方面做出对比,可看出用华为云 GaussDB(for Cassandra),在费用和操作时长方面均有优势,扩容时长方面更是秒级扩容,一眼可见华为云 GaussDB(for Cassandra)高扩容能力,具体如下:
综上所述,用开源 Cassandra 63%的价格,享受一样的性能,存储实现秒级扩容,享有更好的运维能力,使用更好的架构最大化的节省成本,华为云 GaussDB(for Cassandra)值得你拥有。
评论