Apache GEODE - A Wonderful Low Latency & High Consistency In-Memory Data Store
Use Cases and Deployment Scope
We are trying to use it as an experimental alternative to redis as a low latency, in-memory server to save copies of static dataloads (configuration data, data that does not change frequently etc) that is saved in our Database (Mysql). Everytime when a request is made for the above mentioned data, instead of loading the data from DB we pull it from Apache Geode
Pros
- Super Fast data pull/push
- Provided ACID transactions, so it works like a SQL Database
- Provides replication & partitioning, so our data is never lost and extraction is super fast. NoSql like properties
Cons
- Needs more supporting languages. Out of box Python, Nodejs adapters would be wonderful
- Currently it supports just KV Store. But if we could cache documents or timeseries data would be great
- Needs more community support, documentation.
Likelihood to Recommend
The biggest advantage of using Apache Geode is DB like consistency. So for applications whose data needs to be in-memory, accessible at low latencies and most importantly writes have to be consistent, should use Apache Geode. For our application quite some amount of data is static which we store in Mysql as it can be easily manipulated. But since this data is large R/w from DB becomes expensive. So we started using Redis. Redis does a brilliant job, but with complex data structures and no query like capability, we have to manage it via code. We are experimenting with Apache Geode and it looks promising as now we can query on complex data-structures and get the required data quickly and also updates consistent.
