Il progetto BigTable rifiuta molte delle filosofie dei modelli relazionali standard, preferendo esplicitamente la denormalizzazione a una grande schiera di piccoli tavoli.
Una delle aree più ampie in cui questo è un problema è la modellazione di molti o molti join.
Un modo per modellare questi join è violare la prima forma normale e inserire tutti i dati interessanti in un db.ListProperty (). Mentre questo ha la capacità di essere ricercabile da una query, non ho ancora esplorato le implicazioni sulle prestazioni della ricerca di un elenco piuttosto che estrarre un'altra tabella.
Poiché i join non sono possibili, è possibile collegare le tabelle tramite RelationshipProperties. Pertanto, con sufficiente sforzo, è possibile creare la tabella di intersezione standard (una tabella con una chiave primaria comune che fa riferimento a entrambe le tabelle principali). Qualcuno ha esplorato i successi delle prestazioni delle varie implementazioni?
-Modificare-
Mentre l'elenco delle chiavi suggerito nella documentazione è davvero un modo per farlo, sono interessato alle prestazioni e ai tassi di anomalia di quella e di altre implementazioni. Esiste utilità nella creazione di elenchi reciproci di chiavi? Lo sforzo coinvolto nel ripetuto vale il prezzo? C'è un modo migliore per farlo?