Datenmodell
MutterDB speichert keine Personen, sondern Mütter-Profile. Jedes Profil ist ein dokumentenartiger Eintrag mit erweiterbaren Eigenschaften:
{
"id": "mom_helga_64",
"first_name": "Helga",
"age": 64,
"weight_class": "freundlich",
"phrases": [
"Hast du gegessen?",
"Zieh dir was Warmes an.",
"Ich sag ja nichts."
],
"call_freq": "hoch",
"last_advice": "Ruf öfter an.",
"_indexed": ["phrases", "call_freq"]
}
Eigenschaften
- Verteilt: automatisches Sharding nach Postleitzahl der Mutter
- Replikation: mindestens 3 Tanten in der Replikationskette
- Konsistenz: eventual — wie deine Mutter, wenn du nicht aufräumst
- ACID: Atomar, Cholerisch, Iso-süß-sauer, Direkt
- Backup: tägliches Snapshot in Helgas Schuhkarton
Performance
10 Mrd.indizierte Mütter
2 msP99 Read-Latenz
11 msP99 Write-Latenz (passive Aggression inkl.)
99,9999%Verfügbarkeit (außer sonntags)
Wann verwenden?
- Du willst Mama-Profile strukturiert speichern, statt sie deinem Vater im Kopf zu lassen.
- Du brauchst Volltextsuche über alle ihre Anrufe der letzten 30 Jahre.
- Du willst aggregieren: „Wie oft hat sie diese Woche gefragt, wann ich heirate?"
NoSQL.
Nein. Es heißt nur „NoSQL", weil nooooo, son lacht nicht.