有很多独立且不那么独立的研究比较传统的RDBMS,但我还没有找到任何关于内存数据库的好材料。我主要对OLTP专门感兴趣。
到目前为止,我设法在TimesTen和MySQL Cluster上找到了通用的白皮书,但我还没有看到一个直接的比较。还有其他替代方案(例如来自IBM),但更难以获得的材料。
答案 0 :(得分:18)
这些信息遍布整个网络,但这是我发现的:
数据库基准测试简介
您需要做的第一件事是找出一个标准基准,用于比较您的内存数据库选择。 Oracle上的Wiki页面提供overview of the industry standard database benchmarks。如果您可以找到TimesTen和MySql Cluster的相同行业标准基准测试的结果,您将能够比较这两者。查找所有内存数据库的详细比较非常罕见。
摘要:由于您提到了OLTP,您可能感兴趣的行业标准基准是TPC-E,它模拟了经纪公司的OLTP工作负载。其他行业标准基准衡量决策支持和电子商务数据库交易。
开源数据库基准测试包
Open Source Development Labs Database Test Suite是我之前提到的那些行业标准基准测试中最全面的开源实现。它们有四个主要的测试套件,编号为DBT1,DBT2,DBT3,DBT4。他们没有实现TPC-E基准测试,但数据库测试2(DBT2)正是您正在寻找的,因为它模拟了OLTP事务。每个人都只是指运行DBT2基准而不是将其拼写为OSDLB DBT2。
<强>结果
<强> MySQL的强>
您需要注册才能将白皮书通过电子邮件发送给您,但以下是我从其网站上摘录的摘要:
最终,MySQL Cluster能够实现 每分钟达到100,000笔交易 在8节点配置中。这个 表现出令人印象深刻 与2节点集群进行比较时 这能够获得26,000 每分钟交易。这些 实现了性能改进 通过使用新的多核心 基于Intel的Intel Xeon服务器 核心T微架构。
<强>的Oracle 强>
不幸的是,DBT2不支持TimesTen。但是我找到了一份白皮书,它在OLTP工作负载中提供了detailed benchmarking information for TimesTen。
<强> IBM 强>
其他资源
答案 1 :(得分:2)
VoltDB是一个内存中高度可扩展的OLTP数据库,它提供SQL / ACID并在无共享群集中的商用硬件上运行。它是开源的,存在于free/community (AGPLv3) version和商业支持的版本中。
VoltDB论坛中有一篇文章在http://community.voltdb.com/node/95讨论了一些其他内存中的OLTP RDBMS解决方案。随意查看并添加到该帖子。
答案 2 :(得分:1)
BigDataMatters的Sebastian Czechowski对四种不同的IMDB进行了比较,建议选择速度往往快5倍,插入/删除速度往往要快2倍-4倍。
http://bigdatamatters.com/bigdatamatters/2009/12/oracle_ibm_database_comparison.html
答案 3 :(得分:0)
这篇wiki文章对大多数着名的RDBMS进行了比较:Comparison of relational database management systems
无比较,但列出了内存中的RDBMS:In-memory database
此外,它将在某种程度上取决于您的预期用途。您的约束和最低性能要求是什么?
我认为您最好的选择是获得试用(或免费)版本并设置自己的基准。
答案 4 :(得分:0)
几乎每个DBMS都会做同样的事情,但不同,因此你应该寻找你能找到的最快的DBMS,如果你需要的是速度,那么你应该使用 TimesTen 作为其中一个最快的解决方案,开源DBMS的一点是,一些更高级的功能(如复制)远不及你在商业替代品上找到的那些。很简单,大多数用户不需要在Oracle,DB2或MS-SQL提供的级别上进行复制;因此,PostgreSQL和MySQL开发人员感觉不需要改进它。
这个答案是在寻找这里提到的RDBMS和我已经知道的一些之后获得的最快的答案之后获得的,我2比2寻找最好的,然后寻找获胜者和其他人之间的最佳,结果是 TimesTen 是最快的:
因此,您应该使用您提到的应用程序并设置条件 TimesTen。