我刚刚发现“有没有人发布过不同内存 RDBMS 之间的详细比较?” 这与我的问题有关。
TimesTen(另请参阅)是 oracle 的一个内存数据库。
它有很多事情要做,包括。
- 快速、一致的响应时间
- 高交易吞吐量
- 标准 SQL,无需应用程序重写
- 持久和可恢复
- 高可用性,无数据丢失
然而,它的价格超出了大多数人的承受能力(41,500.00 美元/处理器)。
那么有哪些替代方案,有哪些优点和缺点。
(如果它改变了你的答案,我正在使用.NET)
我刚刚发现“有没有人发布过不同内存 RDBMS 之间的详细比较?” 这与我的问题有关。
TimesTen(另请参阅)是 oracle 的一个内存数据库。
它有很多事情要做,包括。
然而,它的价格超出了大多数人的承受能力(41,500.00 美元/处理器)。
那么有哪些替代方案,有哪些优点和缺点。
(如果它改变了你的答案,我正在使用.NET)
一个流行的内存数据库系统是 McObject 的 eXtremeDB,参见
http://www.mcobject.com/extremedbfamily.shtml
还有一份很好的白皮书,可以从 McObject 网站的主页下载,名为“内存数据库系统:神话和事实”。它澄清了在讨论该技术时出现的一些问题,例如,“IMDS 与运行在 RAM 磁盘上的‘传统’数据库有何不同?”
早在 2009 年就提出(并回答)了上述问题。但是,这个问题仍然是相关的,我们可以再看一下。
我可以建议 TimesTen 的以下替代方案:
以上所有内容都可以在内存中运行。在功能方面,您可能会发现与 TimesTen 相比缺少一些东西。但它们当然值得一看。
通常,在这个领域,人们也会关注Kx Systems的 kdb 。我认为这两个系统在 2000 年代初期真的很成熟。我会看看带有固态 RAID 阵列的调谐 MySQL 是否会给您所需的性能。
顺便说一句,我曾经写过一个时间序列数据库,它的性能优于 TimesTen 和 Kdb。它支持 SQL-92 语法。性能的关键是将模式绑定到基于 C++ 模板的类,并使用内存映射文件。允许运行中的模式更改非常昂贵,并且在编译时定义模式,只需几条汇编指令就可以检索数据查找。
很久以前我问过这个问题,现在 Microsoft SQL Server 有“内存中 OLTP ”,这是一个集成到 SQL Server 引擎中的内存优化数据库引擎。它并不便宜,但对于某些工作负载来说似乎非常快。
列表中的另一个:开源Tarantool是一个持久的内存选项,像 TimesTen 一样支持 ACID 事务和 SQL。但是,与 TimesTen 不同的是,它可以自动分片,并且还具有用于存储过程的完整 Lua 应用程序服务器。
我最近对 Oracle TimesTen 和 Sybase ASE IMDB 进行了比较。
本文分为两部分,可从以下链接获得。
http://searchoracle.techtarget.com/tip/In-memory-databases-Oracle-TimesTen-vs-Sybase-ASE
http://searchoracle.techtarget.com/tip/In-memory-databases-Oracle-TimesTen-vs-Sybase-ASE-part-2
另一种可能是solidDB,两者之间的比较可以在这里找到:TimesTen and solidDB comparison
添加到 In-Mem 数据库列表。
Apache Derby HyperSQL 或 HSQLDB。
H2 和 HyperSQL 也有兼容模式,可以支持其他数据库的 schema,这是一个非常好的特性。