Archives2018

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

数据库虚拟化

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

最近,我们荣幸得到龙芯的邀请,在龙芯SB平台上做了兼容性测试。在此,首先感谢龙芯的朋友们的邀请。 阅读更多

AntsDB 18.05.27发布,带有新开源许可

AntsDB 18.05.27是一个维护版本,在性能和稳定性方面有许多改进。 这个版本不仅运行得更快更好,还带来了重要的许可证更改。 AntsDB的源代码现在以LGPL开源许可证发布。 它比先前采用的AGPL限制性更小。 LGPL允许AntsDB的用户使用预构建的二进制文件创建私有衍生作品。 衍生作品不需要公开。 希望新的开源许可吸引更多项目在AntsDB和Hadoop之上构建。

马上就去下载吧。

AntsDB 18.05.02发布了新的网络传输层

AntsDB 18.05.02 附带了一个全新的 MySQL 协议实现。 在我们的基准测试中,它比先前版本的 AntsDB 快 200%。 此版本其他主要改进如下:

  • 使用直接内存而不是对Java对象进行缓冲。 它不仅更快,而且还节省了垃圾收集所占用的大量系统资源;
  • 在异步网络 I/O 处理中删除了不必要的线程切换,从而提高了响应时间并节省了系统资源;
  • 针对大型结果集的优化。 如果客户端无法更快地消耗结果,则新机制将暂停网络通信。

现在即可到下载页面下载体验新版本。

AntsDB 通过 Power8 兼容性测试,性能超越 MySQL 106倍

广泛的兼容性,是AntsDB的设计目标之一,因此在设置做出就做了跨平台的兼容性设计。有幸得到IBM Open Power 邀请参与Power CPU的兼容工作。最终测试结果现实,AntsDB 在 Power8 平台上领先同类数据库超过 1-2 个数量级。数据载入能力是对照数据库的 10600%, 只读是对照数据库的191%,90%读是对照数据库的 819%, 50%读是对照数据库的 6276%。

阅读更多

AntsDB 18.04.04 版本新增复制功能

数据库复制被许多机构广泛使用。 它有助于将实时数据馈送到另一个地方,以实现安全性,集成或分析目的。 我们很高兴地宣布,从 18.04.04 发布开始,AntsDB 支持实时数据复制。

通过复制支持,AntsDB 中发生的更改可以实时复制到另一个从属 AntsDB/MySQL 数据库。 复制支持 DDL 和 DML,因此目标数据库永远不会与活动数据库不同步。 配置说明详见说明书。

请到下载页面下载新版本

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 数据加载测试

AntsDB 蚂蚁数据库 YCSB 数据加载测试

只读测试

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

AntsDB 蚂蚁数据库 YCSB 数据只读测试

AntsDB 蚂蚁数据库 YCSB 数据只读测试

重读取查询测试

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

AntsDB 蚂蚁数据库 YCSB 重读取查询测试

AntsDB 蚂蚁数据库 YCSB 重读取查询测试

写重测试

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

AntsDB 蚂蚁数据库 YCSB 重写入测试

AntsDB 蚂蚁数据库 YCSB 重写入测试

结论

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