|
|
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
Всем привет. Я тут немного порассуждаю вслух, а если начну гнать чушь ошибусь в чем, то бейте меня ногами поправьте меня :) Дано: 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 опять же. Ваши советы? Хотя пока писал, я для себя уже почти все решил :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 01:41:42 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
shiliaevС режимом сохранения коннектов, я думаю супер не потянет (100 коннектов на одно ядро). Что ему помешает?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 13:00:21 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovshiliaevС режимом сохранения коннектов, я думаю супер не потянет (100 коннектов на одно ядро). Что ему помешает?.. Все 100 потоков будут крутиться на одном ядре, за которое конкурируют еще процессы классика. Хотя... Реально трудится будет штук 5-10 одновременно, может и ничего. ЗЫ: с супером не общался со времен FB1, там он переставал принимать новые подключения на 60-70 коннектах. Помню было шаманство с галкой "Разрешить взаимодействие с рабочим столом". Сейчас, конечно, и железо другое и исправили наверное. А может это только мой склероз :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 13:36:18 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
shiliaev, нормальный супер будет только в FB3. Вроде его к концу года обещают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 14:48:41 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, тем не менее, тут есть люди, которые на нынешнем супере и со 100 коннектов (к одной базе) вполне нормально себя чувствуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 15:05:40 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
kdv, Ты про INTERBASE или про тех у кого эти 100 коннектов бездельничают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 15:14:36 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, про InterBase я бы сказал, что там на 16-ти ядрах и 350-400 активных пользователей себя нормально чувствуют. Так что нет, я про Firebird. Тем более что "тут есть люди" - это именно на sql.ru, недавно что-то было про SS и сотни пользователей, чему я не поверил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 15:19:10 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
Симонов Денисshiliaev, нормальный супер будет только в FB3. Вроде его к концу года обещают Кстати да! Денис, хорошая идея. Рисков то практически нет. Базу не сломает, а если и умудрится сломать - то и фиг с ней :). Если ФБ упадет - то гвардеец (или что там вместо него сейчас) поднимет. Единственный риск что тройка зависнет и повесит рабочий сервер. Был бы я помоложе, поставил бы альфу тройки. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 19:03:07 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
shiliaev, Windows сейчас вместо гвардейца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 14:06:35 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
shiliaevБыл бы я помоложе, поставил бы альфу тройки. :)ну так если база эта (адресная) легко восстанавливается в любой момент, то причём тут возраст ? Ставь трёшку и работай. Завалить её после ~сентября-октября 2013 стало гораздо труднее, там подправили что-то существенное. Говорю по результатам своих издевательств (запускал по 450-500 коннектов - DML-молотилок - и оставлял так на двое суток). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 14:17:54 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
Таблоид, пока ODS не стабилизировался (заморозился) опасно. Каждый новый снапшот может потребовать миграции через b/r ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 14:31:31 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
Симонов Дениспока ODS не стабилизировался (заморозился) опасно. Каждый новый снапшот может потребовать миграции через b/r1) в чём опасность, если база всё время может быть пересоздана ? 2) сомневаюсь, что ТС будет часто менять билды. Поставит и забудет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 14:41:26 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
ТаблоидСимонов Дениспока ODS не стабилизировался (заморозился) опасно. Каждый новый снапшот может потребовать миграции через b/r1) в чём опасность, если база всё время может быть пересоздана ? 2) сомневаюсь, что ТС будет часто менять билды. Поставит и забудет. Уговорили. Попробую на тестовой тачке погонять трешкин супер. Насчет продакшена буду сильно думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 15:16:42 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
А embedded в снапшотах есть? Не могу найти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 22:11:52 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
shiliaevА embedded в снапшотах есть? Не могу найти.В 3-ке нет отдельного embedded. Просто распакуй снапшот, не запускай сервер и подключайся через fbclient.dll в каталоге снапшота. Есс-но, используя локальный коннект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 23:30:29 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
hvladВ 3-ке нет отдельного embedded. Просто распакуй снапшот, не запускай сервер и подключайся через fbclient.dll в каталоге снапшота. Есс-но, используя локальный коннект. О, Влад, вы стерли разницу между городом и деревней клиентом и embedded. Круто! Более не придется думать об реестре и прочих .ini, .cfg. Я так понимаю, что локальный протокол изжит навсегда и и париться о локальном, неизвестно кем и когда установленном сервере более не надо? Спасибо вам за работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2014, 00:03:41 |
|
||
|
Несколько вопросов по Readonly БД
|
|||
|---|---|---|---|
|
#18+
shiliaevЯ так понимаю, что локальный протокол изжит навсегда это не так. Но по умолчанию он не используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2014, 10:04:49 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1563969]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
223ms |
get topic data: |
13ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 595ms |

| 0 / 0 |
