Das BigTable- Design lehnt viele der Philosophien relationaler Standardmodelle ab und zieht die Denormalisierung ausdrücklich einer großen Anzahl winziger Tabellen vor.
Einer der größeren Bereiche, in denen dies ein Problem darstellt, ist die Modellierung vieler bis vieler Verknüpfungen.
Eine Möglichkeit, diese Verknüpfungen zu modellieren, besteht darin, die erste Normalform zu verletzen und alle interessanten Daten in eine db.ListProperty () einzufügen. Obwohl dies über eine Abfrage durchsuchbar ist, habe ich die Auswirkungen der Suche in einer Liste auf die Leistung im Vergleich zum Abrufen einer anderen Tabelle noch nicht untersucht.
Wie verbindet nicht möglich sind, es ist möglich, Link - Tabellen durch RelationshipProperties. Daher kann mit ausreichendem Aufwand die Standardschnittstellentabelle (eine Tabelle mit einem gemeinsamen Primärschlüssel, der auf beide übergeordneten Tabellen verweist) erstellt werden. Hat jemand die Performance-Hits der verschiedenen Implementierungen untersucht?
-Bearbeiten-
Die in der Dokumentation vorgeschlagene Liste der Schlüssel ist zwar eine Möglichkeit, dies zu tun, aber ich bin an der Leistung und den Anomalieraten dieser und anderer Implementierungen interessiert. Ist es nützlich, gegenseitige Schlüssellisten zu erstellen? Ist der Aufwand für die Wiederholung den Preis wert? Gibt es einen besseren Weg, dies zu tun?
quelle