Fundamental to any operational database is its ability to store information durably and be resilient to unexpected machine failures. In more technical terms, an operational database must:
The previous chapters have been touting the ability of in-memory, distributed, SQL-based (relational) databases to provide the fastest performance for a wide amount of use cases, but the data persistence question always arises:
If the database is “in-memory,” what guarantees are there that the data will be fully persistent and always available?
This section will dive deep into the details of in-memory, distributed, SQL relational database systems and how they can be architected to guarantee data durability and high availability. Figure 8-1 presents a high-level architecture that illustrates how an in-memory database could provide these guarantees.
For data storage to be durable, it must survive in the event of a server failure. After the server failure, the data should be recoverable into a transactionally consistent state without any data loss or ...