11

I just found "Has anyone published a detailed comparison between different in-memory RDBMSs?" that is related to my question.

TimesTen (see also) is a In-Memory Database from oracle.

It has a lot going for it including.

  • Fast, consistent response time
  • High transaction throughput
  • Standard SQL, no application rewrite
  • Persistent and recoverable
  • High availability and no data loss

However it is priced out of the reach of most people ($41,500.00 / Processor).

So what alternatives are there, and what are there pros and cons.

(I am using .NET if it changes your answer)

Community
  • 1
  • 1
Ian Ringrose
  • 51,220
  • 55
  • 213
  • 317
  • Sybase introduced an in-memory database option with [ASE 15.5](http://www.sybase.com/products/databasemanagement/adaptiveserverenterprise/ase15-5). – pascal Jan 26 '11 at 14:36
  • Sybase also introduced an in-memory run-mode for SQL Anywhere 11. – pascal Jan 26 '11 at 14:38

8 Answers8

8

A popular in-memory database system is McObject's eXtremeDB, see

http://www.mcobject.com/extremedbfamily.shtml

There is also a good white paper, offered for download from the home page of McObject's Web site, called, "In-Memory Database Systems: Myths and Facts". It clarifies some questions that arise when discussing the technology, such as, "how is an IMDS different from a 'traditional' database running on a RAM disk?"

user193338
  • 196
  • 1
  • 1
6

Above question was asked (and answered) way back in 2009. However, the question is still relevant and we can give a 2nd look.

I can suggest following alternatives to TimesTen:

All of the above can run in-memory. Features-wise you might find things missing as compared to TimesTen. But they are certainly worth a look.

Manu Manjunath
  • 6,201
  • 3
  • 32
  • 31
4

Generally, in this field people also look at kdb from Kx Systems. I think both these systems really had they hay-day in the early 2000's. I would see if a tuned MySQL with a solid state RAID array would give you the performance you need.

BTW, I once wrote a time series database which outperformed both TimesTen and Kdb. It supported a SQL-92 syntax. The key to the performance was binding the schema to C++ template based classes, and using memory mapped files. Allowing for on-the-run schema changes is quite expensive, and defining the schema at compile time, data lookups could be retrieved in just a few assembly instructions.

brianegge
  • 29,240
  • 13
  • 74
  • 99
  • 1
    In-memory databases are generally designed to be "in memory (RAM)" vs. "in SSD"... However, would you care to elaborate on the design of your time series database? I know people who would be very interested if its design is significantly better than both TimesTen and KDB. – Rudiger Mar 13 '10 at 22:48
2

I asked this question a LONG time ago, these days Microsoft SQL Server have "In-Memory OLTP" that is a memory-optimized database engine integrated into the SQL Server engine. It is not cheap, but seems to be very fast for some workloads.

Ian Ringrose
  • 51,220
  • 55
  • 213
  • 317
2

Another for the list: open-source Tarantool is a persistent in-memory option that like TimesTen supports ACID transactions and SQL. Unlike TimesTen, though, it can be auto-sharded and also features a full Lua application server for stored procedures.

eabates
  • 878
  • 1
  • 8
  • 22
1

I have recently done a comparison betweem Oracle TimesTen and Sybase ASE IMDB.

The article is in two parts and available from the following links.

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

Ian Ringrose
  • 51,220
  • 55
  • 213
  • 317
0

An alternative may be solidDB, a comparison between the two may be found here: TimesTen and solidDB comparison

0

Add to the list of In-Mem databases.

Apache Derby HyperSQL or HSQLDB.

H2 and HyperSQL have compatibility mode as well to support schema of other databases, which is a very nice feature.

Acewin
  • 1,657
  • 4
  • 17
  • 36