Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 Создание базы с помощью Execute Statement  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50773
Сабж вроде как не запрещён и, возможно, даже работает, но не лучше ли его всё-таки
запретить явно?..

PS: что за прикол с NNTP, заменившим "ю" в сабже на два знака вопроса?..
PPS: И какого чёрта форум даёт его отредактировать, но не сохраняет?..

Сообщение было отредактировано: 30 июл 20, 13:50
30 июл 20, 13:45    [22175685]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 18679
Dimitry Sibiryakov
PS: что за прикол с NNTP, заменившим "ю" в сабже на два знака вопроса?..
PPS: И какого чёрта форум даёт его отредактировать, но не сохраняет?..
В ОНС напиши.
30 июл 20, 13:54    [22175691]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50773

Собственно вопрос сабжа возник в связи с тем, что если уж делать кластер из Firebird, то
свежесозданная база должна расползаться по нему автоматически. Перехват создания вызовом
API я осилю без проблем, но вот создание базы DSQL запросом это была бы проблема.

Поэтому у меня есть большое желание запихать в трекер хотелку о полном и окончательном
перемещении "CREATE DATABASE" из DSQL в ISQL.

И "COMMIT/ROLLBACK" в паре "SET TRANSACTION" - тоже.

Posted via ActualForum NNTP Server 1.5

31 июл 20, 19:08    [22176388]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
hvlad
Member

Откуда:
Сообщений: 10993
Dimitry Sibiryakov
Перехват создания вызовом
API я осилю без проблем, но вот создание базы DSQL запросом это была бы проблема.
Оно внутри всё равно использует АПИ, где проблема ?
31 июл 20, 19:25    [22176394]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
hvlad
Member

Откуда:
Сообщений: 10993
Dimitry Sibiryakov
Поэтому у меня есть большое желание запихать в трекер хотелку о полном и окончательном
перемещении "CREATE DATABASE" из DSQL в ISQL.

И "COMMIT/ROLLBACK" в паре "SET TRANSACTION" - тоже.
Без шансов
31 июл 20, 19:26    [22176395]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
hvlad
Member

Откуда:
Сообщений: 10993
Dimitry Sibiryakov
Сабж вроде как не запрещён и, возможно, даже работает, но не лучше ли его всё-таки
запретить явно?
А проверить ?

PS не вижу особого смысла добавлять в ES парсер ещё и для этого. И ты же обычно так печёшься о паре лишних мс - а тут хочешь наказать все запросы ради того, что и так не может работать
31 июл 20, 19:39    [22176396]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50773

hvlad
Оно внутри всё равно использует АПИ, где проблема ?

"Внутри" это и есть проблема. Как писатель плагинов, я могу перехватить вызов API, но
только приходящий снаружи. И да, писать парсер запросов для их фильтрации мне тоже не
улыбается.

Posted via ActualForum NNTP Server 1.5

31 июл 20, 22:08    [22176430]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
hvlad
Member

Откуда:
Сообщений: 10993
Dimitry Sibiryakov,

когда ты перестанешь разговаривать сам с собой и научишься формулировать свои вопросы так,
что бы другим было хоть что-то понятно - тогда они (другие) будут иметь шанс тебе чем-то помочь.
Гадать что там у тебя за проблемы - сомнительное удовольствие.
31 июл 20, 23:24    [22176434]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50773

hvlad
Гадать что там у тебя за проблемы - сомнительное удовольствие.

Так, может, стоит перестать гадать и начать читать мои вопросы буквально, не ища в них
отсутствующий второй смысл?..

Или какое слово из "свежесозданная база должна расползаться по нему (кластеру)
автоматически" вызывает у тебя разночтения и активизацию хрустального шара?

Posted via ActualForum NNTP Server 1.5

1 авг 20, 00:23    [22176444]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
hvlad
Member

Откуда:
Сообщений: 10993
Dimitry Sibiryakov
Так, может, стоит перестать гадать и начать читать мои вопросы буквально, не ища в них
отсутствующий второй смысл?..
Не получается даже первый найти. Проще - не читать вообще. Я, кстати, не обязан их читать. И не очень вижу, чтобы кто-то другой пытался тебе ответить.

Dimitry Sibiryakov
Или какое слово из "свежесозданная база должна расползаться по нему (кластеру)
автоматически" вызывает у тебя разночтения
Все.
Я не знаю, на какой кластер ты ссылаешься, где описаны принципы его работы, как создание БД на него влияет, почему она должна "расползаться" и причём тут ES.
Я понятия не имею, какой вызов АПИ ты собираешься перехватывать, в каком месте и зачем.
Про парсер запросов, который не улыбается тебе (а остальным? а кто тебе улыбается ?) я тоже догадываться не хочу.

PS я уверен, что ты в состоянии найти гайд "как задавать вопросы", но не уверен, что ты можешь его применить
1 авг 20, 02:13    [22176455]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50773

hvlad
Все.Я не знаю, на какой кластер ты ссылаешься, где описаны принципы его
работы, как создание БД на него влияет, почему она должна "расползаться" и причём тут
ES.

И вот тут обычно люди используют нечто, называющееся "уточняющими вопросами" вместо
хрустального шара. Это гораздо более надёжный способ прийти к взаимопониманию.

Слово "кластер" я использую в общепринятом его значении "кучка взаимосвязанных серверов,
работающих как один". Этот топик в бид2 и это не "Пятница", значит эти сервера - Firebird.

Виноват, не уточнил, что имеется в виду кластер типа "shared nothing", что подразумевает,
что каждая его нода ("нода" - сервер-член кластера) имеет полную копию БД и её содержимого.

Из этого следует, что каждая нода после создания БД должна получить её копию. Фоновый
процесс получения такой копии я и назвал "расползаться".

ES тут при том, что у него есть возможность исполнить любой DSQL запрос, включая "CREATE
DATABASE".

И вот в этом месте у меня проблема: я не знаю как заставить эту свежесозданную БД
расползтись по кластеру.

hvlad
Я понятия не имею, какой вызов АПИ ты собираешься перехватывать, в каком месте и зачем.

Поскольку мы в бид2, то под "API", естественно, подразумевается Firebird API.

Опять же виноват, не уточнил, что речь идёт про кластер для ХА/ЛБ (High Availability, Load
Balancing). Отсюда проистекает необходимость существования клиентского редиректора
(плагина к fbclient типа "провайдер"), подменяющего стандартный "remote".

Поскольку речь идёт о создании БД, то перехватываемый (а точнее обрабатываемый) вызов API
это, естественно, IProvider::createDatabase().

"Зачем" - хороший вопрос. Обработка данного вызова - это единственная идея, которая мне
пришла в голову для осуществления описанного выше "расползания свежесозданной БД",
поскольку позволяет уведомить остальные ноды кластера о её создании.

И вот в этом месте проблема: создание БД через вышеназванный ES осуществляется целиком в
движке и не проходит ни через редиректор, ни через сервер, ни даже через Y-valve.

Posted via ActualForum NNTP Server 1.5

1 авг 20, 13:00    [22176511]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
hvlad
Member

Откуда:
Сообщений: 10993
Dimitry Sibiryakov
Виноват, не уточнил, что имеется в виду кластер типа "shared nothing", что подразумевает,
что каждая его нода ("нода" - сервер-член кластера) имеет полную копию БД и её содержимого.

Из этого следует, что каждая нода после создания БД должна получить её копию
А откуда следует, что любая вновь созданная БД обязана быть частью кластера, причём автоматически ?

Dimitry Sibiryakov
речь идёт про кластер для ХА/ЛБ (High Availability, Load
Balancing). Отсюда проистекает необходимость существования клиентского редиректора
(плагина к fbclient типа "провайдер"), подменяющего стандартный "remote".
Ни разу она отсюда не проистекает. Это один из вариантов. Другой вариант - балансирующий прокси.
Вне процессов клиента и/или сервера(ов). Можно даже на отдельном хосте.

Dimitry Sibiryakov
"Зачем" - хороший вопрос.
Именно. И ответа на него я не вижу.

Dimitry Sibiryakov
Обработка данного вызова - это единственная идея, которая мне
пришла в голову для осуществления описанного выше "расползания свежесозданной БД",
поскольку позволяет уведомить остальные ноды кластера о её создании.
Я ещё раз повторю - с чего бы это каждая новая БД обязана автоматом "расползаться" по кластеру ???

Убери это требование, введи процедуру регистрации БД в кластере (и, кстати, выведения её из кластера) - и жить станет чуть легче, имхо.

Часть твоих проблем из-за патологического нежелания (и неумения) работать с остальными, слушать чужое мнение и соблюдать общие правила игры.
Я сильно сомневаюсь, что твой кластер возможен как чистая надстройка - без какой-либо поддержки со стороны FB.
3 авг 20, 16:08    [22177081]     Ответить | Цитировать Сообщить модератору
 Re: Создание базы с помощью Execute Statement  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50773

hvlad
Я ещё раз повторю - с чего бы это каждая новая БД обязана автоматом "расползаться" по
кластеру ???

Это моё личное желание снизить порог вхождения вплоть до "zero administration". Как
показал прототип FireSwarm, не все осиливают процедуру его установки и конфигурации.

hvlad
Убери это требование, введи процедуру регистрации БД в кластере (и, кстати, выведения её
из кластера) - и жить станет чуть легче, имхо.

Да, скорее всего я так и поступлю. Только с процедурой выведения есть маленькая
техническая сложность в плане временно недоступных нод.

hvlad
Ни разу она отсюда не проистекает. Это один из вариантов. Другой вариант - балансирующий
прокси.

Это то же самое, только сложнее в установке, настройке и с меньшим функционалом.

Posted via ActualForum NNTP Server 1.5

3 авг 20, 16:52    [22177101]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить