Как перенести огромное количество данных (около 10 ТБ) из базы данных Oracle в Snowflake за часы - PullRequest
0 голосов
/ 06 ноября 2019

Как перенести огромное количество данных (около 10 ТБ) из базы данных Oracle в Snowflake за часы? Я вижу некоторые варианты, такие как Hevo и Fivetran, которые оплачиваются. Тем не менее, мне нужно, чтобы данные перемещались быстро, чтобы не было необходимости останавливать производственную систему.

Ответы [ 3 ]

1 голос
/ 06 ноября 2019

Самый быстрый способ получить данные в Snowflake - это файлы чанков от 10 до 100 МБ. Затем вы можете использовать большой склад для КОПИРОВАНИЯ всех чанков за один раз. Я не могу говорить о том, как быстро вывести данные из базы данных Oracle в S3 / Azure Blob, хотя, особенно когда система работает в нормальном режиме.

Я рекомендую вам взглянуть на этот документ из Snowflake дляссылка на снежинку: https://docs.snowflake.net/manuals/user-guide/data-load-considerations-prepare.htm

0 голосов
/ 07 ноября 2019

В идеале вам не нужно останавливать производственную базу данных. Вы должны быть в состоянии классифицировать данные в 1 - исторические данные, которые не будут меняться. Вы можете извлекать эти данные по своему усмотрению, и вам не нужно отключать базу данных. 2 - статические данные, которые достаточно стабильны. Вы также можете извлекать эти данные на досуге

Вам нужно поддерживать свою базу данных достаточно стабильной (не отключенной), когда вы извлекаете остальные данные. Это потребует от вас создания какого-либо способа отслеживания и проверки всех ваших наборов данных. Нет причин, по которым вы не могли позволить пользователям продолжать чтение из базы данных, пока вы выполняете извлечение из Oracle.

0 голосов
/ 07 ноября 2019

Есть ли проблемы со скоростью сети?
В любом случае, данные должны быть сжаты при передаче по сети.

В постановке участвуют три местоположения:

  1. База данных Oracle,
  2. клиент извлечения,
  3. и облачное хранилище.

У вас есть две передачи данных:

  1. между базой данныхи клиент,
  2. и между клиентом и облачным хранилищем.

Если версия Oracle 12cR2 или новее, клиент БД может сжимать данные при извлечении их из базы данных. Затем данные должны быть снова сжаты и переданы в облачное хранилище в пункте назначения Snowflake.

Последний шаг - загрузка данных из облачного хранилища в Snowflake (в том же центре обработки данных) ...

...