Как создать Bigtable Key - PullRequest
       25

Как создать Bigtable Key

0 голосов
/ 04 декабря 2018

Я бы создал свой оптимальный ключ в Bigtable.Я знаю, что ключевой дизайн имеет решающее значение для скорости запросов и оптимизации.Мой случай связан с информацией о временных рядах с сетевого компьютера.Это высокая и узкая таблица с 3 столбцами: id, info и datetime.

Мой самый частый запрос - получить всю информацию для каждого идентификатора за каждый день.

Как должен быть разработан ключ, чтобы получить лучшие характеристики?id#date

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Раскрытие информации: я возглавляю управление продуктами для Google Cloud Bigtable.

Мой случай связан с информацией о временных рядах с сетевого компьютера.Это высокая и узкая таблица с 3 столбцами: id, info и datetime.

Учитывая, что id находится в ключе строки, я не уверен, нужен ли вам отдельный столбец id.

Аналогичным образом, не могли бы вы уточнить, почему вам нужно иметь datetime в качестве отдельного столбца?Обратите внимание, что каждое значение в Cloud Bigtable имеет связанную временную метку, поэтому вам не нужно хранить отдельную дату / время в отдельном столбце.

Мой самый частый запрос - получить всю информацию для каждогоидентификатор на каждый день.

Как должен быть разработан ключ для достижения наилучших результатов?id # date?

Я бы рекомендовал сделать так, как вы предлагали: id#date в качестве ключа строки, и сохранить все данные для этой даты в одной строке, используя отметку времени каждой ячейки.значение, чтобы дифференцировать его, чтобы вы могли получить точную метку времени каждого чтения.

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

Удачи в вашем проекте;пожалуйста, дайте нам знать, как оно идет!

0 голосов
/ 05 декабря 2018

Это сложная тема, которая зависит от количества данных, которые вы ожидаете получить, структуры идентификаторов, количества идентификаторов и т. Д.

В документации Cloud Bigtable есть страница, подробно описывающая эту тему:

https://cloud.google.com/bigtable/docs/schema-design-time-series

, что, вероятно, лучше, чем можно здесь представить.

Как должен быть разработан ключ для получения наилучших характеристик?id # date?

Если у вас много машин, и их идентификаторы достаточно разные (поэтому они не являются горячими точками), то, возможно, id # date # time.Вы можете запросить идентификатор и дату, используя диапазон, который должен быть очень эффективным.

...