|
Медленная работа SSIS View, OLE DB Provider for SSIS
|
|||
---|---|---|---|
#18+
Коллеги, добрый день. Имел ли кто-нибудь практику использования возможности SQL Server под названием SSIS View ? Де-факто это провайдер SSISOLEDB, из которого посредством OPENQUERY тянутся данные. Я попробовал это (на версии 13.0.5698.0) и остался весьма разочарован падением скорости чтения данных в сравнении как с пакетами SSIS, так и с банальным связанным сервером. Первоначально я сделал два одинаковых SSIS 2016 пакета, читавших данные из удаленного сервера, трансформировавших их и в целом различавшихся только назначениями: таблицей и Data Streaming Destination. Первый записывал данные со скоростью более 10 млн. строк/мин, вьюха читала из второго всего по 0,5 млн. строк/мин - что неприятно меня удивило. В поисках происхождения проблемы я максимально упростил запросы (select поле from таблица) и убрал трансформации - скорости изменились слабо, их соотношение и вовсе осталось прежним. Наконец, я сравнил живые планы выполнения на удаленном сервере, отправив упрощенный запрос через OPENQUERY к провайдерам SSISOLEDB и SQLOLEDB, и выявил всего два различия: SSISOLEDB использовал ARITHABORT="false" и CardinalityEstimationModelVersion="70". В попытке сближения условий я добавил в запрос для SQLOLEDB опции set arithabort off и option(use hint('FORCE_LEGACY_CARDINALITY_ESTIMATION')), что нисколько не затормозило его выполнение. Итак, на сегодня моя фантазия исчерпана, а я остаюсь в недоумении, у кого все-таки кривые руки - у меня, у ДБА, или у разработчиков Майкрософта? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 13:50 |
|
Медленная работа SSIS View, OLE DB Provider for SSIS
|
|||
---|---|---|---|
#18+
.Евгений, непонятно, чем вызвано удивление, используются разные механики транспортировки данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 15:30 |
|
Медленная работа SSIS View, OLE DB Provider for SSIS
|
|||
---|---|---|---|
#18+
А вообще интересный вопрос, можно попробовать задать его где-нибудь на форумах https://social.technet.microsoft.com/Forums/ru-RU/home. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 15:59 |
|
Медленная работа SSIS View, OLE DB Provider for SSIS
|
|||
---|---|---|---|
#18+
Владислав Колосов, я не совсем понимаю, что вы подразумеваете под механиками. Я считаю, что проверил на производительность загрузку данных посредством SSIS и чтение данных на локальном сервере. Провайдер SSISOLEDB и компонент Data Streaming Destination для меня являются черными ящиками, и где-то в их недрах, на мой взгляд, происходит торможение. На данном этапе я просто хочу решить, связываться мне с данной технологией или нет. Если ее на практике никто не использует, то я закрою эту тему и займусь решением своих рабочих задач. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 16:32 |
|
Медленная работа SSIS View, OLE DB Provider for SSIS
|
|||
---|---|---|---|
#18+
.Евгений, непонятно, как оно работает. Если через DCOM, например, то совсем плохо будет. При выполнении клиент-серверного запроса сам сервер выдает двоичный поток на клиента при прямом запросе. В этом же случае может на удаленном сервере открываться датасет, который прокручивается, может и построчно, кто знает этих индусов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 17:27 |
|
Медленная работа SSIS View, OLE DB Provider for SSIS
|
|||
---|---|---|---|
#18+
.Евгений На данном этапе я просто хочу решить, связываться мне с данной технологией или нет. Если ее на практике никто не использует, то я закрою эту тему и займусь решением своих рабочих задач. Мне не понятно, чего вы пытаетесь добиться. Инкапсуляцию хотите сделать, типа? Ну да, можно, но дорого и бессмысленно. Проще вставить Execute Package в вызывающий пакет, после чего забрать нужные данные из отдельной таблицы, в которую вызываемый пакет их сгрузит. Data Streaming DestinationThe Data Streaming Destination is a SQL Server Integration Services (SSIS) destination component that lets the OLE DB Provider for SSIS consume output of an SSIS package as a tabular result set.Окей, допустим эта штука позволяет делать селекты из SSIS-пакета. И в какой ситуации это может быть действительно необходимо (учитывая обнаруженный вами performance drop, это должна быть какая-то очень жесткая экзотика, для которой никакие другие способы доступа не подходят)? Какую задачу решаем? Имхо чушь какая-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 17:46 |
|
Медленная работа SSIS View, OLE DB Provider for SSIS
|
|||
---|---|---|---|
#18+
Владислав Колосов, мне кажется, что мы друг друга не понимаем. При вызове провайдера SSISOLEDB происходит обычный логируемый запуск SSIS-пакета. В моем случае этот пакет выполняется на локальном сервере, читает данные с удаленного сервера стандартным OLE DB соединением. Делается это пачками по 10 тыс. строк по умолчанию (менял размер буфера - не помогает) Затем хост SSIS передает данные провайдеру, который в свою очередь отдает их SQL Server-у. Таким образом все интересное происходит локально, внутри одного сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 17:56 |
|
Медленная работа SSIS View, OLE DB Provider for SSIS
|
|||
---|---|---|---|
#18+
Владислав Колосов .Евгений, непонятно, как оно работает. Если через DCOM, например, то совсем плохо будет. При выполнении клиент-серверного запроса сам сервер выдает двоичный поток на клиента при прямом запросе. В этом же случае может на удаленном сервере открываться датасет, который прокручивается, может и построчно, кто знает этих индусов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 17:57 |
|
Медленная работа SSIS View, OLE DB Provider for SSIS
|
|||
---|---|---|---|
#18+
Ennor Tiegael, теоретически это могло бы устранить потребность в промежуточной таблице на локальном сервере. Вместо нее - вьюха. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 17:59 |
|
Медленная работа SSIS View, OLE DB Provider for SSIS
|
|||
---|---|---|---|
#18+
.Евгений ... На данном этапе я просто хочу решить, связываться мне с данной технологией или нет. Если ее на практике никто не использует, то я закрою эту тему и займусь решением своих рабочих задач. Думаю, что это некий неуловимый Джо - MS сделала прототип, а связанный проект, который должен утилизировать такую любопытную возможность - не взлетел. Сам много занимаюсь SSIS, но Data Streaming Destination - не использовал, только читал о нем из любопытства. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2020, 19:02 |
|
|
start [/forum/topic.php?fid=46&msg=40016866&tid=1685429]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
99ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 183ms |
0 / 0 |