powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ускорение загрузки данных из oracle в mssql
38 сообщений из 38, показаны все 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
Ускорение загрузки данных из oracle в mssql
    #39851821
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123> а где я на словах или еще как "на ТSQL PDFs и TIFFы разбираю"
msLex> поздно, теперь не отмоетесь.

Ха! это assmsk вопрошать начал. вот же имячко себе забацал! То ли задница, то ли урна с ошибкой.
А он туда МСК пихает? Змейс! И ни одну xml'ку не показал вражина!
Вот меня и понесло... Пардоньте.

А от грязюки хорошо за борт выкинуть (не забыть привязать).
Пока пароход идёт, не только отстирается, но и отбелится. Возможно с дырками...

Про identy:

Зачем идентити переносить в другую таблицу/базу/сервер? Именно как идентити?
"Дырки" заюзать в PK?
Ну... однажды делал на 2008...
- Убрать identy. Заполнить дырки нужными значениями (типа "dirty" в строковом поле)
- Сделать вьюшку с фильтром по этому "dirty"
- Заполнить записями с нужными PK.
- Восстановить флажок идентити в syscolumns
- Вьюшка в конце концов выродится.
Профит! Как то так.

Кстати, когда alter table делаете, objectid меняется ЕМНИП
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851834
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorКстати, когда alter table делаете, objectid меняется ЕМНИПЕсли вы про mssql, то память вам весьма изменяет.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851849
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич, не изменяет. На 2005/2008 дырки заполнял. Подробности забываются, но помню с objectid, type игрался вот при alter чего-то егоёный id был другой уже. И делал я это не через informationshema,
а сразу в таблице sys...
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851850
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorЗачем идентити переносить в другую таблицу/базу/сервер? Именно как идентити?
"Дырки" заюзать в PK?

с русским проблемы?
int заканчивался, надо было на bigint переделать.
ПК на этом поле, кластерный.
ибо это единственное уникальное поле.
ну предложите, как еще переделать int на bigint, без переделывания приложения, без простоя, с сохранением кластерного(кучи разводите у себя)
никаких онлайновых create index нет, у меня Standard.
единственный вариант поиметь уже отсортированное это заюзать имеющееся.
ну и как будете поддерживать суррогатный автоинкремент?

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

очередной балабол. наверное, братец Andy OLAP
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851852
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123, ну и перезалили бы в новую таблицу с бигинтом сразу, на неё бы всё перевели и дропнули сьарьё с интом.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851853
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorГавриленко Сергей Алексеевич, не изменяет. На 2005/2008 дырки заполнял. Подробности забываются, но помню с objectid, type игрался вот при alter чего-то егоёный id был другой уже. И делал я это не через informationshema,
а сразу в таблице sys...
балабол и есть.
стоит мне на форуме высунуться, как стаи балаболов откуда ни возьмись..
тьфу да и только.
... еще и дыры он заполнял, охренеть просто
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851858
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorYasha123, ну и перезалили бы в новую таблицу с бигинтом сразу, на неё бы всё перевели и дропнули сьарьё с интом.
о да блин, это и делаю.
вопрос звучал "зачем идентити тащить в новую таблицу"
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851859
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123, перезалил, а потом поставил идентити. Уже на имеющиеся данные нужного размера. А дальше бы работал уже идентити уже в новом диапазоне.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851862
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorYasha123, перезалил, а потом поставил идентити. Уже на имеющиеся данные нужного размера. А дальше бы работал уже идентити уже в новом диапазоне.Вы про какую сейчас СУБД? В MSSQL нельзя "поставить" identity на существующее поле.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851865
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей АлексеевичGatorYasha123, перезалил, а потом поставил идентити. Уже на имеющиеся данные нужного размера. А дальше бы работал уже идентити уже в новом диапазоне.Вы про какую сейчас СУБД? В MSSQL нельзя "поставить" identity на существующее поле.Вроде можно, если напрямую покурочить запись в системной таблице и другие записи в других таблицах. Там набор флажков и целостность. Аккуратненько ручками сваять хотелку.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851867
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК. Уговорили. В викенд потренируюсь, в понедельник вынесу вердикт.
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39851872
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GatorГавриленко Сергей Алексеевичпропущено...
Вы про какую сейчас СУБД? В MSSQL нельзя "поставить" identity на существующее поле.Вроде можно, если напрямую покурочить запись в системной таблице и другие записи в других таблицах. Там набор флажков и целостность. Аккуратненько ручками сваять хотелку.Напрямую? Это в нотепаде редактировать mdf-файл? Или через dbcc writepage?
...
Рейтинг: 0 / 0
Ускорение загрузки данных из oracle в mssql
    #39853875
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевичпропущено...
Вроде можно, если напрямую покурочить запись в системной таблице и другие записи в других таблицах. Там набор флажков и целостность. Аккуратненько ручками сваять хотелку.Напрямую? Это в нотепаде редактировать mdf-файл? Или через dbcc writepage?Беру таймаут дня на три. Савлю старые базы на виртуалку. Вспоминаю, где сидит админский щрифт. Извините.
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ускорение загрузки данных из oracle в mssql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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