Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Есть ли у кого-нибудь опыт связывания DB2 с MSSQL? / 8 сообщений из 8, страница 1 из 1
27.02.2006, 14:28
    #33567967
db2
db2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли у кого-нибудь опыт связывания DB2 с MSSQL?
Господа, уже задавал этот вопрос в соседней ветке, но там он был не совсем по теме:
Есть ли у кого-нибудь опыт связывания DB2 с MSSQL?
linked servers по скорости связи с DB2 v7.2 меня сильно разочаровал.
Пытался законектится через фирменный майкрософтовский OLE DB Provider для DB2 (скачал свежий с сайта MS).
Для проверки на обоих серверах располагались одинаковые таблицы с идентичными индексами, содержащие около двух миллионов записей.
Запрос выборки в пару тысяч записей по индексированному текстовому полю (VARCHAR) отдельно и на MSSQL и на DB2 выполнялся за доли секунды.
А при запуске того же запроса с MSSQL через linked server на DB2, запрос выполнялся порядка 20 секунд :(
То ли MSSQL вообще не пользуется индексами DB2, то ли убого ими пользуется, то ли DB2 v7.2 тупит через OLE DB (то есть виновата сама связь), то ли еще чего...

Очень не хочется отказываться от идеи соединить их по-нормальному, иначе придется дублировать кучу таблиц на обеих серверах и выдумывать хитрый механизм репликации.
...
Рейтинг: 0 / 0
27.02.2006, 14:37
    #33567998
Ден
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли у кого-нибудь опыт связывания DB2 с MSSQL?
А как вы вызывали из MSSQL запрос к DB2? Можете привести текст запроса? У меня аналогичные проблемы были..
...
Рейтинг: 0 / 0
27.02.2006, 14:57
    #33568081
db2
db2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли у кого-нибудь опыт связывания DB2 с MSSQL?
ДенА как вы вызывали из MSSQL запрос к DB2? Можете привести текст запроса? У меня аналогичные проблемы были..Да тестовые запросы были совсем простые. Ну что-то типа:
Код: plaintext
SELECT ... FROM DB2_T1 WHERE "имя_колонки" = '...' / LIKE '...%'
где DB2_T1 - синоним для таблицы DB2-сервера, подключенного через linked server (MSSQL2005)

Еще пару простых запросов, где возвращаемый с DB2 селект джойнился с данными из таблиц MSSQL.
Если бы только эти запросы с JOIN-ами тормозили, можно было бы подумать, что-то типа того, что у MSSQL нет объективных данных об индексах DB2 и статистики по этим индексам.
Но простые запросы к таблицам на DB2 то же тормозили.
Скорее всего тормоза где-то в связи. Может какие-то параметры для OLEDB виноваты/ответственны. Я пока ничего толкового в них не нашел. Может плохо искал, конечно.
...
Рейтинг: 0 / 0
27.02.2006, 15:39
    #33568282
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли у кого-нибудь опыт связывания DB2 с MSSQL?
чудес не бывает. Связанный запрос по таблицам из нескольких разных
серверов - это скачать на один из серверов данные с другого во временную
таблицу и сделать результирующую выборку.

20 с. это время за которое все данные перекачиваются с одного сервера на
другой


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
27.02.2006, 16:05
    #33568354
db2
db2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли у кого-нибудь опыт связывания DB2 с MSSQL?
1024
чудес не бывает. Связанный запрос по таблицам из нескольких разных
серверов - это скачать на один из серверов данные с другого во временную
таблицу и сделать результирующую выборку.

20 с. это время за которое все данные перекачиваются с одного сервера на
другой Ну да, вообщем-то, вы правы.
По идее, часть запроса отрабатывается на DB2, результирующая выборка действительно должна попадать в какую-нибудь временную таблицу.
Но разве <1000 результирующих записей и без BLOB полей это много? Тем более, что в тестовом варианте, сервера жили на одной машине.
Мне все же кажется, что затык где-то в настройках связи по OLE DB.
Ладно, будем искать...
...
Рейтинг: 0 / 0
27.02.2006, 16:13
    #33568399
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли у кого-нибудь опыт связывания DB2 с MSSQL?
1024
чудес не бывает. Связанный запрос по таблицам из нескольких разных
серверов - это скачать на один из серверов данные с другого во временную
таблицу и сделать результирующую выборку.

20 с. это время за которое все данные перекачиваются с одного сервера на
другой


Posted via ActualForum NNTP Server 1.3
Обычно РСУБД умные и не будут тащить все данные на себя с чужого сервера. Оптимизатор разберет запрос, выщемит с него все таблицы, связи и условия, которые идут на чужой сервер, посмотрев что он умеет и пошлет на удаленный сервер свой, а не оригинальный запрос, с учетом максимального приближения к задаче заставить все что можно сделать удаленному серверу.
Потом останется доделать то, что не умеет удаленный сервер и дальше работать с полученными результатами. Таким образом запрос:
Код: plaintext
SELECT ... FROM DB2_T1 WHERE "имя_колонки" = '...' / LIKE '...%'
полностью должен отработать на DB2 и MSSQL получит только результат выполнения этого запроса, если конечно он умный сервер :)
...
Рейтинг: 0 / 0
27.02.2006, 16:30
    #33568449
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли у кого-нибудь опыт связывания DB2 с MSSQL?
Обычно РСУБД умные и не будут тащить все данные на себя с чужого сервера.
Оптимизатор разберет запрос, выщемит с него все таблицы, связи и условия,
которые идут на чужой сервер, посмотрев что он умеет и пошлет на удаленный
сервер свой, а не
-------



вообще-то я говорил о связных (джойнах т.е.).

select * from mssql.orders join db2.customers on ...

не может оптимизирваться



вероятно чтоб выяснить где тормозит надо сделать несколько запросов для
учёта погрешности, например десяток select top 1 * и десяток select top 1000
*

может он не на перекачке данных тормозит, может он при каждом запросе заново
соединяется и соединение эти 20 с и идёт


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
27.02.2006, 16:51
    #33568544
db2
db2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли у кого-нибудь опыт связывания DB2 с MSSQL?
ASCRUSполностью должен отработать на DB2 и MSSQL получит только результат выполнения этого запроса, если конечно он умный сервер :)Естественно, он так и делает.
Если бы он тащил к себе всю таблицу в пару миллионов записей а потом еще и шарился по ней, это было бы не 10~20 секунд, а несколько минут.

авторможет он не на перекачке данных тормозит, может он при каждом запросе заново соединяется и соединение эти 20 с и идёт Да нет, не похоже .
Надо будет попробывать еще через какой-нибудь IBM-овский OLE DB провайдер приконектится для полноты картины. Через тот который идет с 7.2 мне законектится пока не удалось, по не очень понятным причинам.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Есть ли у кого-нибудь опыт связывания DB2 с MSSQL? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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