Modern IoT and Machine to Machine applications need to take millions of decisions per second. While NoSQL databases can provide huge numbers of transactions, they frequently fail to adhere to ACID and in cases of ‘eventual consistency’ may even struggle to guarantee that a finished transaction will actually stay finished. VoltDB’s architecture avoids these pitfalls, ensuring every database transaction driving a decision is:
Durable – Once it’s happened it stays ‘happened’. This seems obvious but in some database products there are scenarios where a decision can just disappear or end up conflicting with another decision taken at the same time in a phenomenon called ‘eventual consistency’.
Scalable – because we’re now dealing with devices asking for thousands of decisions per second instead of humans in call centers we need to be able to make an eye wateringly large number of decisions per second.
Serialized – In cases where the decisions involve arguments over who gets to use a shared, finite resource, such as the last place in a fantasy sports contest, or who spends the last cent in a shared mobile phone plan, we need to be very careful that we can cope with thousands of people trying to all do the exact same thing at the same moment in time.