IMDB or IMDG?
We have two alternatives to reach XTP:
- In Memory Database (IMDB); such as IBM solidDB, SAP liveCache, Oracle TimesTen which are database/SQL oriented in memory solutions.
- In Memory Data Grid (IMDG); such as Oracle Coherence, Gigaspaces EDG which are object oriented in memory solutions.
Now the question is, which one is better for an enterprise (banking) system?
Amin, I found this presentation quite interesting: http://www.incept5.com/library/TSS%20EJS%202008%20-%20The%20Enterprise%20without%20a%20Database%20-%20John%20Davies.pdf it shows the trend. Whatever the IM* solution what’s constant is that we’re seeing the memory as the master and the db as a slave/archive/log, more and more. If you think deeper about what’s proposed in this pdf, you see that IMDG makes more sense, if the master is to be the memory, because it’s closer to our object based runtime. Less layers and less transformations from messages and objects to db format will lead to better performance. Don’t you agree?
Ara.
Amin,
Both solutions support performance requirements as most transaction processing is done in-memory and not boud to disk as in RDBMS. However, IMDB are limited to a single process memory capacity. If your problem is (or will become) bigger you will have to use data partitioning which is part of IMDG implementation.
Guy Nirpaz,
GigaSpaces Technologies.
Dear Guy Nirpaz,
Thanks for your comment. But AFAIK solidDB for example support clustered memory among multiple machines hence not limited to a single processor memory. Though I need to recheck this.
Amin
Dear Ara,
Thanks for comment. Yes I also heard his podcast. Pretty cool. He talks about IMDBs without even mentioning any and just focuses on IMDG!
Amin