powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Несколько вопросов по Readonly БД
18 сообщений из 18, страница 1 из 1
Несколько вопросов по Readonly БД
    #38527669
shiliaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Я тут немного порассуждаю вслух, а если начну гнать чушь ошибусь в чем, то бейте меня ногами поправьте меня :)

Дано: FB 2.5.3 Classic Win64. База 9Гб + 25Гб блобы в файловой системе (читаются - пишутся через UDF). В пике ~100 коннектов. Озу 24Гб, бд практически всегда в кэше ОС.

Небольшая преамбула.

Возникла необходимость к информационной системе привязать федеральную адресную базу ФИАС. База ФИАС в развернутом виде занимает ~10 Гб, что сравнимо с моей рабочей базой (РБ). Адресная база (АБ) полностью обновляется раз неделю (на самом деле есть и инкрементные обновления, но, как я не пробовал, получить полностью идентичные данные с помощью накатанных инкрементов не удалось. Трафика не жалко, считаем что обновляется полностью :))
Поскольку мне не нужны жесткие связи на уровне ФК, я решил хранить АБ в отдельной Readonly базе.

Плюсы этого решения:
- не распухает РБ. Время б/р остается на прежнем уровне;
- невозможно убить РБ в случае неудачного импорта (в какую-то неделю был архив с мусором в dbf-файлах);
- быстрый (~1 часа с учетом загрузки архива) и простой процесс создания АБ с помощью Emb-сервера и External таблиц (на рабочем сервере Ext таблицы, естественно, запрещены);
- МУСОР. Перезаливать 50% объёма данных раз в неделю - нет уж. И RECREATE TABLE тут тоже не спасает.
- Время несогласованности данных минимально (Shutdown старая АБ, MOVE новая АБ).

Минусы:
- необходим второй коннект из приложения или доступаться к АБ из РБ с помощью Execute on external (мой вариант). Запросы препарятся каждый заново (не смертельно);
- необходимо больше ресурсов сервера или доп. сервер;
- две базы -> в два раза больше шансов сломаться.

По параметрам АБ вроде все понятно:
- сразу после создания, до заливки данных ставим no reserve. Меньше ИО, меньше кэш ОС, больше данных влезет в кэш FB;
- после заливки ставим флаг Readonly. Не уверен, но по-моему, FB открывает такие файлы с флагом readonly, что быстрее чем без него (тут я плаваю, по-моему политика кэширования ОС как то меняется). Хуже точно не будет.
- FW - без разницы, пусть ради экзотики будет OFF;
- SWEEP INTERVAL - по привычке 0. Хотя тоже без разницы.

Остаются вопросы по размещению АБ и политике сохранения коннекта (при выполнении Execute on external c флагом WITH AUTONOMOUS TRANSACTION каждый запрос выполняется в своем коннекте, который рвется после окончания запроса; без этого флага, коннект остается висеть до коммита (а в моем случае до дисконекта РБ, поскольку я использую одну транзакцию RC+RO), но и следующие запросы будут использовать этот коннект).

Варианты:
- Повесить АБ на инстанс FB от РБ (а у меня напомню classic). Плохо. В случае сохранения коннекта - отжирается много ресурсов (количество процессов fb_inet_server удваевается, пусть я и оставлю мизерный кэш 75 страниц, но велики шансы выкинуть РБ из кэша ОС). В случае установки коннекта каждый раз, много накладных расходов (создать процесс, вычитать кэш метаданных и т. д.);
- Поднять Супер на другом порту. Уже лучше. С режимом сохранения коннектов, я думаю супер не потянет (100 коннектов на одно ядро). А с режимом короткого коннекта наверняка справится (поставить большой общий кэш и обеспечить с помощью isql чтобы один коннект был всегда. База всегда будет "разогрета");
- Поднять суперклассик. Не знаю. Не работал с ним. Видимо то же, что и классик.
- Старый добрый классик на резервный сервер. Хороший вариант, но... Смущает размазывание БД по нескольким серверам. Надежность системы падает в два раза. 10054 опять же.

Ваши советы? Хотя пока писал, я для себя уже почти все решил :)
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38528091
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shiliaevС режимом сохранения коннектов, я думаю супер не потянет (100 коннектов на
одно ядро).
Что ему помешает?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38528173
shiliaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovshiliaevС режимом сохранения коннектов, я думаю супер не потянет (100 коннектов на
одно ядро).
Что ему помешает?..


Все 100 потоков будут крутиться на одном ядре, за которое конкурируют еще процессы классика.

Хотя...
Реально трудится будет штук 5-10 одновременно, может и ничего.

ЗЫ: с супером не общался со времен FB1, там он переставал принимать новые подключения на 60-70 коннектах. Помню было шаманство с галкой "Разрешить взаимодействие с рабочим столом".
Сейчас, конечно, и железо другое и исправили наверное.
А может это только мой склероз :)
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38528332
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shiliaev,

нормальный супер будет только в FB3. Вроде его к концу года обещают
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38528384
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

тем не менее, тут есть люди, которые на нынешнем супере и со 100 коннектов (к одной базе) вполне нормально себя чувствуют.
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38528405
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Ты про INTERBASE или про тех у кого эти 100 коннектов бездельничают?
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38528416
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

про InterBase я бы сказал, что там на 16-ти ядрах и 350-400 активных пользователей себя нормально чувствуют.
Так что нет, я про Firebird. Тем более что "тут есть люди" - это именно на sql.ru, недавно что-то было про SS и сотни пользователей, чему я не поверил.
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38528762
shiliaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисshiliaev,

нормальный супер будет только в FB3. Вроде его к концу года обещают

Кстати да! Денис, хорошая идея.

Рисков то практически нет. Базу не сломает, а если и умудрится сломать - то и фиг с ней :).
Если ФБ упадет - то гвардеец (или что там вместо него сейчас) поднимет.
Единственный риск что тройка зависнет и повесит рабочий сервер.

Был бы я помоложе, поставил бы альфу тройки. :)
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38529594
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shiliaev, Windows сейчас вместо гвардейца
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38529612
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shiliaevБыл бы я помоложе, поставил бы альфу тройки. :)ну так если база эта (адресная) легко восстанавливается в любой момент, то причём тут возраст ? Ставь трёшку и работай. Завалить её после ~сентября-октября 2013 стало гораздо труднее, там подправили что-то существенное. Говорю по результатам своих издевательств (запускал по 450-500 коннектов - DML-молотилок - и оставлял так на двое суток).
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38529635
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

пока ODS не стабилизировался (заморозился) опасно. Каждый новый снапшот может потребовать миграции через b/r
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38529653
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспока ODS не стабилизировался (заморозился) опасно. Каждый новый снапшот может потребовать миграции через b/r1) в чём опасность, если база всё время может быть пересоздана ?
2) сомневаюсь, что ТС будет часто менять билды. Поставит и забудет.
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38529728
shiliaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТаблоидСимонов Дениспока ODS не стабилизировался (заморозился) опасно. Каждый новый снапшот может потребовать миграции через b/r1) в чём опасность, если база всё время может быть пересоздана ?
2) сомневаюсь, что ТС будет часто менять билды. Поставит и забудет.

Уговорили. Попробую на тестовой тачке погонять трешкин супер. Насчет продакшена буду сильно думать.
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38530194
shiliaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А embedded в снапшотах есть? Не могу найти.
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38530248
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shiliaevА embedded в снапшотах есть? Не могу найти.В 3-ке нет отдельного embedded.
Просто распакуй снапшот, не запускай сервер и подключайся через fbclient.dll в каталоге снапшота.
Есс-но, используя локальный коннект.
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38530257
shiliaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladВ 3-ке нет отдельного embedded.
Просто распакуй снапшот, не запускай сервер и подключайся через fbclient.dll в каталоге снапшота.
Есс-но, используя локальный коннект.
О, Влад, вы стерли разницу между городом и деревней клиентом и embedded. Круто! Более не придется думать об реестре и прочих .ini, .cfg.
Я так понимаю, что локальный протокол изжит навсегда и и париться о локальном, неизвестно кем и когда установленном сервере более не надо? Спасибо вам за работу.
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38530380
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shiliaevЯ так понимаю, что локальный протокол изжит навсегда
это не так. Но по умолчанию он не используется.
...
Рейтинг: 0 / 0
Несколько вопросов по Readonly БД
    #38530623
shiliaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimitrshiliaevЯ так понимаю, что локальный протокол изжит навсегда
это не так. Но по умолчанию он не используется.

Спасибо. Дмитрий.
Читаю Release Notes.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Несколько вопросов по Readonly БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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