Может ли Spanner поддерживать индексы для легкого подсчета аналитических запросов моих данных?
Я хотел бы дать своим партнерам результаты простого COUNT(*) ... GROUP BY items.color
введите запросы и, возможно, присоединяется к items
а также orders
или что-то подобное. Я бы хотел, чтобы время ответа на запрос составляло менее одной секунды (в худшем случае порядка секунды) и масштабировалось до миллиардов строк.
Мой текущий подход заключается в резервном копировании данных GCDatastore и их загрузке в BigQuery и предоставлении ежедневной аналитики или использовании GCDataflow для поддержки набора предопределенных счетчиков.
Это то, что Spanner использует в качестве сценария использования, если я перевожу свой бэкэнд из Datastore в Spanner?
1 ответ
Сегодня выполнение подсчета запросов в Cloud Spanner требует полного сканирования таблицы. В зависимости от размера таблицы это может занять больше секунды.
Одна вещь, которую вы могли бы сделать, это отслеживать количество в отдельной таблице, и всякий раз, когда вы обновляете items
таблица, обновить счет в той же транзакции.