This document summarizes key abstractions that were important to the success of Comdb2, a highly available clustered relational database system developed at Bloomberg. The four main abstractions discussed are:
1. The relational model and use of SQL provided important abstraction that simplified application development and improved performance and reliability compared to a noSQL approach.
2. A goal of "perfect availability" where the database is always available and applications do not need error handling for failures.
3. Ensuring serializability so the database acts as if it has no concurrency to simplify application development.
4. Presenting the distributed database as a "single system image" so applications do not need to account