Apache Ignite as an Inter-Microservice Transactional In-Memory Data store

Dishan Metihakwala
The Startup
Published in
6 min readMay 12, 2020

--

For the past few years, hearing the terms “distributed” and “data store” in a single sentence would immediately move my mind to visualize a single word, “Redis”. Now, this was not entirely down to my ignorance. A quick googling would remind you that Redis is still the #1 in the rankings for Key-value stores and ranked #8 out of all DB engines. However, as the proverb goes, there is more than one way to skin a cat. And some of these ways are obviously more equal than others. Behold Apache Ignite.

Apache ignite is an in-memory computing platform that is durable, strongly consistent, and highly available with powerful SQL, key-value, and processing APIs. A comprehensive comparison between Ignite and Redis can be found here. It’s optional support for native persistence is quite advanced compared to the snapshot-based persistence model of Redis. The ability of Ignite to support ACID guaranteed transactions is quite impressive as well. But I was impressed the most by the ANSI-99 compliant, horizontally scalable, and fault-tolerant SQL engine that allows you to interact with Ignite as with a regular SQL database using JDBC, ODBC drivers, or native SQL APIs.

Apache Ignite supports several tech stacks including Java, .Net, C++, Python, JavaScript and PHP. For this article I’m going to use examples from…

--

--

Dishan Metihakwala
The Startup

Technical Architecture Specialist — Accenture UK , Engineering Manager, Enterprise Architect, Lover of Classic Cars