|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
YuRock ъъъъъ пропущено... Так. Заменил я коммит на роллбэк - база всё равно пухнет. После роллбэка. Скорее, у тебя ForcedWrites отключено. А то, что версии остаются после rollback - это правильно. тестировал с fb 2.0 и 4.0. fb 2.0 По commint или rollback, в базу пишется весь накопившийся мусор. Пофиг на параллельные транзакции. fb 4.0 Аналогично, но мусор в базу пишется не только по commint или rollback, а постепенно, в процессе. Надо полагать, дабы избежать переполнения памяти в длинных и активных транзакциях. И тоже пофиг на параллельные транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:15 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъЭто как понимать? Это надо понимать так, что не надо смотреть на размер файла в проводнике. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:15 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov ъъъъъЭто как понимать? Это надо понимать так, что не надо смотреть на размер файла в проводнике. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:16 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ ... А вот интересно. Сделал я тестовое приложение, которое в цикле Код: pascal 1. 2. 3. 4.
- ну и параллельно запускаю RO или RW транзакции и наблюдаю, что размер базы меняется (RW параллельная транзакция) или нет (RO параллельная транзакция)... "размер базы меняется (RW параллельная транзакция) или нет (RO параллельная транзакция)" - это в FB 2.0. ... А в fb 4.0 база пухнет при любых RC транзакциях, хоть RO, хоть RW. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:22 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ ... А в fb 4.0 база пухнет при любых RC транзакциях, хоть RO, хоть RW. Офигеть, сколько нового. В FB 4.0 RC транзакции по умолчанию стартуют с доп. опцией опцией "Read Consistency". Если на сервере, в firebird.conf установить ReadConsistency в 0, то параллельные RC RO транзакции уже не будут заставлять "пухнуть" базу. kdv, имхо, твои статья требуют серьёзного дополнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:36 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ YuRock, у тебя фибы установлены? Могу крошечное тестовое приложение выложить, сам увидишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:39 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ YuRock, у тебя фибы установлены? Могу крошечное тестовое приложение выложить, сам увидишь. В общем, кому интересно - вот крошечное приложение. Требует наличие FIB+, не обязательно инсталлированные, лишь бы путь к файликам был в "library path" Delphi. На компе должен быть установлен и запущен сервер FB, раскоммитить и отредактирвоать нужные константы, пределяющие №порта и путь к клиентской библиотеке: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:43 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ ъъъъъ YuRock, у тебя фибы установлены? Могу крошечное тестовое приложение выложить, сам увидишь. В общем, кому интересно - вот крошечное приложение. Требует наличие FIB+, не обязательно инсталлированные, лишь бы путь к файликам был в "library path" Delphi. На компе должен быть установлен и запущен сервер FB, раскоммитить и отредактирвоать нужные константы, пределяющие №порта и путь к клиентской библиотеке: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9.
https://www.sql.ru/forum/actualfile.aspx?id=22405985] Приложенный файл (tstGarb.7z - 2Kb) Запускается, [пере]создается файл базы, табличка tbl (id integer, name varchar(100)), и в бесконечном цикле выполняется скрипт, который можно поменять. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:47 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
YuRock ъъъъъ YuRock, у тебя фибы установлены? Могу крошечное тестовое приложение выложить, сам увидишь. Ну, ладно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:47 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ, Погоди, ты в одной и той же транзакции запись меняешь несколько раз? Вполне нормально ожидать при этом, что будет одна версия изменяться. Нет смысла их копить, их всё равно - никто не увидит - никто не перезапишет При завершении транзакции почему размер меняется - другой уже вопрос. Что-тот там пишется еще может. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:48 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
YuRock ъъъъъ, Погоди, ты в одной и той же транзакции запись меняешь несколько раз? Вполне нормально ожидать при этом, что будет одна версия изменяться. Нет смысла их копить, их всё равно - никто не увидит - никто не перезапишет При завершении транзакции почему размер меняется - другой уже вопрос. Что-тот там пишется еще может. Не понял вопроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 18:49 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ YuRock ъъъъъ, Погоди, ты в одной и той же транзакции запись меняешь несколько раз? Вполне нормально ожидать при этом, что будет одна версия изменяться. Нет смысла их копить, их всё равно - никто не увидит - никто не перезапишет При завершении транзакции почему размер меняется - другой уже вопрос. Что-тот там пишется еще может. Не понял вопроса. Вполне возможно, сервер настолько умный, что всё равно обходится одной версией, просто изменяет ее. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 19:03 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Как интересно... Есть табличка, Код: sql 1. 2. 3. 4.
Сперва выполняем Код: sql 1. 2. 3. 4.
а потом, в цикле Код: sql 1. 2. 3.
Так вот, в fb 2.0, при наличии параллельной RW транзакции, база бешено пухнет. А в fb 4.0 - не пухнет. Хотя, при включении параллельной RW транзакции, скорость апдейта все равно существенно уменьшается. Чудеса в решете. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 19:30 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
О, сколько нам открытий чудных готовит Release Notes нечтения дух... Ты думаешь, выпуск двух минорных версий и двух мажорных - просто изменение циферки?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 19:42 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Протеститровал и с FB 2.5: апдейты, при включении параллельной RW транзакции, также заставляют "пухнуть" базу. Наверное, нужно таки переползать на FB 4.0. Если не боитесь Read Consistency, конечно. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 19:48 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Ты думаешь, выпуск двух минорных версий и двух мажорных - просто изменение циферки?.. Ага. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 19:48 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov О, сколько нам открытий чудных готовит Release Notes нечтения дух... Ты думаешь, выпуск двух минорных версий и двух мажорных - просто изменение циферки?.. "Я читаю, но не понимаю" - (с). В версии 4.0 столько уже накрутили, что не знаешь, откуда подвоха ждать. Пока сам не пощупаешь, не осознаЁшь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 19:53 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ Протеститровал и с FB 2.5: апдейты, при включении параллельной RW транзакции, также заставляют "пухнуть" базу. Наверное, нужно таки переползать на FB 4.0. Если не боитесь Read Consistency, конечно. :) Read Consistency - это круть. То, чего давно не хватало. А подвох там - это таймзоны, отключить которые легко и для всех я пока так и не понял, как. Видимо, так и останется никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 20:07 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Самое простое - параметром конфига. Чуть сложнее SET BIND в триггере на коннект. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 20:21 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
YuRock ъъъъъ Протеститровал и с FB 2.5: апдейты, при включении параллельной RW транзакции, также заставляют "пухнуть" базу. Наверное, нужно таки переползать на FB 4.0. Если не боитесь Read Consistency, конечно. :) Read Consistency - это круть. То, чего давно не хватало. ... Тебя не смущает, что теперь, с "Read Consistency", все RC транзакции станут причиной создания множества версий? Там, где у тебя в древних приложениях жила "безобидная" длинная RC RO транзакция, базы начнут "пухнуть". ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 20:30 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ YuRock пропущено... Read Consistency - это круть. То, чего давно не хватало. ... Тебя не смущает, что теперь, с "Read Consistency", все RC транзакции станут причиной создания множества версий? Там, где у тебя в древних приложениях жила "безобидная" длинная RC RO транзакция, базы начнут "пухнуть". В этом - главная прелесть. Прочти уж до конца, что читать начал. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 21:26 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
YuRock Они будут держать только те версии, которые изменили. Что могут изменить RO транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 21:28 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Самое простое - параметром конфига. Чуть сложнее SET BIND в триггере на коннект. Что касается set bind of TIME ZONE, то это может работать не всегда корректно, на клиент может приходить не то, что было на сервере. А для меня это недопустимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 21:39 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ YuRock Они будут держать только те версии, которые изменили. Что могут изменить RO транзакции? RO ничего держать не будут, т.к. ничего не изменят в их контексте. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 21:40 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
YuRock RO ничего держать не будут, т.к. ничего не изменят в их контексте. Так было до 4.0. С 4.0, RC RO + Read Consistency - изменения, стало как в RC RW. Смотри: ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 22:13 |
|
|
start [/forum/topic.php?fid=58&msg=40117869&tid=2036796]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 166ms |
0 / 0 |