2016-10-20 4 views
0

В Google Bigquery (или аналогичной базе данных), каков соответствующий баланс между денормализацией данных и не повторяющимися данными?Обозначение bigquery

К примеру, у нас есть table_1 с колоннами

  • Дата
  • значение А
  • значение B

И еще table_2 с колоннами

  • дата
  • значение B
  • значение C

table_1 составляет около 10 000x больше table_2, и так сделать таблицу со всеми тремя колонками будет дублировать много данных. И table_2 используется в некоторых других обстоятельствах, поэтому может иметь смысл держать отдельные

Спасибо за любой проницательности

Какой самый лучший способ думать об этом?

+1

Вы потратили на них разумное сравнение? Помните, что в настоящее время $ 20 составляет 1 Тбайт данных на BigQuery. Я чувствую, что хранение сегодня настолько дешево, что мы не думаем об этом, просто мы повторно используем данные столько раз, сколько нам нужно. – Pentium10

+0

Это проблема управления данными, которая связана с издержками. Вы совершенно правы, что хранилище сейчас так дешево. Моя забота заключается в том, что массированное умножение данных будет трудно справиться с POV загрузки и обслуживания. – Maximilian

ответ

1

Если подразумевается денормализация ваших данных, это возмутительное увеличение стоимости хранения (что маловероятно), вам лучше полностью денормализировать его.

Bigquery, скорее всего, будет работать быстрее, и запросы будут проще настроить. При попытке минимизировать количество сохраненных данных мало пользы, и вы платите затраты во время запроса и стоимости запроса, когда вам нужно снова присоединиться к таблицам.

Если у вас есть сочетание таблиц с некоторыми большими и небольшими, и вам не всегда нужно ссылаться на большие таблицы для запросов, могут быть практические преимущества в том, чтобы держать таблицы отдельно, и это может снизить затраты на запрос.

0

Учитывая, что таблица1 на 10000x больше, чем таблица2, я бы не денормализовал данные. Вы заплатили бы 10000 раз больше за выполнение запроса только с данными из таблицы 2.

Чтобы принять решение, я бы проанализировал, как часто запросы, соединяющие столбцы C с A, должны знать, оправдывается ли стоимость денормализации. Соединения дорого стоят в BigQuery, но все же доступны, если они не часто случаются.

Смежные вопросы