云计算是未来,而虚拟化技术则是云计算的基石。在过去10年中,我们见证了虚拟化技术的蓬勃发展。目前,虚拟化技术从最早的硬件虚拟化进入了到新的阶段——软件虚拟化,其中比较流行的容器技术实际就是操作系统的虚拟化。 最近,我们拿到了一款国产数据库虚拟化技术,AntsDB,并在龙芯平台上做了兼容性测试。AntsDB的数据库虚拟化技术,能够在Hadoop平台上虚拟出一个兼容MySQL的高并发,低延迟的运营数据库。这样做以后,可以使得数据库的系统架构大大简化,轻松利用Hadoop的PB级存储能力提高运营数据库的存储能力,以及开展实时大数据分析能力。 测试标准 与国际上最为流行的开源数据库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核 内存 32G RAM 存储 2TB机械硬盘 操作系统 Red Hat Enterprise Linux 7 Java Java 8     TPC-C测试方法 基准测试使用了100个仓库,总共有5000万条记录。TPC-C涉及五种不同类型和复杂性的并发事务的混合,这些事务要么在线执行,要么排队等待延迟执行。它通过运用与这种环境相关的广泛系统组件来实现。TPC-C性能以每分钟的新订单交易来衡量。 TPC-C是行业标准。有许多不同的实现方法可用。在此测试中,我们使用了BenchmarkSQL 4.1.1,这是PostgreSQL社区开发的一种流行的TPC-C实现。 它不仅支持PostgreSQL,还支持MySQL和其他几个数据库。 因此它可以作为一个公平的比较。  YCSB测试方法 本次测试使用10,000,000条记录的数据量,每条记录有1KiB数据量,采用了4种测试方法。 载入测试 - 从全空数据库载入目标数据量,用来衡量数据库迁移重置性能 只读测试 - 用来衡量数据库数据分析能力 10%读90%写 - 模拟交互式应用的数据读写模式 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。查询进一步信息,请访问官方网站 http://www.loongson.cn。
|