TimesTen和solidDB比较

同步自我的个人博客http://seodashi.sinaapp.com/timesten_soliddb_compare.html

需求:

最近在用C#编写一个桌面应用程序,要完成实时交易功能,哪种内存数据库最好的?

调研:

调研了一下,很难有合适的数据库解决这个问题。要看缓存的数据的类型,一种是处理过程中的中间数据,一种是数据库的缓存,或者是两种数据的混合。还 要看这些数据是否要与其他客户端共享。还要看这些缓存是否需要一个查询解析器。还要看是否需要处理实时的外部消息来更新这部分缓存数据。

最终可供选择的数据库有:普通的非关系型数据库(NO-SQL),Sybase ASE 15的内存数据库功能,Oracle的TimesTen和IBM的SolidDB。

比较:

TimesTen:

TimesTen 是oracle出品的内存数据库(In-Memory Database)。

优点:
  • 有商业公司的技术支持,技术响应快速
  • High transaction throughput 高事务吞吐量
  • Standard SQL, no application rewrite 支持标准sql语句查询
  • Persistent and recoverable 可持久化和可恢复到内存中
  • High availability and no data loss 高可用性,并且无数据丢失
缺点:

对于很多公司来说价格很贵 ($41,500.00 / Processor).

SolidDB:

solidDB 6.3是IBM产品 DB2 v9.5 中的一个组件。

下面是两个产品的比较:

FunctionalityIBM solidDB 6.3Oracle TimesTen 11g
SQL Support Large subset of SQL92 and selected features of SQL98 and SQL2003 SQL-92
Stored procedures Subset of DB2 SQL PL PL/SQL
IMDB as a secondary cache to RDBMS DB2, Microsoft SQL Server, Oracle DB, IDS, Sybase Oracle DB
OS supported Windows, Unix/Linux, Solaris, AIX, HP Windows, Unix/Linux, HP, Solaris, AIX
API JDBC, ODBC, solidDB SA, CLI JDBC, ODBC, JMS/XLA, CLI

结论:

操作速度比较

  1. 查询操作两家的内存数据库都比各自的RMDBS快5倍。
  2. 插入和删除操作分别比各自的RMDBS快2倍和4倍。

可扩展性

横向扩展性就是说向资源池增加节点后就能相应的增加数据负载。这需要数据库有查询路由功能,能奖查询路由到数据所在的节点上。

solidDB在透明查询中,首先奖节点增加到两个,然后将模式设置为HA HotStandby模式。不支持其他方式的数据分区。

TimesTen较为高级,有Cache Grid机制来提供横向扩展。

 

参考文献:

1.http://bigdatamatters.com/bigdatamatters/2009/12/oracle_ibm_database_comparison.html

posted @ 2012-11-18 11:01  njuxdj  阅读(1085)  评论(0编辑  收藏  举报