With the increasing amounts of data that need to be processed in real time, in-memory is gaining traction. Here are a few In-memory open source tools:
The Apache Gora open source framework provides an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop™ MapReduce support.
GridGain is an enterprise open source grid computing made for Java. It is compatible with Hadoop DFS and it offers a substitute to Hadoop’s MapReduce. GridGain offers a distributed, in-memory and scalable data grid, which is the link between data sources and different applications. An open source version is available on Github or a commercial version can be downloaded from their homepage.
Hazelcast is the open source clustering and very scalable data distribution platform for Java. It allows users to partition and share data across a distributed network. It is a peer-to-peer solution and therefore does not require a master node. It is simple to use and comes with an web-based cluster monitoring tool.
NMemory is a lightweight non-persistent in-memory relational database engine that is purely written in C#. It can be hosted by .NET applications and supports traditional database features like indexes, foreign key relations, transaction handling and isolation, stored procedures, query optimization, field constraints.
Terracotta is an in-memory data management platform that is built on top of Ehcache. Ehcache is the de facto Java caching solution that has been a favorite of the open source community since 2003. Terracotta also offers Quartz, a full-featured, open source job scheduling service that can be used with any Java application. Terracotta server is another offering for the open source community that supports fail over for in-memory data. These three offerings make up the Terracotta open source community that is 2+ million member strong and growing.