powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ускорение загрузки данных из oracle в mssql
25 сообщений из 38, страница 1 из 2
Ускорение загрузки данных из oracle в mssql
    #39850492
assmsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Есть такая проблема, циклом загружаются xml'ки с сервера oracle, поле хранится в формате clob. XML очень большого размера поэтому загружаются очень медленно.

Цикл забирает по 500 строчек + сжимает поле в varbinary (иначе занимают слишком много места)

1 итерация цикла занимает по времени 6 минут
без сжатия в varbinary 4 минуты
без этого поля 3 секунды

Есть какие нибудь варианты ускорить процесс но и место не сжирать?
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39850495
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assmsk,

так где медленно? на стороне оракла, или мс?
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39850516
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assmsk,

самое быстрое - распараллелить
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39850529
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критикassmsk,

самое быстрое - распараллелить

тут же вопрос во что упирается

может база в FULL + в синхронной AG и все на ожидании записи commit-ов в лог вторичной реплики висит?
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851191
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assmskВсем привет.
Есть такая проблема, циклом загружаются xml'ки с сервера oracle, поле хранится в формате clob. XML очень большого размера поэтому загружаются очень медленно.

Цикл забирает по 500 строчек + сжимает поле в varbinary (иначе занимают слишком много места)

1 итерация цикла занимает по времени 6 минут
без сжатия в varbinary 4 минуты
без этого поля 3 секунды

Есть какие нибудь варианты ускорить процесс но и место не сжирать?

SSIS
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851262
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда дискеткой быстрее.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851646
assmsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex,
база в bulk logged
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851648
assmsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
a_voronin,
пробовал пакетом, выйгрыш практически не заметен
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851667
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assmskXML очень большого размера
любой здоровый блоб что писать, что читать, медленне не бывает.
все время уходит на построение/чтение г-дерева,
в котором живет блоб.
(*г-дерево в данном случае это не есть научный термин,
г тут от слова, точно описывающего сущность сей структуры данных)
---
огласите средний размер в Гб того, что идет в данное поле,
скорее всего это и есть ваша проблема
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851671
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin, Владислав Колосов,

Делал через linked server к oracle. Проблем не было. Скорость не интересовала.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851672
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gatora_voronin, Владислав Колосов,
Делал через linked server к oracle. Проблем не было. Скорость не интересовала.
и вы тоже огласите размер своих блобов.
может, они вообще в INROW влазили
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851683
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123, у меня да. Влезали в 7000
в основном были фото/сканы паспортов, дипломов, родух...
Художественные фотки - на диске.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851689
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так я и говорю.
когда все лезет в инроу, можно и блобом это не называть.
а у ТС здоровый блоб, он сам написал.
и все время идет на запись его в дурацкое дерево.
и читаться будет, кстати, с такой же скоростью.

ТС, как там с чтением уже записанного, те же тормоза?
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851711
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

Ну... клиенту - клментово, серверово - серверу.
Не хватало ещё на ТSQL PDFs и TIFFы разбирать.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851725
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorYasha123,

Ну... клиенту - клментово, серверово - серверу.
Не хватало ещё на ТSQL PDFs и TIFFы разбирать.
а почему это мне адресуется?
я пдф-ы в таблицах не храню.
даже совсем наоборот:
на новом месте работы товарищи их хранили,
а с моим приходом все блобы выкатились обратно на диск
и база теперь занимает 1/10 первоначального объема.
я - злейший враг blob-ов и identity, потому что эти 2 сущности меня достали
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851735
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123а почему это мне адресуется?

Типа иллюстрации ваших слов
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851752
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorYasha123а почему это мне адресуется?

Типа иллюстрации ваших слов

а где я на словах или еще как "на ТSQL PDFs и TIFFы разбираю"
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851754
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123Gatorпропущено...

Типа иллюстрации ваших слов

а где я на словах или еще как "на ТSQL PDFs и TIFFы разбираю"

поздно, теперь не отмоетесь.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851775
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex ,
пока вы тут, вопросец для вас.
offtopicвы случайно не в курсе,
почему при переносе таблицы с identity,
если на identity PK clustered,
то даже при переносе вида

Код: sql
1.
2.
3.
4.
5.
6.
7.
set identity_insert t2 on;

insert into t2 with(tablock) -- PK on t2(id)
(...)
select ...
from t1
order by id -- PK on t1(id);


присутствует sort?
т.е. в скане t1 ordered = False.

это точно гадит identity,
потoму что если в новой таблице сделать sequence + default на поле,
все отлично переносится без сорта

...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851784
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123 msLex ,
пока вы тут, вопросец для вас.
offtopicвы случайно не в курсе,
почему при переносе таблицы с identity,
если на identity PK clustered,
то даже при переносе вида

Код: sql
1.
2.
3.
4.
5.
6.
7.
set identity_insert t2 on;

insert into t2 with(tablock) -- PK on t2(id)
(...)
select ...
from t1
order by id -- PK on t1(id);



присутствует sort?
т.е. в скане t1 ordered = False.

это точно гадит identity,
потoму что если в новой таблице сделать sequence + default на поле,
все отлично переносится без сорта




offtopic
Я не часто занимался переносом identity (хотя и приходилось), и такой проблемы не наблюдал (возможно, просто не обращал внимания)

Проблема именно с PK, или достаточно уникального кластерного индекса?
На "старых" версиях (те, что до появления IDENTITY_CACHE) тоже воспроизводится?
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851786
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

15651284
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851787
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLexYasha123 msLex ,
пока вы тут, вопросец для вас.
offtopicвы случайно не в курсе,
почему при переносе таблицы с identity,
если на identity PK clustered,
то даже при переносе вида

Код: sql
1.
2.
3.
4.
5.
6.
7.
set identity_insert t2 on;

insert into t2 with(tablock) -- PK on t2(id)
(...)
select ...
from t1
order by id -- PK on t1(id);




присутствует sort?
т.е. в скане t1 ordered = False.

это точно гадит identity,
потoму что если в новой таблице сделать sequence + default на поле,
все отлично переносится без сорта




offtopic
Я не часто занимался переносом identity (хотя и приходилось), и такой проблемы не наблюдал (возможно, просто не обращал внимания)

Проблема именно с PK, или достаточно уникального кластерного индекса?
На "старых" версиях (те, что до появления IDENTITY_CACHE) тоже воспроизводится?



offtopic
ну и главное, вы сравниваете перенос id (set identity_insert on) с генерацией новых id (sequence)

если вставку в таблицу с identity делать без set identity_insert on, в плане тоже появляется сортировка?
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851803
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex,

нет, я сравниваю ровно то же.
у них тут переполняется ид с типом int и с кластерным ПК по этому полю.
в таблице 170Гб + памяти на сервере всего 40Гб.
менять тип альтером вообще не катит, таблица активно используется все время.
хотя и только на вставку и чтение, апдэйты исключены.
поэтому пришлось переносить в новую таблицу, где вместо int bigint.
так вот перелив в такой же структуры таблицу (c identity) имеет в плане сорт.

этот сорт не уходит ни при каком топе -- это коммент в огород Тапка,
там по ссылке решение от invm прокатило, а в моем случае НЕТ.

с сиквенсом ровно все то же, я переношу **старые** значения идентити обычным инсертом.
в таблицу все с тем же кластеным по тому же ид, которое теперь НЕ identity.
дефолт прописан на будущее, на послепереносное использование таблицы как замена identity.

да, пришлось начать сиквенс (minvalue) со значения, на миллион больше имевшегося макс. значения ид в старой таблице.
зато время простоя 0.
пока у меня шел перелив, навставляли новых строк, но мне все равно,
ибо сразу после перелива был rename обеим таблицам
и все новые вставки повалились в новую же таблицу с bigint.
тем временем спокойно переношу навалившееся в старую таблицу за время перелива,
ибо этого навалившегося меньше миллиона строк(перелив шел 2 часа, и разумеется без сорта)
и у меня эти значения ид в новой таблице задействованы не были
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851806
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123msLex,

нет, я сравниваю ровно то же.
у них тут переполняется ид с типом int и с кластерным ПК по этому полю.
в таблице 170Гб + памяти на сервере всего 40Гб.
менять тип альтером вообще не катит, таблица активно используется все время.
хотя и только на вставку и чтение, апдэйты исключены.
поэтому пришлось переносить в новую таблицу, где вместо int bigint.
так вот перелив в такой же структуры таблицу (c identity) имеет в плане сорт.

этот сорт не уходит ни при каком топе -- это коммент в огород Тапка,
там по ссылке решение от invm прокатило, а в моем случае НЕТ.

с сиквенсом ровно все то же, я переношу **старые** значения идентити обычным инсертом.
в таблицу все с тем же кластеным по тому же ид, которое теперь НЕ identity.
дефолт прописан на будущее, на послепереносное использование таблицы как замена identity.

да, пришлось начать сиквенс (minvalue) со значения, на миллион больше имевшегося макс. значения ид в старой таблице.
зато время простоя 0.
пока у меня шел перелив, навставляли новых строк, но мне все равно,
ибо сразу после перелива был rename обеим таблицам
и все новые вставки повалились в новую же таблицу с bigint.
тем временем спокойно переношу навалившееся в старую таблицу за время перелива,
ибо этого навалившегося меньше миллиона строк(перелив шел 2 часа, и разумеется без сорта)
и у меня эти значения ид в новой таблице задействованы не были




В ссылке TaPaK, как раз и говориться, что "гадит" identity_insert, как я и предполагал.
А еще там упоминается TF 8795, со стандартной оговоркой "на свой страх и риск"
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851809
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

я из дома прочту нормально,
тут не сильно получается держать открытым кириллическое окно.

просто обычно все решения от invm катят,
а это не прошло,
а читать все объяснения надо в более спокойной обстановке.
спасибо всем!

а вообще identity гадит по всем статьям,
у меня впервые Standard, и partitioned view не выносит identity,
так что ему(identity) все равно смерть неминуема,
равно как и всем блобам, которые у меня благополучно получили под зад.

вообще не сервер, а книга рекордов Гиннеса.
при такой памяти и с таким объемом данных у них еще что-то там ворочалось

...извиняюсь за выплеск...
...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ускорение загрузки данных из oracle в mssql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]