Das CAP-Theorem ist als Tradeoff in verteilten Systemen allgemein bekannt. Aber es ist nicht der einzige Kompromiss, dessen man sich bewusst sein sollte. Für Datenbanken gibt es auch die FAB-Theorie und genau wie beim CAP-Theorem können nur (maximal) zwei der drei Eigenschaften gleichzeitig erfüllt werden:
- Fast: Die Ergebnisse stehen in Echtzeit oder nahezu in Echtzeit bereit statt Batch-orientiert.
- Accurate: Antworten sind genau und haben keine Abweichungen.
- Big: Man hat so viele Daten, dass man horizontale Skalierung benötigt und seine Daten verteilen muss.
Während Fast und Big relativ einfach zu verstehen sind, ist Accurate etwas schwieriger darzustellen. Dieser Vortrag zeigt einige konkrete Beispiele für Kompromisse bei der Genauigkeit von Daten am Beispiel von Elasticsearch: Term Aggregationen, Cardinality Aggregationen mit HyperLogLog++ und den IDF-Teil der Volltextsuche. Oder wie man etwas Geschwindigkeit beziehungsweise die Verteilung für mehr Genauigkeit eintauschen kann.