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

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

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

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

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


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

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


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

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

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

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

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


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


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

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

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

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


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

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

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

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

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

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

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

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

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


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


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