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

Posted 龙芯中科

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在龙芯上探索数据库虚拟化相关的知识,希望对你有一定的参考价值。

数据库虚拟化

云计算是未来,而虚拟化技术则是云计算的基石。在过去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 能够提供更加全面的功能,兼容更多的数据库类型,以及性能上的出色表现。


http://antsdb.com/zh/download

以上是关于在龙芯上探索数据库虚拟化的主要内容,如果未能解决你的问题,请参考以下文章

龙芯提供的jna没有libjnidispatch.so,也能用

龙芯上跑WTM,为国产化做点贡献

国产服务器创建GSCloud实例统计

龙芯KVM虚拟化云平台案例解析

Chm文件阅读软件测试需求

如何在龙芯架构和国产化操作系统平台上运行javacv