Your AI powered learning assistant

Как перенести 10Тб в Postgres за 24 часа? — Александр Любушкин и Андрей Чибук, PGConf.Russia 2023

Перенос 15 ТБАЙТ с Oracle на PostgreSQL за 24 часа Задача состояла в том, чтобы перенести массивную базу данных, содержащую около 600 таблиц, индексов и ограничений общим объемом около 15 ТБАЙТ, с Oracle на PostgreSQL в течение двух дней. Команда состояла из двух инженеров, у которых было ограниченное время для подготовки и экспериментов. Первоначальные тесты показали, что при оптимальных условиях сеть может обрабатывать около 10,5 ТБАЙТ данных в день.

Проблемы, связанные с существующими инструментами Первоначальные попытки использовать стандартные инструменты, такие как pg_dump, были недостаточными из-за их низкой производительности на больших наборах данных. Эксперименты показали минимальные улучшения, несмотря на различные оптимизации, предложенные в документации.

Выбор правильных инструментов: ORG Toolset и FDW-оболочка Набор инструментов ORG помог создать целевые структуры схем, в то время как Oracle Foreign Data Wrapper (FDW) облегчил передачу данных без промежуточных файлов, но оказался слишком медленным для практического использования из-за неэффективности обработки определенных типов данных.

"Руини": Возрожденный многообещающий заброшенный проект "Ruini", заброшенный проект, найденный на GitHub, при соответствующей модификации обеспечивал лучшую производительность по сравнению с существующими решениями — генерировал файлы быстрее, чем ORG, но по-прежнему требовал значительного пространства для хранения, которое было недоступно во время миграции.