I think your comparison is slightly unfair, its comparing apples with oranges to look at in-mem dbs on one side and persisted dbs on the other hand. KDB can be run purely persisted or in-memory or as a combination of both. HDF5 on the other hand to my knowledge is a purely persisted db. Obviously stuff queried in memory is a lot faster without going the disk I/O route, even if query logic is not well written.
Quote from Makis:
Yes, TimesTen is strictly an in memory db. You cannot have more data than your available memory. There is an agent running as a separate process which receives messages via TCP/IP and replicates into disk. This is done asynchronously (in other words, you may loose messages if your db crashes, but that is a 'feature' of all in-memory databases.).
I have worked with in memory databases as a user and not admin, so I am not very aware of the internal workings, but I guess TimesTen offers different variations of persistence via configuration, which may influence performance. I have seen environments where persistence/replication has been disabled all together to gain some speed, and at the end of the day a 'save' command writes everything to a disk file.
Given the HUGH amount of storage needed agains the ease of having more cores on the database server (which, usual in SQL, are mostly doing nothing unless you aggregate etc.) this is a VERY easy guess to make