Мельница данных- Перекачка данных (раздел целиком) (18.01.2025) | (одним файлом) |
Перекачка данных | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для осуществления перекачки данных необходимо:
Перекачка данных осуществляется в любом направлении. Ниже представлены варианты сочетания источников и приемников данных. В случае, если попытка использовать тот или иной оптимизационный механизм оказалась неудачной, производится стандартная перекачка.
Используемые параметры и ключи командной строки: Для перекачки данных используюется команда pump. В строке соединения указывается БД-приемник, кроме случая перекачки данных из БД в папку, файл или zip-архив. Для всех случаев кроме случая перекачки данных из БД в папку, файл или zip-архив командная строка содержит кляузу pump from. Для случая перекачки данных из БД в папку, файл или zip-архив командная строка содержит кляузу pump to.
При перекачке данных учитыватся табличное пространство ("группа файлов") каждой таблицы в случае, если это понятие релевантно для источника и приемника. При использовании папки, файла или zip-архива имя табличного пространства каждой таблицы сохраняется в файле RTTI, и будет использовано, если окажется релевантным. Если в приемнике имеется возможность разместить таблицу в табличное пространство с тем же именем, которое указано в источнике, то это будет сделано. При перекачке данных таже осуществляется перенос последовательностей. При этом переносится текущее значение каждой из последовательностей. Значение кеша последовательности переносится только в том случае, если это понятие релевантно для источника и для приемника. При использовании папки, файла или zip-архива значение кеша сохраняется в файле Sequences, и будет использовано, если окажется релевантным. После завершения перекачки данных в схеме-приемнике остаются следующие объекты:
Этот набор минимально достаточен, чтобы с помощью синхронизации (загрузив метаданные из таблиц, с ключем /T) восстановить метаданные БД в соответствующей схеме, и работать с ней средствами платформы. Особенности перекачки данных в папку, файл или zip-архив: При использовании папки она рассматривается как хранилище файлов перекачки. При использовании файла он рассматривается как хранилище файлов перекачки в формате Microsoft Compound File. При использовании zip-архива он рассматривается как хранилище файлов перекачки. Хранилище файлов перекачки содержит следующие файлы:
Остальные файлы в хранилище будут проигнорированы (если хранилище используется как источник) или удалены (если хранилище используется как приемник). Если в качестве приемника используется zip-архив, то механизм перекачки данных будет использовать информацию об уже содержащихся в архиве файлах, и не будет повторно "пересжимать" уже имеющиеся файлы. Таким образом, можно удобно релизовать "инкрементальное резервное копирование", указывая в качестве приемника перекачки данных один и тот же zip-архив. |
1. Стандартная перекачка данных | ||||
Стандартная процедура перекачки блока данных заключается в открытии однонаправленного курсора на основании запроса типа select... from "..." к таблице-источнику, подготовке запроса insert into "..."("ID",.....) values (:Param1, :Param2....) к приемнику, и многократному выполнению этого единожды подготовленного запроса по мере продвижения вперед по курсору-источнику. Все значения полей при этом проходят через клиентскую сторону, и заливка данных осуществляется по одной записи за одно выполнение запроса. Характерная скорость такой заливки - порядка 5000 записей в секунду.
|
2. Механизмы связи между БД на сервере | ||||||
Механизм может быть принудительно заблокирован ключем /NODBLINK. |
3. Загрузка данных из внешнего файла | ||||||||
Механизм может быть принудительно заблокирован ключем /NOCSV. |
4. Сборка xml-документа на сервере | ||||||
Механизм создает большую нагрузку на сервер БД, но в то же время позволяет существенно ускорить перекачку данных.
Механизм может быть принудительно заблокирован ключем /NOXML. |