Дизайн BigTable отвергает многие философии стандартных реляционных моделей, явно предпочитая денормализацию большому множеству крошечных таблиц.
Одной из самых больших областей, в которых возникает эта проблема, является моделирование множества соединений.
Одним из способов моделирования этих объединений является нарушение первой нормальной формы и помещение всех интересных данных в db.ListProperty (). Несмотря на то, что это позволяет выполнять поиск по запросу, я еще не исследовал влияние производительности на поиск в списке по сравнению с извлечением другой таблицы.
Как присоединяется не представляется возможным, то это возможно таблицы связей через RelationshipProperties. Следовательно, при достаточных усилиях можно создать стандартную таблицу пересечений (таблицу с объединенным первичным ключом, который ссылается на обе родительские таблицы). Кто-нибудь исследовал хиты производительности различных реализаций?
-Редактировать-
Хотя предложенный в документации список ключей действительно является одним из способов сделать это, меня интересует производительность и частота аномалий этой и других реализаций. Есть ли полезность в создании взаимных списков ключей? Стоит ли усилие, вовлеченное в повторное, получить цену? Есть ли лучший способ сделать это?
источник