Database Theorems

What is a database theorem?

A database theorem is essentially a non-functional property trade-off (system or operations related) where specific properties cannot be provided at the same time (or only to certain degrees).

CAP Theorem (Brewer’s Theorem)

The CAP theorem is one of the most known theorems: “… any distributed data store can only provide two of the following three guarantees: […] Consistency […] Availability […] Partition tolerance” (https://en.wikipedia.org/wiki/CAP_theorem).

BAC Theorem

The BAC theorem appeared on my radar in context of researching microservice architecture patterns.

PIE Theorem

“The PIE theorem posits that we can choose two out of three desirable features in a data system: Pattern Flexibility […] Efficiency […] Infinite scale […]” (https://learning-notes.kovacevic.dev/Databases/Theory/PIE-Theorem).

PACELC Theorem

The PACELC theorem is not as known as CAP, but for global or wide-area applications it is more relevant: “… in case of network partitioning (P) in a distributed computer system, one has to choose between availability (A) and consistency (C) (as per the CAP theorem), but else (E), even when the system is running normally in the absence of partitions, one has to choose between latency (L) and consistency (C)” (https://en.wikipedia.org/wiki/PACELC_theorem).

Request: if you know of additional database related theorems …

… please let me know and I’ll include those. Thank you in advance.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store