Для соответствия требованиям мы хотели бы переместить все наши данные Bigquery и данные GCS из региона США в регион ЕС. Насколько я понимаю, мультирегиональность находится либо в США, либо в ЕС. Межрегионального варианта как такового нет.
Вопрос 1: Чтобы переместить данные из США в ЕС или наоборот, мы понимаем, что нам нужно явно переместить данные с помощью службы передачи хранилища. И учитывая стоимость, связанную с этим перемещением, даже если оно находится в облаке Google?
Вопрос 2: Мы также думаем, сможем ли мы хранить копии в обоих местах. В этом случае предусмотрена ли межрегиональная репликация? Если да, то какова будет соответствующая стоимость за то же самое?
Согласно документам, после создания набора данных местоположение нельзя изменить, но вы можете скопировать набор данных в другое место или вручную переместить (воссоздать) набор данных в другое место.
Более простой подход — копирование, вы можете узнать больше о требованиях, квотах и ограничениях здесь: https://cloud.google.com/bigquery/docs/copying-datasets
Так:
BigQuery не создает автоматически резервную копию или реплику ваших данных в другом географическом регионе. Вы можете создавать копии наборов данных между регионами, чтобы улучшить свою стратегию аварийного восстановления.
https://cloud.google.com/bigquery/docs/availability#:%7E:text=cross%2Dregion%20dataset%20copies
Таким образом, в обоих случаях вам нужно работать с копиями набора данных и иметь дело со свежестью данных во втором сценарии.
Вопрос 1:
Вы перемещаете данные из одной части мира в другую. Итак, да, вы заплатите стоимость выхода из исходного местоположения.
К сожалению, сегодня (28 ноября 2023 г.) я не могу на 100 % оплатить эту стоимость. Действительно, я связался с Google Cloud по очень похожему вопросу, и мой контакт в Google Cloud сказал мне, что страница стоимости устарела. Должна применяться стоимость исходящего трафика облачного хранилища (вместо стоимости исходящего трафика Compute Engine Networking, как сегодня указано в документации).
Вопрос 2:
Вы копируете данные, поэтому в конце у вас есть объем данных, дублированный в 2 набора данных, и у вас дублируется стоимость хранения.
Каждый раз, когда вы хотите синхронизировать данные, вы выполняете копирование. Это только копия, а не смарт-дельта-обновление. Поэтому будьте осторожны, если вы обновляете данные непосредственно в целевом наборе данных: новая копия переопределит данные!
Вместо этого используйте целевой набор данных в качестве основы для запроса и продублируйте (снова) данные в независимом наборе данных, куда вы можете добавить данные, специфичные для вашего региона.
Имя набора данных должно быть уникальным для каждого проекта. Мое решение состоит в том, чтобы добавить суффикс/префикс к набору данных для каждого региона.
Существуют ли какие-либо ограничения на копирование имени набора данных/таблицы между регионами. Например: DATASET1 и таблица Customer. Могу ли я реплицировать одно и то же имя набора данных и имя таблицы в другом регионе? Идея состоит в том, чтобы использовать тот же код для запуска запроса, за исключением изменения региона?