Over a million developers have joined DZone.

3 Must-Haves of an In-Memory Database for Modern Applications

DZone 's Guide to

3 Must-Haves of an In-Memory Database for Modern Applications

Regardless of use case, correct data is the key to success. Learn the importance of being cloud-ready, being IoT-ready, and having ACID compliance.

· Database Zone ·
Free Resource

More companies are realizing that leveraging real-time data is the key to success in modern applications, which means that more people are searching for the right in-memory database technology. However, with many options, comparing in-memory databases for your use case can be challenging.

Regardless of use case and which database you choose, there are three essential components that any in-memory database of quality must fulfill: being cloud-ready, Internet of Things (IoT)-ready, and ACID-compliant.

1. Cloud-Ready

Migration to the cloud is happening — or has already happened, depending on your industry. The cloud and virtualization give you access to easy, dynamic scalability not possible with traditional infrastructure. This lets you reduce hardware deployment and maintenance costs. The cloud additionally enables you to leverage distributed systems in your applications like never before, such as IoT applications, allowing you to provide even greater value with your product or service than with non-cloud based systems.

While the cloud has many benefits, the biggest question is, “How do we get there?” Traditional infrastructure was not built for dealing with the cloud, meaning that any virtualization implementation on that infrastructure would require expensive upgrades or kludging to achieve desired functionality. To avoid these growing pains, you need to use an in-memory database that was born and bred for the cloud. Cloud-ready databases will make the transition to the cloud much easier than trying to use non-cloud-ready infrastructure.

2. IoT-Ready

The biggest use of the cloud is going to be IoT. Analyst firm Gartner predicted that around 6.4 billion IoT devices would be in use worldwide in 2016, and a McKinsey report estimates that IoT has the potential to represent around 11% of the world’s economy by 2025. These figures alone show the transformative impact that IoT is having and will have.

Preparing for the IoT revolution will be a major challenge in the near future. Most current infrastructures just do not meet the stringent requirements to power IoT applications. You will have to deal with millions, if not billions, of sensors sending data to your data centers each second. That data needs to be processed in real-time to make real-time decisions and get maximum value out of your applications.

A common use case example of IoT is smart meters, which monitor real-time usage and conditions, such as weather, time of day, and so on. The meters then adjust the price of service(s) accordingly. Since usage and conditions can change any instant, you need real-time monitoring and decisions to get the most out of each meter. Another proven IoT use case is to monitor hardware, such as storage arrays, for performance and problems. If a problem or low performance is detected, a service call can be placed automatically, making preventive maintenance much easier.

Having an IoT-ready database will allow you to leverage IoT’s abilities to their full potential.

With the deluge of data IoT applications will provide, making large amounts of real-time decisions quickly, in real-time will be critical. However, it is crucially important that those decisions are also correct. Imagine a health-related IoT device (a heart monitor, for example). Ensuring that data and decisions regarding this device are immediately correct could be the difference between life and death.


Even for less dramatic IoT and non-IoT use cases, having immediate consistency is important. Quick transactions and fraud detection are two of many real use cases where having consistency is integral to the application. Most IoT communication will be machine to machine (M2M), which occurs at machine speed, not human speed. Manually ensuring that transactions and decisions are correct and consistent will be too slow for IoT applications.

Having an ACID-compliant database means that you know that your data is 100% accurate — regardless of use case. Relying on an eventually-consistent or non-ACID database means you cannot be sure you will always make the correct decision; relying on a non-ACID database is tantamount to guessing. Regardless of use case, correct data is the key to success.

database ,in-memory database ,acid ,modern apps

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}