EN

新闻中心

LOONGSON NEWS

栏目导航

在龙芯上探索数据库虚拟化

发布时间:2018-10-26    已阅读:

数据库虚拟化

云计算是未来,而虚拟化技术则是云计算的基石。在过去10年中,我们见证了虚拟化技术的蓬勃发展。目前,虚拟化技术从最早的硬件虚拟化进入了到新的阶段——软件虚拟化,其中比较流行的容器技术实际就是操作系统的虚拟化。

最近,我们拿到了一款国产数据库虚拟化技术,AntsDB,并在龙芯平台上做了兼容性测试。

AntsDB 的数据库虚拟化技术,能够在 Hadoop 平台上虚拟出一个兼容 MySQL 的高并发,低延迟的运营数据库。这样做以后,可以使得数据库的系统架构大大简化,轻松利用 Hadoop 的 PB级存储能力提高运营数据库的存储能力,以及开展实时大数据分析能力。

使用 AntsDB 后的架构如下:

测试标准

与国际上最为流行的开源数据库 MySQL 高度兼容是 AntsDB 的一大特性之一。因此,本次基准测试以 MySQL 作为比照对象。为了保持测试的可比较性,AntsDB 和 MySQL 均使用相同硬件,单节点下进行测试。

本次测试分别使用业界公认的 TPC-C 与 YCSB 两种方法开展:

TPC-C 基准测试是一个在线事务处理基准。它是一个评估数据库性能的国际标准,主要由ORACLE,IBM、微软集体制定。TPC-C 基准测试以订单输入环境的主要活动(交易)为中心。 这些交易包括输入和交付订单,记录付款,检查订单状态以及监控仓库的库存水平。

YCSB 全称为 Yahoo! Cloud Serving Benchmark,是目前业界主流数据库性能评测之一。YCSB 由雅虎开发,不仅安装简单,还可以自由扩展测试数据类型和支持的数据库产品。通过对其进行 扩展,YCSB可以支持对多个不同的数据库产品进行性能测试,通过测试结果可以了解数据库在 并发写入、读取、更新时的一些指标,比如吞吐量、操作延迟等。

测试环境
处理器 Loongson-3B 1500MHz,2路,16核
内存 32 G RAM
存储 2TB 机械硬盘
操作系统 Red Hat Enterprise Linux 7
Java Java 8
 
AntsDB 配置参数
humpback.space.file.size=1G
humpback.tablet.file.size=1G
AntsDB Java 配置参数
-server -Xms2G -Xmx2G -XX:+PerfDisableSharedMem
MySQL 配置参数
default-storage-engine=innodb
max_allowed_packet=32M
innodb_buffer_pool_size=30G
innodb_flush_log_at_trx_commit=0
skip-grant-tables
lower_case_table_names=1
max_connection=300

 
TPC-C 测试方法

基准测试使用了100个仓库,总共有5000万条记录。 TPC-C涉及五种不同类型和复杂性的并发事务的混合,这些事务要么在线执行,要么排队等待延迟执行。 它通过运用与这种环境相关的广泛系统组件来实现。 TPC-C性能以每分钟的新订单交易来衡量。

TPC-C是行业标准。 有许多不同的实现方法可用。 在此测试中,我们使用了BenchmarkSQL 4.1.1,这是PostgreSQL社区开发的一种流行的TPC-C实现。 它不仅支持PostgreSQL,还支持MySQL和其他几个数据库。 因此它可以作为一个公平的比较。

 
TPC-C 测试结果

两者差距在10%以内。

YCSB 测试方法

本次测试使用 10,000,000 条记录的数据量,每条记录有 1 KiB 数据量,采用了 4 种测试方法。

  1. 载入测试 - 从全空数据库载入目标数据量,用来衡量数据库迁移重置性能
  2. 只读测试 - 用来衡量数据库数据分析能力
  3. 10%读90%写 - 模拟交互式应用的数据读写模式
  4. 50%读50%写 - 模拟批处理的数据读写模式
     
YCSB 测试结果

在只读和重读测试中,AntsDB 超出 MySQL 30%以内,重写测试超出 MySQL 五倍。

结语 

由于这是一次性能级的测试,我们在测试之初都捏着一把汗。所幸未做任何修改,AntsDB 顺利通过了全部功能测试,展示出龙芯 CPU 以及 Java 虚拟机的优秀兼容性。

从两项基准测试结果中,可以看出 AntsDB 与国际最流行的MySQL相比,性能基本维持在同一量级。TPC-C 测试中,AntsDB 与 MySQL 相比,差距在10%以内。

在 YCSB 测试中,AntsDB 在只读和重读测试中超出 MySQL 30% 左右,两者基本在同一水平线。在重写测试中,AntsDB 获得了较为明显的优势,MySQL 五倍的性能。

作为一门全新的虚拟化技术,AntsDB 未来还有待技术和市场的检验。不过其全新的虚拟化思路,以及带来的简化的架构还是非常吸引人的,这也是我们这次测试的初衷。我们推荐有 Hadoop 使用需求的朋友们可以考虑尝试。我们期待未来 AntsDB 能够提供更加全面的功能,兼容更多的数据库类型,以及性能上的出色表现。

AntsDB 的下载地址
http://antsdb.com/zh/download