YCSB基准测试,AntsDB超过主流关系数据库超过100%
介绍
YCSB代表雅虎云服务基准。 它是今天事实上的数据库基准。 它支持各种具有可插拔体系结构的数据库类型,可以轻松扩展以测量新的数据库技术。
基准方法
该基准使用了3000万条记录数据量。 每条记录的大小为1 KiB。 我们使用了YCSB提供的4个基准工作负载。
加载基准 – 将3000万记录加载到空数据库中,以衡量数据导入性能。
只读基准 – 以衡量数据库的分析性能
读取繁重(90%读取10%写入) – 用于衡量用户交互式应用程序的性能。
写入较重(50%读取50%写入) – 用于测量批处理应用程序的性能。
基准设置
该基准测试是在Amazon AWS EC2 i3.4xlarge实例上执行的。 以下是系统配置的摘要。
CPU | Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz, 8 cores, 16 threads |
Memory | 122 GiB |
Storage | 1.7T * 2 NVMe SSD |
Operating System | CentOS 7.4.1708 |
Comparing Database | MySQL 5.5.56, PostgreSQL 9.2.23, Database O 12.2.0.1.0, AntsDB 18.05.02 |
Java | 1.8.0_161-b14 |
数据库配置
AntsDB | humpback.space.file.size=256 humpback.tablet.file.size=1073741824 |
MySQL | innodb_file_per_table=true innodb_file_format=Barracuda innodb_buffer_pool_size=50G innodb_flush_log_at_trx_commit=0 max_connections=200 |
PostgreSQL | shared_buffers = 30GB bgwriter_delay = 10ms synchronous_commit = off effective_cache_size = 60GB |
Database O | MEMORY_TARGET=50g |
加载测试
使用16个线程将数据导入数据库。 计量单位是记录/秒。

AntsDB 蚂蚁数据库 YCSB 数据加载测试
只读测试
使用不同数量的线程进行测试。所有经过测试的数据库都获得了24个线程的最高吞吐量,如下图所示。计量单位是交易/秒。

AntsDB 蚂蚁数据库 YCSB 数据只读测试
重读取查询测试
使用不同数量的线程进行测试。所有经过测试的数据库都获得了24个线程的最高吞吐量,如下图所示。计量单位是交易/秒。

AntsDB 蚂蚁数据库 YCSB 重读取查询测试
写重测试
使用不同数量的线程进行测试。所有经过测试的数据库都获得了24个线程的最高吞吐量,如下图所示。计量单位是交易/秒。

AntsDB 蚂蚁数据库 YCSB 重写入测试
结论
AntsDB在所有测试类别中明显优于其他流行数据库。在内部,AntsDB 采用了与传统数据库引擎截然不同的设计。使用 CPU 级原子操作实现锁定。使用 Log Structured Merge Tree 组织文件。使用无锁跳过列表实现索引。所有磁盘 I/O 都使用内存映射文件完成。这些技术的结合,体现了系统的显著优势。
由于资源限制,数据库服务器和测试软件都在相同的硬件上运行,因此基准程序消耗了部分系统资源。基准测试不太完美,因为实际上应用程序和数据库很可能是在不同的机器上运行。如果使用专用数据库服务器,会有更高的性能表现。
发表评论