With the current trends and competition between database vendors, major database vendors like Oracle and SQL Server are moving towards in-memory database services, although in-memory database server already have long history since 1993. Most of us already heard and learnt about in-memory database service where
most or all of the database gets loaded into RAM(memory) which decrease lazy-writes,page-fault and IO latency problem of storage in the sever.
This is really tempting from the performance point of view but at the same time, do you think about it’s implementation prospective?
Since all the data in Main memory which is volatile in nature, that may lose all the recent data if they are not written already in storage device in case of power failure. So before jumping into in-memory database system, one should consider its consequences in case of power failure. Also one should learn how often those transnational data
get written into storage device and time-interval between two successive write to storage. That time-interval plays crucial role in the consistency of the database.
Although RAM price decreased exponentially, but still more expensive than disk or flash drive. In case of large database system with Terabytes of size, it will be practically impossible to implement financially. Also getting in-memory database system will be expensive than traditional system. There are limited number of slots for memory, which will affect scalability of in-memory system.
Last but not least, all the data should be loaded into memory at start-up. It will be terribly slow to get all the database loaded into memory.
So guys, I am not hopeless about the product though, neither you should be. Vendor may have already considered these concerns and set some technologies to workaround these issues.
Lets hope for the best!! Cheers..