Introducing key/value stores
There are scenarios in which you simply need temporary storage and are going to access it in a simple way, such as by a known unique key, which will be associated with your object. This scenario is the best for key/value stores. Within this concept, you can find a lot of different implementations, which usually share some common features. The basic one is the access model – almost every key/value store provides APIs for retrieving data by using a key. This is basically the same mechanism as hash tables in Java, which guarantee maximum performance. Data retrieved in this way can be serialized in many different ways. The most basic way, for simple values, is strings, but Protobuf is another common choice (see Chapter 8, Designing Application Integration and Business Automation, where we discussed this and other serialization technologies).
A key/value store may not offer persistent storage options, as that is not the typical use case. Data is simply...