El diseño de BigTable rechaza muchas de las filosofías de los modelos relacionales estándar, prefiriendo explícitamente la desnormalización a una gran cantidad de pequeñas tablas.
Una de las áreas más grandes donde este es un problema es el modelado de muchas o muchas uniones.
Una forma de modelar estas combinaciones es violar la primera forma normal y poner todos los datos interesantes en un db.ListProperty (). Si bien esto tiene la capacidad de poder buscarse desde una consulta, aún no he explorado las implicaciones de rendimiento de buscar en una lista en lugar de extraer otra tabla.
Como las uniones no son posibles, es posible vincular tablas a través de RelationshipProperties. Por lo tanto, con suficiente esfuerzo, se puede crear la tabla de intersección estándar (una tabla con una clave primaria conjunta que hace referencia a ambas tablas principales). ¿Alguien ha explorado los éxitos de rendimiento de las diversas implementaciones?
-Editar-
Si bien la Lista de claves sugerida en la documentación es de hecho una forma de hacerlo, estoy interesado en el rendimiento y las tasas de anomalías de esa y otras implementaciones. ¿Hay utilidad en la creación de listas mutuas de claves? ¿El esfuerzo involucrado en lo repetido vale el precio? Hay una mejor manera de hacerlo?
fuente