3 Must-haves of an In-memory Database for Modern Applications
Editor’s Note: This piece originally appeared in DBTA.
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.
Migration to the cloud is happening – or has 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.
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.
Ensuring the in-memory database you consider is cloud-ready, IoT-ready, and ACID compliant will secure a stable foundation for any application. Only by choosing an appropriate in-memory database, such as VoltDB, will you be able to leverage real real-time data and decisions. VoltDB is a high-performance, in-memory, scale-out operational relational database architected to provide the power and reliability of traditional SQL-based systems with extreme ingestion speed, real-time analytics and decision making, and fast performance.
Learn more at www.voltdb.com/try.