Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / BULK INSERT из SSIS / 15 сообщений из 15, страница 1 из 1
16.12.2020, 10:48
    #40028252
mullenberg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
для перекидывания данных был создан SSIS пакет, с простейшей логикой. переменной присваивается значение, эта переменная используется в запросах. и запускается копирование данных из разных таблиц, все параллельно.
BULK INSERTы, которые в итоге использует пакет, блокируют друг друга - хотя копирование идет из разных таблиц в разные.
где возможно что-то недосмотрел?
SQL Server 2012 Enterprice
...
Рейтинг: 0 / 0
16.12.2020, 14:39
    #40028321
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
mullenberg,

как-то не очевидна связь между SSIS и BULK INSERT. SSIS как раз используют, чтобы избежать применения BULK INSERT в том числе.
...
Рейтинг: 0 / 0
16.12.2020, 15:09
    #40028332
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
Владислав Колосов
SSIS как раз используют, чтобы избежать применения BULK INSERT

В самом деле? Можете раскрыть тему этого избегания подробнее?
...
Рейтинг: 0 / 0
16.12.2020, 16:17
    #40028366
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
mullenberg
BULK INSERTы, которые в итоге использует пакет, блокируют друг друга - хотя копирование идет из разных таблиц в разные.
где возможно что-то недосмотрел?
Видимо, недосмотрели. Вставки в разные таблицы не могут блокировать друг друга, а если вставка BULK INSERT - то даже в одну таблицу.
Что то у вас другое блокирует.

Посмотрите в профайлере, что происходит, или для начала в sp_who
...
Рейтинг: 0 / 0
16.12.2020, 18:19
    #40028404
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
.Евгений
Владислав Колосов
SSIS как раз используют, чтобы избежать применения BULK INSERT

В самом деле? Можете раскрыть тему этого избегания подробнее?


Задача обработки потока данных. Источник, получатель. Всё. Нет никаких Bulk insert.
...
Рейтинг: 0 / 0
16.12.2020, 18:43
    #40028412
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
Владислав Колосов
.Евгений
пропущено...

В самом деле? Можете раскрыть тему этого избегания подробнее?


Задача обработки потока данных. Источник, получатель. Всё. Нет никаких Bulk insert.

Ничего не понял.
Почему данные из потока нельзя вычитывать проще - средствами СУБД (всякими курсорами, циклами, сервис брокерами, CLR, OLE, etc)? И почему поток данных надо вставлять без Bulk insert, искусственно тормозя работу?
...
Рейтинг: 0 / 0
16.12.2020, 18:53
    #40028418
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
.Евгений,

точно, не поняли. Bulk Insert использовать в составе SSIS пакета бессмысленно, как я уже писал. Это отдельно средство загрузки.

авторПочему данные из потока нельзя вычитывать проще - средствами СУБД (всякими курсорами, циклами, сервис брокерами, CLR, OLE, etc) Интересный вопрос, похоже, что Вы SSIS в глаза не видели, иначе бы эту чепуху не писали.
...
Рейтинг: 0 / 0
16.12.2020, 19:00
    #40028422
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
Владислав Колосов

Bulk Insert использовать в составе SSIS пакета бессмысленно, как я уже писал. Это отдельно средство загрузки.


Опять вы соврамши.
Bulk Insert - это название технологии.
И ее использовать может ЛЮБОЙ клиент базы MS SQL.
SSIS тоже использует.


ЗЫ. Но я согласен. SSIS - это жуткий ацтой. Лучше им не пользоваться.
...
Рейтинг: 0 / 0
16.12.2020, 19:12
    #40028430
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
Владислав Колосов
точно, не поняли. Bulk Insert использовать в составе SSIS пакета бессмысленно, как я уже писал. Это отдельно средство загрузки.
Есть оператор bulk insert, загружающий данные из внешнего файла, и есть bulk operation внутри Destination SSIS (включаемая опцией Fast Load). Автор темы, очевидно, имел в виду последнее.
Владислав Колосов

авторПочему данные из потока нельзя вычитывать проще - средствами СУБД (всякими курсорами, циклами, сервис брокерами, CLR, OLE, etc)
Интересный вопрос, похоже, что Вы SSIS в глаза не видели, иначе бы эту чепуху не писали.Ваш ответ на мой вопрос кажется мне совершенно неинтересным гаданием по юзерпику. Не только неинтересным, но еще и неудачным.

Лично я могу легко объяснить, почему я работаю с потоками данных через SSIS, а не через СУБД - потому что это выходит быстрее. И если я не стану использовать Bulk InsertFast Load, то вся выгода будет потеряна на этапе вставки в БД (собственно, я даже с Fast Load упираюсь в дисковый массив) .
...
Рейтинг: 0 / 0
16.12.2020, 19:23
    #40028439
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
.Евгений

Лично я могу легко объяснить, почему я работаю с потоками данных через SSIS, а не через СУБД - потому что это выходит быстрее.


Модератор:
aleks222, не нужно раздавать "оценки" участникам форума.
Если вы без этого никак не можете, заведите блокнотик, записывайте их туда и радуйтесь, перечитывая ваши заметки.

Последующий подобные сообщения будут приводить к банам с увеличивающимся сроком.
...
Рейтинг: 0 / 0
16.12.2020, 20:44
    #40028474
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
aleks222
ЗЫ. Любая прослойка между данными и СУБД может только замедлять.

Я знаком с таким предрассудком со стороны программистов БД, представляющими средства ЕТЛ исключительно как гуевый дблинк. Я его даже отчасти разделял - примерно 10-15 лет назад.

P.S. Лично я для своих задач считаю прослойкой именно СУБД. Все нужные данные должны быть в памяти процесса, а не где-то там...
...
Рейтинг: 0 / 0
16.12.2020, 22:25
    #40028516
ptr128
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
[quot .Евгений#22249302]
aleks222
Все нужные данные должны быть в памяти процесса, а не где-то там...

Слышал я про сервера с несколькими терабайтами оперативки, но работать с ними не довелось. Поэтому, так как не имею возможности держать эти терабайты в памяти процесса, использую БД. Что совсем не отменяет применения нежурналируемых потоковых вставок.

Понимаю, у богатых свои причуды. Но держать под SSIS в резерве несколько терабайт оперативки мне кажется роскошью. Особенно, когда существенного прироста в производительности это все равно не дает. Так как упираемся в производительность SSD на сервере БД.
...
Рейтинг: 0 / 0
16.12.2020, 23:18
    #40028532
.Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
ptr128
Слышал я про сервера с несколькими терабайтами оперативки...

Не-не-не, все совсем не так. Есть потребители данных, которые читают БД, а есть средство ЕТЛ, которому для работы нужна малая часть столбцов - ключи-идентификаторы (для их разрешения), хеш, версия. В 50Гб эта малая часть более-менее влезает, а что не влезает, то можно разбить на секции и подкачивать из БД по требованию. В результате ЕТЛ практически не занимает ресурсов основного сервера (кроме момента инициализации) и качает в него данные практически онлайн.
...
Рейтинг: 0 / 0
17.12.2020, 07:23
    #40028583
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
alexeyvg
mullenberg
BULK INSERTы, которые в итоге использует пакет, блокируют друг друга - хотя копирование идет из разных таблиц в разные.
где возможно что-то недосмотрел?
Видимо, недосмотрели. Вставки в разные таблицы не могут блокировать друг друга, а если вставка BULK INSERT - то даже в одну таблицу.
Что то у вас другое блокирует.

Посмотрите в профайлере, что происходит, или для начала в sp_who

Еще как могут.
Если между таблицами взведена декларативная реляционная ссылочная целостность, или триггеры поналеплены.
Тогда не только локи, но и дедлоки могут быть, ага.
При вставке во вроде бы разные таблицы.
...
Рейтинг: 0 / 0
17.12.2020, 19:58
    #40028903
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BULK INSERT из SSIS
mullenberg
для перекидывания данных был создан SSIS пакет, с простейшей логикой. переменной присваивается значение, эта переменная используется в запросах. и запускается копирование данных из разных таблиц, все параллельно.
BULK INSERTы, которые в итоге использует пакет, блокируют друг друга - хотя копирование идет из разных таблиц в разные.
где возможно что-то недосмотрел?
SQL Server 2012 Enterprice


Не совсем уверен, но если используется соединение типа ADO и там не настроено MARS, то можно получить блокировки
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / BULK INSERT из SSIS / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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