有相当多的独立和不那么独立的研究比较了传统的 RDBMS,但我还没有设法在内存数据库中找到任何好的材料。我主要对专门用于 OLTP 的那些感兴趣。
到目前为止,我设法找到了有关 TimesTen 和 MySQL Cluster 的通用白皮书,但我还没有看到正面对比。还有其他替代品(例如来自 IBM),但更不容易获得的材料。
有相当多的独立和不那么独立的研究比较了传统的 RDBMS,但我还没有设法在内存数据库中找到任何好的材料。我主要对专门用于 OLTP 的那些感兴趣。
到目前为止,我设法找到了有关 TimesTen 和 MySQL Cluster 的通用白皮书,但我还没有看到正面对比。还有其他替代品(例如来自 IBM),但更不容易获得的材料。
这些信息分散在整个网络上,但这是我发现的:
数据库基准测试简介
您需要做的第一件事是找出一个标准基准,用于比较您的内存数据库选择。Oracle 上的 wiki 页面概述了行业标准数据库基准。如果您可以找到 TimesTen 和 MySql Cluster 的相同行业标准基准测试结果,您将能够比较两者。很难找到所有内存数据库的详细比较。
简介:既然您提到了OLTP,那么您可能感兴趣的行业标准基准是TPC-E,它模拟了经纪公司的OLTP 工作负载。其他行业标准基准衡量决策支持和电子商务数据库交易。
开源数据库基准测试套件
开源开发实验室数据库测试套件是我前面提到的那些行业标准基准的最全面的开源实现。他们有四个主要的测试套件,编号为 DBT1、DBT2、DBT3、DBT4。他们尚未实现 TPC-E 基准测试,但您正在寻找数据库测试 2 (DBT2),因为它模拟 OLTP 事务。每个人都只是简单地将其称为运行 DBT2 基准测试,而不是将其拼写为 OSDLB DBT2。
结果
mysql
您需要注册才能将白皮书通过电子邮件发送给您,但这是我从他们的网站上获取的摘要:
最终,MySQL Cluster 在 8 节点配置中能够达到每分钟 100,000 个事务。与每分钟能够获得 26,000 个事务的 2 节点集群相比,这显示出令人印象深刻的扩展性改进。这些性能改进是通过使用基于 Intel Core T 微架构的新型多核 Intel Xeon 服务器实现的。
甲骨文
不幸的是 DBT2 不支持 TimesTen。但是,我找到了一份白皮书,其中提供了 OLTP 工作负载中 TimesTen 的详细基准测试信息。
IBM
其他资源
VoltDB is an in-memory highly-scalable OLTP database that provides SQL/ACID and runs on commodity hardware in a shared-nothing cluster. It is open-source and exists in both a free/community (AGPLv3) version as well as a commercially supported version.
There is a post in the VoltDB forums discussing some of the other in-memory OLTP RDBMS solutions at http://community.voltdb.com/node/95. Feel free to review and add to that posting.
Sebastian Czechowski at BigDataMatters has a comparison of four different IMDBs, suggesting selects tend to be 5X faster, and inserts/deletes tend to be 2x-4x faster.
http://bigdatamatters.com/bigdatamatters/2009/12/oracle_ibm_database_comparison.html
这篇 wiki 文章比较了大多数著名的 RDBMS:关系数据库管理系统的比较
没有比较,但列出了内存中的 RDBMS:内存数据库
此外,这将在某种程度上取决于您的预期用途。您的限制条件和最低性能要求是什么?
我认为您最好的选择是获取试用(或免费)版本并设置您自己的基准。
几乎每个 DBMS 都会做同样的事情但不同,因此你应该寻找你能找到的最快的 DBMS,如果你需要的是速度,那么你应该使用TimesTen,它被认为是最快的解决方案之一,开源的东西DBMS 就是这样,一些更高级的功能(例如复制)远不及您在商业替代品中找到的功能。很简单,大多数用户不需要 Oracle、DB2 或 MS-SQL 提供的级别的复制。因此,PostgreSQL 和 MySQL 开发人员并不觉得需要改进它。
This answer was obtained after looking for the fastest between RDBMS mentioned here and some already known by me, I went 2 by 2 looking for the best and then looking for the best between the winner and the other, and the result was that TimesTen is the fastest between:
So, you should use for the application you are mentioning and the conditions set TimesTen.