Google BigQuery (BQ) позволяет создавать разделы, используя только типы timestamp
или date
.
99% моих данных имеют очень четкий селектор, idClient. Я создал для представления моего клиента предикат вроде idClient = code
, поэтому конфиденциальность гарантирована.
Проблема этой стратегии заключается в том, что есть клиенты с 5M строками и другие с 200K, и, поскольку BQ
не имеет индексов, они всегда обрабатывают данные друг от друга (и затраты растут).
Я намереваюсь создать поле timestamp
, где у каждого клиента будет свой timestamp
, который будет повторяться для каждой вставки в каждой чувствительной к клиенту таблице, и, таким образом, я могу запросить по timestamp
, исправив его, как если бы быть со стандартным ID.
Имеет ли это какой-то смысл? Если бы BQ была индексированной базой данных, я бы беспокоился о перекосе данных, но, поскольку это всегда полное сканирование таблицы, я думаю, что у меня были бы только преимущества и никаких недостатков.