Ваша компания передает данные датчиков в реальном времени со своего завода в Bigtable, и они заметили крайне низкую производительность. Как изменить ключ строки, чтобы повысить производительность Bigtable для запросов, которые заполняют информационные панели в реальном времени?
a) Use a row key of the form <timestamp>
b) Use a row key of the form <sensorid>
c) Use a row key of the form <timestamp>#<sensorid>
d) Use a row key of the form >#<sensorid>#<timestamp>
Исходя из документации, какой будет идеальный ключ строки в этом случае? Я думаю, что это должен быть ключ строки сенсорида и метки времени, но я видел некоторую онлайн-статью, в которой упоминается только «метка времени» для вышеуказанного домашнего задания. Пожалуйста, помогите.
У меня есть противоречивые теории относительно приведенного выше конкретного варианта использования, как показано ниже:
- Поскольку строки отсортированы по лексикографическому признаку, не просто целесообразно использовать метку времени в качестве ключа строки. (Из Документа - использование временной метки само по себе в качестве ключа строки не рекомендуется, так как большинство записей будет помещено на один узел.)
- В этом случае использования, поскольку требование представляет собой панель мониторинга в режиме реального времени, это также может означать, что все данные датчика могут храниться только для одной временной метки, поэтому запросы в реальном времени можно выполнять только на основе временной метки.
Пожалуйста, помогите с идеальным ключом строки в этом сценарии использования.