У меня есть некоторые данные, которые я хотел бы разделить по дате, а также разделять внутренне определенным идентификатором клиента.Творческое использование разделов дат
В настоящее время мы сохраняем эти данные с использованием модели таблицы-даты. Он работает хорошо, но запросы отдельных идентификаторов клиентов медленны и дороги.
Мы рассмотрели создание таблицы для каждого идентификатора клиента и использование разбиения по дате в этих таблицах. Единственная проблема здесь заключается в том, что заставляют нас брать тысячи рабочих мест в день, а также иметь данные, разделенные идентификатором клиента заранее.
Вот возможное решение я придумал: -Stick с подходом таблицы на дату (например, log_20170110) -Создание фиктивного столбец даты, которую мы используем в качестве даты раздела, и установить эту дату - 01-01 (например, для идентификатора клиента 1235, установите _PARTITIONTIME на 1235-01-01)
Это позволит нам загружать данные в день, как и сейчас, дает нам разбиение по дате и будет использовать чтобы разделить на идентификатор клиента. Вы видите что-то не так с этим подходом? Будет ли BigQuery позволять нам хранить данные за 200 год или 5000 год?
PS: Мы также можем использовать схему, которая подталкивает даты к post-zero-unixtime, например, добавляет 2000 к году или нажимает последние две цифры на месяц и день, например 1235 => 2012-03- 05.