Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / HDR и linked (или как это в Информиксе) / 14 сообщений из 14, страница 1 из 1
19.10.2007, 19:05
    #34881975
Евгений Фадеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
Заранее прошу прощения за терминологию, не джедай.

В общем такая проблема:

- есть сервер А (он же - основной)
- есть сервер Б - реплика сервера А по HDR
- сервера линкованы (в том смысле что я на Б могу корректно выполнить запрос вида SELECT * FROM база@A:таблица)

Задача: создать синоним/view (не важно что именно - главное задачу решить) таким образом, чтобы при работе с ним на сервере Б происходило обращение к серверу А (то есть что-то вроде CREATE VIEW X AS SELECT * FROM база@A:таблица).
Засада в том, что он, похоже, при репликации аккуратно выкидывает имя инстанса...
Это можно как-то побороть?
...
Рейтинг: 0 / 0
19.10.2007, 20:25
    #34882066
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
А может зайти с другой стороны - зачем это надо ? М.б. есть более простой путь решения проблемы ? HDR ведь предназначен для вполне определенных целей.
...
Рейтинг: 0 / 0
19.10.2007, 21:23
    #34882110
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
- сервера линкованы (в том смысле что я на Б могу корректно выполнить запрос вида SELECT * FROM база@A:таблица)


Я правильно понимаю, что
на сервера A -> DBSERVERALIASES ifx_server_B
на сервера B -> DBSERVERALIASES ifx_server_A

В SQLHOSTS на обеих серверах В и A:
ifx_server_B ....
ifx_server_A ....

Далее на сервер B можно корректно выполнить
запрос вида SELECT * FROM база@ifx_server_A:таблица) ???

Вы создаете CREATE VIEW X AS SELECT * FROM база@ifx_server_A :таблица) на сервере A и далее
настраиваете репликацию на сервере B (ontape -p ... onmode -d ... ) или пытаетесь создать VIEW на сервере B ????

Можно попробывать использование SPL (storage procedure) или внешней пользовательской функции
(например на java (jdbc) ) и т.д.

С уважением,
Вадим.
...
Рейтинг: 0 / 0
19.10.2007, 23:02
    #34882177
vvg16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
Евгений ФадеевЗаранее прошу прощения за терминологию, не джедай.

В общем такая проблема:

- есть сервер А (он же - основной)
- есть сервер Б - реплика сервера А по HDR
- сервера линкованы (в том смысле что я на Б могу корректно выполнить запрос вида SELECT * FROM база@A:таблица)

Задача: создать синоним/view (не важно что именно - главное задачу решить) таким образом, чтобы при работе с ним на сервере Б происходило обращение к серверу А (то есть что-то вроде CREATE VIEW X AS SELECT * FROM база@A:таблица).
Засада в том, что он, похоже, при репликации аккуратно выкидывает имя инстанса...
Это можно как-то побороть?

Мне кажется, что сервер делает все правильно.
Дело в том, что при HDR таблицы синхронизируются, поэтому
запрос SELECT * FROM база@A:таблица
и запрос SELECT * FROM база@B:таблица
возвращают совершенно одинаковые результаты, как будто выполнялся запрос
SELECT * FROM база:таблица
...
Рейтинг: 0 / 0
19.10.2007, 23:21
    #34882195
vvg16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
vvg16
Дело в том, что при HDR таблицы синхронизируются, поэтому
запрос SELECT * FROM база@A:таблица
и запрос SELECT * FROM база@Б:таблица
возвращают совершенно одинаковые результаты, как будто выполнялся запрос
SELECT * FROM база:таблица
Немного поправлю сам себя. В любом случае будет выполняться запрос
Код: plaintext
SELECT * FROM база@A:таблица
так как при HDR сервер-репликант Б является доступным только для чтения,
во всяком случае до появления Читы 2.
...
Рейтинг: 0 / 0
20.10.2007, 00:35
    #34882254
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
...возвращают совершенно одинаковые результаты, как будто выполнялся запрос
SELECT * FROM база:таблица


Вообщем-то - да,
за исключением задержки на передачу буфера репликации на удаленный сервер ... :)

С уважением,
Вадим.
...
Рейтинг: 0 / 0
20.10.2007, 06:42
    #34882335
sysmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
авторВ любом случае будет выполняться запрос
SELECT * FROM база@A:таблица

Позволю себе не согласиться.
А как же перенаправление монстроидальных запросов на секондари для облегчения работы праймари?
...
Рейтинг: 0 / 0
20.10.2007, 07:53
    #34882339
vvg16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
sysmasterА как же перенаправление монстроидальных запросов на секондари для облегчения работы праймари?
Согласен, что сам запрос будет выполняться на секондари сервере.
Для этого он и создается. Хотя результат будет такой же, как будто
он выполнялся на мастере (с учетом вышеприведенного замечания Вадима
о задержке при передачи данных в случае failure)
...
Рейтинг: 0 / 0
20.10.2007, 11:47
    #34882392
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
если ХАДР работает в синхронном режиме, то транзакции фиксируется одновременно.
Точнее транзакция на праймэри не будет закомичена пока с секондэри не придет подтверждение фиксации. Так что прямой запрос к таблице на вторичке вполне корректен.
Другое дело, что зачаем это все? Если речь идет о том, чтобы разгрузить первичку, то если курсор будет очень большим вы и первичку пригрузите, а если это еще и массовый запрос, то что вы при этом достигненте?
...
Рейтинг: 0 / 0
20.10.2007, 14:46
    #34882505
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
... если ХАДР работает в синхронном режиме, ...

Не всегда можно использовать синхронный режим.

На мой взгляд,
проблему можно решить:

1. На уровне сервера приложений.
Сервер приложений может инициировать два пула соединений:
- один на сервер A (write/read)
- другой на сервер B (only read)

Какой из них использовать - решает диспечер приложения.

2. На уровне монитора транзакций.

Например,
если монитор транзакций может выполнять маршрутизацию запросов по его типу I/S/U/D
или еще как-то ...

3. На уровен диспечера запросов и транспортного протокола сервера Informix.

Когда-то проводили тестирование соединенние клиента Informix c использованием групп.
В одну группу - поместили Primary и Secondary серверы репликационной пары.
Дальше, использовали соединение через указанную группу в Control Center (IDS 7.30).
Выполняли SQL- запросы в SQL Editor. Запросы на INSERT, UPDATE - выполнялись на первичном сервере, SELECT - можно было выполнять на любом сервере (отдельно или совместно).

Возможно,
что в новой версии IDS 11.xD1 - Cheetah2 - будет что-то похожее ... :)

С уважением,
Вадим.







4. и т.д.
...
Рейтинг: 0 / 0
22.10.2007, 08:59
    #34883737
nkulikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
Последние слухи которые я слышал в IBM были про создание некоторого аналогоа WLM (Workload management) который делают в DB2 v9.5 в Informix. Соответсвенно можно предположить, что на основании профилей можно будет перенаправлять запросы по собственному усмотрению
...
Рейтинг: 0 / 0
22.10.2007, 11:16
    #34884123
Евгений Фадеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
GVF112GVF ...возвращают совершенно одинаковые результаты, как будто выполнялся запрос
SELECT * FROM база:таблица


Вообщем-то - да,
за исключением задержки на передачу буфера репликации на удаленный сервер ... :)

С уважением,
Вадим.Это ключевое НО!
...
Рейтинг: 0 / 0
22.10.2007, 11:19
    #34884130
Евгений Фадеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
GVF112GVF ... если ХАДР работает в синхронном режиме, ...

Не всегда можно использовать синхронный режим.

На мой взгляд,
проблему можно решить:

1. На уровне сервера приложений.
Сервер приложений может инициировать два пула соединений:
- один на сервер A (write/read)
- другой на сервер B (only read)

Какой из них использовать - решает диспечер приложения.

2. На уровне монитора транзакций.

Например,
если монитор транзакций может выполнять маршрутизацию запросов по его типу I/S/U/D
или еще как-то ...

3. На уровен диспечера запросов и транспортного протокола сервера Informix.

Когда-то проводили тестирование соединенние клиента Informix c использованием групп.
В одну группу - поместили Primary и Secondary серверы репликационной пары.
Дальше, использовали соединение через указанную группу в Control Center (IDS 7.30).
Выполняли SQL- запросы в SQL Editor. Запросы на INSERT, UPDATE - выполнялись на первичном сервере, SELECT - можно было выполнять на любом сервере (отдельно или совместно).

Возможно,
что в новой версии IDS 11.xD1 - Cheetah2 - будет что-то похожее ... :)

С уважением,
Вадим.

4. и т.д.В нашем случае - точно нельзя. Я сам могу придумать пару-тройку способов :), но хотелось как-то попроще. Похоже - не судьба.
...
Рейтинг: 0 / 0
09.11.2007, 17:15
    #34929082
sysmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HDR и linked (или как это в Информиксе)
cprесли курсор будет очень большим вы и первичку пригрузите,

А можно поподробнее?
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / HDR и linked (или как это в Информиксе) / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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