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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

поздно, теперь не отмоетесь.
...
Рейтинг: 0 / 0
20.08.2019, 17:04
    #39851775
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение загрузки данных из oracle в mssql
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
20.08.2019, 17:26
    #39851784
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение загрузки данных из oracle в mssql
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
20.08.2019, 17:32
    #39851786
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение загрузки данных из oracle в mssql
Yasha123,

15651284
...
Рейтинг: 0 / 0
20.08.2019, 17:35
    #39851787
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение загрузки данных из oracle в mssql
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
20.08.2019, 18:05
    #39851803
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорение загрузки данных из oracle в mssql
msLex,

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

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

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

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

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

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

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

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




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

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

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

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

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

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


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