|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
X11Приходится Firebird использовать, как средство сбора инфы с разных процессов. Замени в этом месте Firebird на первую попавшуюся in-memory СУБД и будет тебе счастье. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:12 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ Ну и что это тебе даст, если ты процедуру каждые 3 секунды повторяешь? Просто отодвинешь "процесс" на 15 минут. а как же мне удалять старые ненужные записи? пользователь подключился - запись добавилась... пользователь отключился - запись осталась.... и ее нужно удалить ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:12 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Замени в этом месте Firebird на первую попавшуюся in-memory СУБД и будет тебе счастье. хм.... попробую спасибо за совет ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:12 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
X11пользователь отключился - запись осталась.... В уэб-приложениях так не бывает. Сессия пользователя заканчивается либо явным тычком на кнопку, либо по таймауту. Специфика stateless протокола http. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:16 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov X11пользователь отключился - запись осталась.... В уэб-приложениях так не бывает. Сессия пользователя заканчивается либо явным тычком на кнопку, либо по таймауту. Специфика stateless протокола http. У него же uniGUI. Имитация "классической двухзвенки" поверх http. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:22 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Сессия пользователя заканчивается либо явным тычком на кнопку, либо по таймауту. ну да, это я знаю.... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:23 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ, Вообще без понятия, что там в FireBird происходит. Мы для нагруженных систем пользуемся нормальными enterprise БД, без подобных тараканов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:32 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
YuRock Должна. UPDATE и DELETE порождают ровно такие же версии, как и INSERT. Это особенность FireBird? Так-то, в приличной базе, если блобов нет, табличное пространство при апдейте не должно расти. Только логи. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:43 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
rgreat YuRock Должна. UPDATE и DELETE порождают ровно такие же версии, как и INSERT. Это особенность FireBird? Так-то, в приличной базе, если блобов нет, табличное пространство при апдейте не должно расти. Только логи. Рождение эксперта, однако. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:46 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
X11 что ее искать? она одна на все приложение и все НД с гридами к ней подключены X11 ъъъъъ Добавь в итерацию: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:52 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov X11Приходится Firebird использовать, как средство сбора инфы с разных процессов. Замени в этом месте Firebird на первую попавшуюся in-memory СУБД и будет тебе счастье. +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 20:58 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
_Vasilisk_ Потому что есть активные транзакции. Да кто же его знает, что у него там. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 21:01 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
rgreat YuRock Должна. UPDATE и DELETE порождают ровно такие же версии, как и INSERT. Это особенность FireBird? Так-то, в приличной базе, если блобов нет, табличное пространство при апдейте не должно расти. Только логи. В "логах" лежат эти версии, или в одном файле вся БД - не важно. Логи, о которых ты говоришь - это не какая-то неважная информация, это та же БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 21:12 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
_Vasilisk_ X11 что ее искать? она одна на все приложение и все НД с гридами к ней подключены X11 пропущено... ок, спасибо, добавлю ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 21:13 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
_Vasilisk_ Так что ты тогда хочешь? чтобы база не росла... я же удаляю записи, место должно освободиться когда-нибудь и на это место должны добавляться новые записи разве нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 21:32 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
X11 _Vasilisk_ Так что ты тогда хочешь? чтобы база не росла... я же удаляю записи, место должно освободиться когда-нибудь и на это место должны добавляться новые записи разве нет? А какие параметры транзакций у тебя? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 21:35 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
YuRock Это особенность всех версионных СУБД. В "логах" лежат эти версии, или в одном файле вся БД - не важно. Логи, о которых ты говоришь - это не какая-то неважная информация, это та же БД. А логи место на диске занимают только временно и оно будет потом отдано, без всяких подпорок типа reorg, sweep и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 21:42 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
X11я же удаляю записи, место должно освободиться когда-нибудь и на это место должны добавляться новые записи разве нет? ух, ох... Почитайте самую элементарщину http://www.ibase.ru/mga Удаление не может "удалить" запись. Это же версионник, поэтому при удалении создается версия (маркер удаления), и БАЗА РАСТЁТ. Дальше эти версии будут физически удалены на страницах данных только если - нет длинных транзакций, заинтересованных в этих версиях (просто длинных read/write транзакций) - кто-нибудь "удаленные данные" прочитает (парадокс). Если "транзакция записи короткая", это ничего не значит, она просто удалением порождает версию, и всё. Удерживать эту версию может та самая "длинная транзакция одна на всё". Для всех версий ФБ до версии 4 это должна быть транзакция read only read committed. В этом случае она не будет препятствовать превращению старых версий в мусор. Но, "удаленные записи" ничто не читает, и это логично. И увы, в версионнике запись+версия_удаления так и будут торчать, пока - кто-то не прочитает эту запись (по условию, куда попадут и другие записи). Тогда сработает сборщик мусора. - не запустится авто-свип или вручную его не запустят, он прошерстит ВСЮ базу данных и уберет накопившийся мусор. - ну или можно select count периодически запускать. Но см. выше про длинные транзакции. p.s. ну ты же в форуме Firebird тусуешься, я думал ты АЗЫ-то хоть знаешь. Ну как так можно. Короче, читаем подряд http://www.ibase.ru/mga http://www.ibase.ru/garbage/ http://www.ibase.ru/sweep/ Это базовые знания по версионности InterBase и Firebird. rgreatМы для нагруженных систем пользуемся нормальными enterprise БД, без подобных тараканов. версионные Enterprise СУБД - Oracle, MS SQL (если включить версионность), PostgreSQL, Firebird. Версионность у них работает почти одинаково, с некоторыми отличиями, но принцип похожий. Так что про "тараканов" - это прям ляп в лужу. Не говорите так никому. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 22:27 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
rgreatИ если делать только Update, они будут иметь постоянный размер. А логи место на диске занимают только временно и оно будет потом отдано У Firebird данные и "логи" в одном файле. И да, когда "логи" очистятся, туда можно будет напихать новых данных. У PostgreSQL - то же самое. Но если в версионнике активна какая-то транзакция, "логи" не могут быть просто так очищены. Например, у Оракла была проблема, когда длинная snapshot-транзакция обламывалась прочитать данные, которые были вычищены из лога. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 22:33 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
kdv Но если в версионнике активна какая-то транзакция, "логи" не могут быть просто так очищены. Зависшие транзакции - это известный комплекс проблем. Только я сомневаюсь что у X11 проблема именно в этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 22:38 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
kdv версионные Enterprise СУБД - Oracle, MS SQL (если включить версионность), PostgreSQL, Firebird. Версионность у них работает почти одинаково, с некоторыми отличиями, но принцип похожий. Так что про "тараканов" - это прям ляп в лужу. Не говорите так никому. Да, везде свои нюансы. Но только в приличной и нормально настроенной БД такого роста занимаемого объема, быть не может, если объем фактических данных в таблицах почти не растет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 22:48 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
ъъъъъ А какие параметры транзакций у тебя? для чтения: read;nowait;rec_version;read_committed для записи: write;nowait;rec_version;read_committed ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 23:43 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
kdv - ну или можно select count периодически запускать. Но см. выше про длинные транзакции. Получается, это этой проблемной таблицы можно сделать отдельную еще одну читающую транзакцию? Ну чтобы датасет читал данные из этой таблицы периодически переоткрывая транзакцию... С детства меня учили, что одна "вечная" транзакция - это хорошо, а тут на тебе ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 23:49 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
kdv я думал ты АЗЫ-то хоть знаешь та вроде как ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 23:51 |
|
Ускорение работы растущей базы данных Firebird через приложение на Delphi
|
|||
---|---|---|---|
#18+
X11 kdv - ну или можно select count периодически запускать. Но см. выше про длинные транзакции. Получается, это этой проблемной таблицы можно сделать отдельную еще одну читающую транзакцию? Ну чтобы датасет читал данные из этой таблицы периодически переоткрывая транзакцию... С детства меня учили, что одна "вечная" транзакция - это хорошо, а тут на тебе Kdv там в одном месте "не" пропустил, ну это ясно. А по поводу переоткрытия транзакции - такого понятия нет. Переоткрытие - это открытие новой. (Retain не будем упоминать) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 23:53 |
|
|
start [/forum/topic.php?fid=58&msg=40117549&tid=2036796]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 260ms |
total: | 406ms |
0 / 0 |