|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Выпущен Firebird 4.0 Сегодня, 1 июня 2021 года, выпущен Firebird 4.0 — седьмой основной выпуск СУБД Firebird. Ключевой задачей при разработке Firebird 4.0 было повышение доступности баз данных (синхронная и асинхронная логическая репликация). Одно из важнейших улучшений в Firebird 4.0 — изменение подхода к созданию согласованного представления о состоянии базы данных, видимом для выполняющихся транзакций. По простому, новый подход позволяет решить извечную проблему нерадивых программистов, которые оставляют долгоживущие транзакции, через промежуточную сборку мусора. Firebird 4 решает проблему согласованного чтения на уровне запроса в транзакциях Read Committed Read Consistency, промежуточная сборка мусора позволяет дополнительно сокращать длины цепочек версий при наличии долгих активных транзакций. Среди важных улучшений также можно отметить поддержку чисел с точностью более 18 цифр, улучшение точности вычислений для более коротких чисел, поддержка часовых поясов, увеличение длины имён метаданных до 63 символов, улучшение подсистемы безопасности, копии постоянной готовности (physical standby) на основе nbackup, таймауты простоя соединения и выполнения SQL запроса, Batch API, а также множество новых возможностей языка SQL. Загрузить Firebird 4 c официального сайта Документация по Firebird 4.0 Firebird 4.0 выпущен вместе с полной документацией по SQL на русском и английском языке! Приятно отметить, что наша компания (iBase/IBSurgeon) является спонсором документации, а наши сотрудники участвовали в ее создании и указаны как авторы. Документация уже доступна, скачивайте: Краткое руководство по миграции на Firebird 4.0 (PDF) Руководство по языку SQL СУБД Firebird 4.0 (PDF) Вся документация по Firebird на русском Еще ресурсы по Firebird Подписывайтесь на наш канал Telegram - там все новости о Firebird и ежемесячный Firebird Performance Newsletter! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 09:49 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Alexey Kovyazin, Большой Респект всей команде! Работаем с Firebird ежедневно, мажорные релизы приятно удивляют. Спустя 9 лет решили переводить проекты с 2.5 на тройку, хотя, быть может имеет смысл и на четверку уже?! В общем, так держать! Удачи и вдохновения! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 10:52 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Softologic, Я бы на 4 прицеливался. Пока будете переводить, ещё и минорный релиз подоспеет, если что-то найдётся. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 11:05 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Спасибо! Планируем с тройки перепрыгнуть на четверку. Респект и уважуха всем создателям сие чуда! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 11:08 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
WildSery Softologic, Я бы на 4 прицеливался. Пока будете переводить, ещё и минорный релиз подоспеет, если что-то найдётся. Да, но особенность проектов в том, что они собраны на купленном в далеком 2011-м FibPlus. Для тройки есть стабильный форк, для четверки еще нет. Так что по всей видимости, ждем апдейта от Dorin Marcocci. На FireDac переделывать как то не хочется, плюс у нас Delphi Prо, а она не поддерживает Firedac для удаленых баз, только localhost, как известно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 11:15 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Softologic WildSery Softologic, Я бы на 4 прицеливался. Пока будете переводить, ещё и минорный релиз подоспеет, если что-то найдётся. Да, но особенность проектов в том, что они собраны на купленном в далеком 2011-м FibPlus. Для тройки есть стабильный форк, для четверки еще нет. Так что по всей видимости, ждем апдейта от Dorin Marcocci. На FireDac переделывать как то не хочется, плюс у нас Delphi Prо, а она не поддерживает Firedac для удаленых баз, только localhost, как известно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:07 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Softologic пропущено... Да, но особенность проектов в том, что они собраны на купленном в далеком 2011-м FibPlus. Для тройки есть стабильный форк, для четверки еще нет. Так что по всей видимости, ждем апдейта от Dorin Marcocci. На FireDac переделывать как то не хочется, плюс у нас Delphi Prо, а она не поддерживает Firedac для удаленых баз, только localhost, как известно. Вот как... А это инфа 100% ? Или догадки? У меня последняя лицензия на 10.3.1. С тех пор апдейтов не покупаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:15 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, Softologic, на первое время сойдёт Код: plaintext
Если конечно хочется реально задействовать новые типы данных и фичи типа Batch API библиотеку таки придётся дорабатывать ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:16 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис YuRock, Softologic, на первое время сойдёт Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockможет понадобиться не только апдейт FibPlus, но и апдейт Delphi. Для этого в новых версиях Дельфи должна появиться поддержка int128 или decfloat, например, а таковой на горизонте не видать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:29 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис, Можно ли привести пример триггера on connect который будет эквивалентен "DataTypeCompatibility = 3.0"? Если он вообще возможен ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:36 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Обычный триггер с нужной пачкой "SET BIND" внутри. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:42 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, на LOCALTIMESTAMP надо было перелопачивать ещё в 3.0.4 или 2.5.9. Я уже давно это сделал, надо же следить за новостями. Впрочем Код: sql 1. 2. 3. 4. 5. 6. 7.
выдаёт правильное время ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:50 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Или всё перелопачивать надо, отказываясь при этом от версий ниже 3.0, в котором есть LOCAL_TIMESTAMP? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:50 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Шавлюк Евгений Можно ли привести пример триггера on connect который будет эквивалентен "DataTypeCompatibility = 3.0"? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:51 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Обычный триггер с нужной пачкой "SET BIND" внутри. Я это понимаю, но такая пачка будет полным соответствием настройки в firebird.conf? Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Пока всех перевести на local_timestamp не просто, у всех разные версии fb3.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:53 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad А в чём проблема указать DataTypeCompatibility в firebird.conf или в database.conf ? Строго говоря такой проблемы нет, но хотелось бы понимать ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 14:54 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, decfloat у тебя сам по себе не возникнет, пока его явно не укажешь в отличие от * time zone и int128 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 15:00 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Шавлюк Евгенийтакая пачка будет полным соответствием настройки в firebird.conf? Вроде бы да. Там правила как-то мутненько прописаны, ковыряться лень. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 15:02 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Шавлюк Евгений, README.set_bind.md`DataTypeCompatibility` is minor firebird version for which we want to provide some compatibility regarding data types. That compatibility may be not absolute - for example SET BIND can't care about type of particular SQL functions. The following types will be described in legacy form when `DataTypeCompatibility=3.0`: DECFLOAT, INT128 and TIME(STAMP) WITH TIME ZONE. When `DataTypeCompatibility=2.5` in addition to this list BOOLEAN will be described as legacy type as well. тут вроде всё сказано ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 15:02 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
я напомню краткое руководство по миграции на 4 с 2.5 и 3.0 http://www.ibase.ru/files/firebird/fb4migrationshort.pdf ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 15:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv я напомню краткое руководство по миграции на 4 с 2.5 и 3.0 http://www.ibase.ru/files/firebird/fb4migrationshort.pdf Напомни, какой смысл в миграции при отсутствии клиентских библиотек, поддерживающих новые возможности. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 16:01 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, есть достаточно новых фич, не требующих новых клиентских библиотек. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 16:05 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ kdv я напомню краткое руководство по миграции на 4 с 2.5 и 3.0 http://www.ibase.ru/files/firebird/fb4migrationshort.pdf Напомни, какой смысл в миграции при отсутствии клиентских библиотек, поддерживающих новые возможности. рано или поздно появится. И скорее всего у java. net и python ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 16:05 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad ъъъъъ, есть достаточно новых фич, не требующих новых клиентских библиотек. Об этом я и спросил. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 16:06 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис на LOCALTIMESTAMP надо было перелопачивать ещё в 3.0.4 или 2.5.9. Я уже давно это сделал Ну, поздравляю, я - нет. У меня даже исходников всех нет (некоторые клменты сами что-то дописывают в своих одинэсах и прочем). И если говорить о 3.0 - их зоопарк, тысячи установок. Т.е., оказывается, везде где < 3.0.4 надо еще и ФБ обновлять :( Симонов Денис Впрочем Код: sql 1. 2. 3. 4. 5. 6. 7.
выдаёт правильное время Это не поможет. В основном CURRENT_TIMESTAMP используется в селектах (в условиях), инсертах, апдейтах... Если поле будет с доменом с "without time zone" - оно правильно сконвертит? Впрочем, всё равно всё переделывать, даже если да. hvlad YuRock Или всё перелопачивать надо, отказываясь при этом от версий ниже 3.0, в котором есть LOCAL_TIMESTAMP? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 16:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Шавлюк Евгений, README.set_bind.md`DataTypeCompatibility` is minor firebird version for which we want to provide some compatibility regarding data types. That compatibility may be not absolute - for example SET BIND can't care about type of particular SQL functions. The following types will be described in legacy form when `DataTypeCompatibility=3.0`: DECFLOAT, INT128 and TIME(STAMP) WITH TIME ZONE. When `DataTypeCompatibility=2.5` in addition to this list BOOLEAN will be described as legacy type as well. Если да - то отлично. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 16:17 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, DataTypeCompatibility влияет только при передачи данных на клиента. В режиме совместимости тип трансформируется в тип без часового пояса. Внутри сервера чуток иначе. DataTypeCompatibility там не играет рояли. Если я правильно понял то при сравнении without с with, without приводится к типу с часовым поясом. А при присваивании конвертируется к типу в левой части выражения. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 17:03 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис DataTypeCompatibility влияет только при передачи данных на клиента. В режиме совместимости тип трансформируется в тип без часового пояса. Внутри сервера чуток иначе. DataTypeCompatibility там не играет рояли. Не говоря уж о том, что если есть желание использовать на клиенте (не у меня пока, но вообще) decfloat, но нет - таймзоны. Очень нужна настройка сервера, отключающая таймзоны полностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 17:22 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Если кто-то невнимательно читал RN, то четвёрка умеет "хостить" движок тройки. Т.е. на одном экземпляре сервера можно продолжать обслуживать базы тройки и экспериментировать с базами четвёрки. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 17:27 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Если кто-то невнимательно читал RN, то четвёрка умеет "хостить" движок тройки. Т.е. на одном экземпляре сервера можно продолжать обслуживать базы тройки и экспериментировать с базами четвёрки. 1. Т.е. мне надо установить везде 4-ку, установить параметр "Использовать 4-ку как 3-ку для этой базы"; 2. Перелопатить свои программы и эту базу (заменить везде CURRENT на LOCAL), обновить везде программу и базу; 3. Установить везде параметр "Использовать 4-ку как 4-ку". Тут не двойная работа даже, а тройная. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 17:35 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, не надо ничего отключать. Я же сказал типы внутри движка конвертируются при сравнении и присваивании. Сравнивать на равенство с CURRENT_TIMESTAMP / LOCALTIMESTAMP вряд ли потребуется. А вот всякие Код: sql 1. 2. 3.
могут вырубить использование индекса по bydate, если bydate без часового пояса. Так что на localtimestamp в таких местах лучше переписать. При присваивании вообще нет никаких проблем ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 17:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис не надо ничего отключать. Я же сказал типы внутри движка конвертируются при сравнении и присваивании. Сравнивать на равенство с CURRENT_TIMESTAMP / LOCALTIMESTAMP вряд ли потребуется. Не понял, к чему это Симонов Денис А вот всякие Код: sql 1. 2. 3.
могут вырубить использование индекса по bydate, если bydate без часового пояса О ужас :( Симонов Денис При присваивании вообще нет никаких проблем Кроме главной: на глаз неизвестно, что там присвоится. И сколько и где таких присвоений. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 18:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, с чего бы это неизвестно. Время преобразуется из часового пояса сеанса в локальное. Если вам надо обязательно в часовом поясе сервера, то в onconnect триггере это легко можно установить. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 18:17 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Это не поможет. У меня одна база при тысячах установок. P.S. Нет там "параметра". Есть настройки в firebird.conf и databases.conf ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 18:56 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, только смысла в этом мало. БД с движком от тройки это практически та же самая тройка. Новых возможностей никаких. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 19:01 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
01.06.2021 19:01, Симонов Денис пишет: > БД с движком от тройки это практически та же самая тройка. > Новых возможностей никаких. а нафига вообще задумка сия? в чем сокрыт сакральный смысл этих перегружаемых энжайнов? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 19:04 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Мимопроходящий, видимо чтобы на одном инстансе выполнять ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 19:07 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис в onconnect триггере это легко можно установить. У меня единый скрипт для создания базы (и скрипты обновлений), для разных версий ФБ. И я хочу, чтобы так и оставалось впредь. Если сделать костыль с EXECUTE STATEMENT в зависимости от версии ФБ, то встает вопрос, как заставить не забыть выполнить этот апдейт того, кто решит обновить версию сервера до 4, после обновления. Делать проверку наличия этого триггера во всех программах при запуске - не хочется. Можно, конечно, попробовать сам триггер сделать везде, а уже в нём делать костыль с EXECUTE STATEMENT в зависимости от версии ФБ... Но не нравится мне такое... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2021, 19:23 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис только смысла в этом мало. БД с движком от тройки это практически та же самая тройка. Новых возможностей никаких. Да, для одной базы на сервере смысла всё равно мало, но если их несколько или даже несколько десятков - смысл появляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 06:10 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock У меня единый скрипт для создания базы (и скрипты обновлений), для разных версий ФБ. И я хочу, чтобы так и оставалось впредь. Т.е. можно не торопясь обновлять сервера на четвёрку, продолжая работать с базами тройки и спокойно решать вопросы миграции. Да, процесс не быстрый, но, вроде как, никто не собирается закрывать (собственный) бизнес? Наверное, наоборот - хочется, чтобы дело продолжало приносить прибыль ещё долгие годы? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 06:18 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Кто-нибудь из дельфистов планирует мигрировать на FB4.0? Расскажите, пожалуйста, каким образом вы собираетесь это сделать и ради каких новых возможностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 10:55 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Кто нибудь классик в четверке тестировал с большим количеством соединений? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 11:35 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, я планирую. Новые типы мне пока до лампочки. Из того что точно буду использовать: - асинхронную логическую репликацию - тайм-аут простоя соединения. Чтобы вырубать тех кто прогу запущенной на ночь оставляет, а сам не работает - LATERAL - улучшения в оконных функциях (фреймы, именованные окна) - новые security фичи (роли по умолчанию, SQL SECURITY DEFINER) А ещё промежуточная сборка мусора, сама по себе очень полезная и нужная. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 11:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Ё-МОЁ!!!! Я уж надежду потерял, а тут на тебе - релиз!... Был бы рядом - обнял. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 12:59 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
А клиент от трёшки пойдёт? Или надо переставлять? Пока у клиентов (пользователей) двухзвенка. Пора готовить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 16:31 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
KreatorXXI, подойдёт, но желательно чтобы версия была не меньше 3.0.4. Ну и при условии DataTypeCompatibility = 3.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2021, 16:52 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
А возможность сменить тип у обычного поля на GENERATED ALWAYS AS IDENTITY или GENERATED BY DEFAULT AS IDENTITY когда-нибудь подъедет? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 11:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис KreatorXXI, подойдёт, но желательно чтобы версия была не меньше 3.0.4. Ну и при условии DataTypeCompatibility = 3.0 "Не меньше 3.0.4" не гарантирую. А в чём проблема? Версию сервера меняют, а вот клиента вряд ли переставляют. Мы с трудом добились, что с двойки ушли. И то не факт. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 12:38 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
KreatorXXI"Не меньше 3.0.4" не гарантирую. А в чём проблема? читать не хочется? видимо, проблема в этом. http://www.ibase.ru/files/firebird/fb4migrationshort.pdf страница 12, "Новые типы данных" "Для старых клиентских библиотек и приложений вы можете установить режим совместимости типов, однако это не поможет внутри хранимых процедур, функций и триггеров. Вам необходимо использовать выражения LOCALTIMESTAMP и LOCALTIME вместо CURRENT_TIMESTAMP и CURRENT_TIME там где вы не хотите получить типы данных с часовыми поясами. Данные выражения специально были введены в корректирующих релизах Firebird 2.5.9 и Firebird 3.0.4, чтобы вы заранее могли подготовить свои базы данных для миграции на Firebird 4.0." ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 13:26 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
KreatorXXI, 3.0.4 потому что именно там для AuthServer Srp заменили на Srp256, который сейчас юзается по умолчанию ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2021, 13:45 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Спасибо. Понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2021, 10:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Какой движок обслуживает конкретную базу - разруливается на уровне псевдонима этой базы. Проще по-старинке на разные IP посадить. Вот если бы переключатель работал по версии ODS - была бы польза. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2021, 12:18 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ggreggoryВот если бы переключатель работал по версии ODS - была бы польза. Так он вроде как и работает. Просто перечисли оба движка по порядку в списке провайдеров. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2021, 12:30 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov ggreggoryВот если бы переключатель работал по версии ODS - была бы польза. Так он вроде как и работает. Просто перечисли оба движка по порядку в списке провайдеров. Работает! Круто!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2021, 13:31 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ggreggory Dimitry Sibiryakov пропущено... Так он вроде как и работает. Просто перечисли оба движка по порядку в списке провайдеров. Работает! Круто!!! Ради интереса попробовал в обратку - подключиться 3-ей версией используя движок 4-ой. Так ошибку генерит: Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2021, 21:07 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ggreggory, что удивляет? Тройка не рассчитана на работу с другими движками. То есть оно конечно задумывалось так чтобы работало, но когда стали пробовать в 4.0 Beta использовать engine12, оказалось что не может. И там кое-что фиксили, не могу сказать перенесли этот фикс в 3.0 или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2021, 09:10 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис ggreggory, что удивляет? Не удивляет. Наоборот, было бы удивительно, если бы ещё и ТАК работало. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2021, 12:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денисоно конечно задумывалось так чтобы работало Вообще не задумывалось. Когда делали плагинную архитектуру, собственно движок в плагин оборачивали абы как, лишь бы работало. Поэтому он, в частности, использует firebird.conf вместо engineXX.conf и способен конфликтовать со своим собратом по любому глобальному ресурсу. Проблемы неспособности работы движка в виде библиотеки обносили костылями класса "обязательный вызов fb_shutdown" и "метод публичного API для проверки не идёт ли завершение работы". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2021, 13:04 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Alexey Kovyazin новый подход позволяет решить извечную проблему нерадивых программистов, которые оставляют долгоживущие транзакции, через промежуточную сборку мусора. Firebird 4 решает проблему согласованного чтения на уровне запроса в транзакциях Read Committed Read Consistency, промежуточная сборка мусора позволяет дополнительно сокращать длины цепочек версий при наличии долгих активных транзакций. Тест показывает, что массовые апдейты действительно больше не "пучат" файл базы при наличии параллельных активных транзакциях. Но вставки с удалениями - "пучат", при наличии параллельной активной Read Committed Read Consistency, даже ReadOnly. Будет смешно, при перетаскивании старых приложений на 4.0. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2021, 22:46 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Read Committed Read Consistency Джентльмены, я чувствую себя безнадёжно отставшим от жизни. Эта последовательность слов напоминает мне только анек про квадратный трёхчлен :( ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 01:36 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка, это просто стабильность результата на уровне sql-оператора. сама транзакция RC, а селекты и всякое как бы в микро-снапшотах выполняются. Так изничтожаются старые и нынешние (до 4) приколы с "нестабильностью select", например. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 03:28 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv селекты и всякое как бы в микро-снапшотах выполняются ключевое слово я выделил :-) Ну и тынц . Есть и в картинках ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 07:33 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, ну ё моё. Я же говорил. Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать. Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи. Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 10:07 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис ъъъъъ, ну ё моё. Я же говорил. Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать. Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи. Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы... У вас можно сколько угодно, а компоненты не умеют сохранять датасеты при закрытой транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 10:27 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Fr0sT-Brutal, и что? Кто говорил про одну транзакцию? Я говорю открыл окошко с гридом стартовал новую RO RC транзакцию. Закрыл окошко с гридом - транзакцию коммитнул. Это лучше чем одна транзакция на все гриды. И кстати полностью отфетченный курсор не удерживает сборку мусора. Вот селект который выбирает лям записей, а грид отображает из них 300 записей да. Я когда на 4.0 перешёл специально сделал тайм-аут простоя соединения. А то есть такие прогу не вырубают, откроют и она простаивает 12 часов. Не работаешь 4 часа значит всё соединение рвём. Зато нету никаких транзакций с недофетченными курсорами висящими по три дня. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 10:49 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи. когнитивный диссонанс получается. Противоречит всему, ранее прочтенному мной (в т.ч. и у Энн, не считая статей то ли у kdv, то ли у Бузаджи) :( ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 11:03 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Док, потому что раньше то что было написано было правдой. В 4.0 нет. Я помню как меня ДС критиковал за то что я в своих статьях писал про вечную RO RC транзакцию на всю прикладуху. И я потом специально делал правку где такое больше не рекомендуется. Ещё раз повторю. Мантра про одну RO RC транзакцию больше не правда!!! Не делайте так. Такое ощущение что никто RN не читает. Переход на новую версию ФБ это не просто b/r. Я подготовку начал задолго до того как релиз вышел. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 11:18 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис, я щас пишу проект на 3.0.7. Чую, первый релиз будет, когда пятерка из беты выйдет :) Если уже сейчас на этапе разработки на тройке я сделаю несколько RO RC, это не будет катастрофой? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 11:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис Я говорю открыл окошко с гридом стартовал новую RO RC транзакцию. Закрыл окошко с гридом - транзакцию коммитнул. Это лучше чем одна транзакция на все гриды. Симонов Денис И кстати полностью отфетченный курсор не удерживает сборку мусора. Вот селект который выбирает лям записей, а грид отображает из них 300 записей да. И, кстати, это не тот случай. Там простой апдейт, нет фетча. 22406079 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 11:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис Ещё раз повторю. Мантра про одну RO RC транзакцию больше не правда!!! Не делайте так. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 11:54 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ДокЕсли уже сейчас на этапе разработки на тройке я сделаю несколько RO RC, это не будет катастрофой? не будет YuRockКакая разница - одна на все, или одна на окно с гридом, открытое двое суток? Это тот же подход, абсолютно. В 4.0 это не одно и то же. Из тех курсоров что полностью отфетчены мусор может собираться. И да теперь мусор удерживается не для всех транзакций после самой активной, а только для активной транзакции SNAPSHOT или для недофетченного курсора READ COMMITTED YuRockЯ надеюсь, только свою цепочку версий записей он удерживает, а не все версии записей всех таблиц? конечно только свои. Это одно из самых важных изменений 4.0. Раньше было не так. Вы вообще Release Notes читали? Ну если лень то 22406148 хотя бы гляньте ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 11:59 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Главная проблема RORC транзакций была - временные блобы. Прекрасно было бы ее решить в новом релизе, чтоб в RO генерировать не блоб, а максимально необходимый VARCHAR, и если превышение - давать ошибку (такого не бывает на адекватных запросах с LIST). Т.е. неявно кастить. Это решило бы все проблемы. Запросы, правда, вне транзакций живут... Ну, вообще, это было бы полезно для любых транзакций, я не понимаю, зачем LIST на 8000 результатов. Можно было бы для любых транзакций пробовать делать неявный каст, и делать, если влезает (99.99999999% случаев). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:04 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, лично меня устраивает текущее поведение. Для недовольных есть ReadConsistency в конфиге ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:06 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис Для недовольных есть ReadConsistency в конфиге Сорри, опять не пошел читать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:10 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, вот как раз LIST проблем больших не создавал. Он генерирует ровно один временный BLOB. А вот конкатенация ручками ещё как создавала. Влад кое что придумал для 5.0 (BLOB_APPEND) но пока это не принято. У Адриано свой подход который посложней (пакет RDB$BLOB_UTILS) тоже пока не вошло ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:12 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис И кстати полностью отфетченный курсор не удерживает сборку мусора. Вот селект который выбирает лям записей, а грид отображает из них 300 записей да. Это же полный п....ц, применительно, напроимер к старым приложениям на дельфи с ibx/fib+, разве нет? ... И, тесты показывают, что стартовавшая RC RO R-C транзакция, аообще без открытых курсоров, просто стартовавшая - удерживает версии, порожденные, например, в другой транзакции вставкой и удалением. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:18 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Симонов Денис Для недовольных есть ReadConsistency в конфиге Сорри, опять не пошел читать. для всех. Просто по умолчанию любая транзакция Read Commited является Read Consistency. Если установить ReadConsistency = 0, то надо явно задать tpbReadConsistency Про не пошёл читать ну.... В 4.0 появились две главные фишки логическая репликация и промежуточная сборка мусора + Read Committed Read Consistency. Остальное мелочи. Это лично моё мнение ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:22 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъИ, тесты показывают, что стартовавшая RC RO R-C транзакция, аообще без открытых курсоров, просто стартовавшая - удерживает версии, порожденные, например, в другой транзакции вставкой и удалением. ошибаешься. Сама по себе RC транзакция теперь вообще не удерживает сборку мусора. Причём любая не только Read Only. А вот недофетченные курсоры да. Я это тестировал кстати. Ты как это проверял? Надеюсь не смотря на номер активной транзакции. Потому что он то как раз застрянет. Надо в gstat смотреть на длину цепочки версий ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:29 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, и без тестов было известно что в 4.0 RO RC теряет смысл. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:35 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис YuRock пропущено... Для конкретной транзакции можно отключить? Сорри, опять не пошел читать. для всех. Просто по умолчанию любая транзакция Read Commited является Read Consistency. Если установить ReadConsistency = 0, то надо явно задать tpbReadConsistency Про не пошёл читать ну.... В 4.0 появились две главные фишки логическая репликация и промежуточная сборка мусора + Read Committed Read Consistency. Остальное мелочи. Это лично моё мнение Впрочем, я на 4-ку не смогу перейти не только из-за этого. Достаточно уже того, что нормально таймзоны отключить невозможно - на клиента запрос SELECT CURRENT_TIMESTAMP будет возвращать неизвестно, что, как не настраивай, а не GetLocalTime сервера, как раньше. Будет как с BIGINT для 1-го диалекта, я уже понял. В общем, из-за этих "мелочей", переход на 4-ку невозможен (только для совершенно новых проектов, коих в моей жизни вряд ли предвидится). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:39 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, издеваешься? Ты вообще хоть что-то читал в RN? Про параметр DataTypeCompatibility в курсе? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:46 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис YuRock, издеваешься? Ты вообще хоть что-то читал в RN? Про параметр DataTypeCompatibility в курсе? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис ъъъъъИ, тесты показывают, что стартовавшая RC RO R-C транзакция, аообще без открытых курсоров, просто стартовавшая - удерживает версии, порожденные, например, в другой транзакции вставкой и удалением. ошибаешься. Сама по себе RC транзакция теперь вообще не удерживает сборку мусора. Причём любая не только Read Only. А вот недофетченные курсоры да. Я это тестировал кстати. Ты как это проверял? Надеюсь не смотря на номер активной транзакции. Потому что он то как раз застрянет. Надо в gstat смотреть на длину цепочки версий Например: В цикле: Код: sql 1. 2. 3. 4.
Если параллельно стартовать rc ro r-c транзакцию - база начинает распухать. Ecли в кофиге отключить ReadConsistency - то не распухает. Никакие gstat я не запускал, я смотрел на размер файла базы: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:51 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, потому что некоторые не готовят свои приложения к новой версии. Блин LOCALTIMESTAMP появился ещё в 3.0.4 и 2.5.7. Время подкрутить прикладуху было дофига ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:58 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Fr0sT-Brutal Симонов Денис ъъъъъ, ну ё моё. Я же говорил. Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать. Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи. Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы... У вас можно сколько угодно, а компоненты не умеют сохранять датасеты при закрытой транзакции. один мягко говоря, организм, захреначил такое поведение в изначальный FIB, а все последующие компонентостроители посчитали что раз сам отЭц (Deatz) сделал именно так, то это есть божественный канон, и менять оное - идти супротив божественного. зы: у нас это настраивается. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 12:59 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис YuRock, потому что некоторые не готовят свои приложения к новой версии. Блин LOCALTIMESTAMP появился ещё в 3.0.4 и 2.5.7. Время подкрутить прикладуху было дофига А уж разнообразие 3.0 (до 3.0.5, оно там появилось) вообще впечатляет. Ну и, естественно, даже если б я дождался перехода всех на 3.0.8, толку не было бы, ведь всех исходников у меня нет и быть неможет. Многие дописывают свои экспорты/импорты. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 13:04 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockПлохо, что я могу сказать. Влад на этом месте сказал бы, что "иногда лучше жевать". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 13:46 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис Fr0sT-Brutal, и что? Кто говорил про одну транзакцию? Я говорю открыл окошко с гридом стартовал новую RO RC транзакцию. Закрыл окошко с гридом - транзакцию коммитнул. Это лучше чем одна транзакция на все гриды. И кстати полностью отфетченный курсор не удерживает сборку мусора. Вот селект который выбирает лям записей, а грид отображает из них 300 записей да. Я когда на 4.0 перешёл специально сделал тайм-аут простоя соединения. А то есть такие прогу не вырубают, откроют и она простаивает 12 часов. Не работаешь 4 часа значит всё соединение рвём. Зато нету никаких транзакций с недофетченными курсорами висящими по три дня. Надысь тут, рядом, через губу говорили про компоненты, которые автоматически стартовали и завершали транзакции и всё на клиента фетчили. А теперь не только транзакции, не только полный фетчинг, но и коннект рвать рекомендуем, во избежании... прогресс не стоит на месте... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:03 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, сдается мне, тест кривой. Во-первых, какая архитектура сервера? У SS сборка мусора фоновая, у SC/CS - явная. Дальше, кто будет собирать мусор от delete, если ничего кроме delete/insert в таблице не происходит? Потом, если раньше RO RC это типа "несуществующая транзакция", поэтому она ни на что не влияла, то в 4.0 несуществующих нет. Однако мусор в версиях в 4.0 собирается совсем не так, как раньше. И тут тогда возникает вопрос "очередности транзакций" в тесте. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:08 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъА теперь не только транзакции, не только полный фетчинг, но и коннект рвать рекомендуем, во избежании... Ты "я сделал так" от "всем рекомендую" совсем не отличаешь? Будешь за рекомендации считать каждый кривой костыль с которым смиряются топикстартеры класса хлопотуна и натальи?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ А теперь не только транзакции, не только полный фетчинг, но и коннект рвать рекомендуем, во избежании... прогресс не стоит на месте... Мы рвем коннекты уже больше 20 лет. Если ползатель не проявляет активности. Если это служба - то через 10 000 запросов переподключаемся. Всплывают заказчики, которые лет по 10 не заморачивались свипами, сборками мусора и пр. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:14 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv тест кривой ОК. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:17 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Достаточно уже того, что нормально таймзоны отключить невозможно - на клиента запрос SELECT CURRENT_TIMESTAMP будет возвращать неизвестно, что, как не настраивай, а не GetLocalTime сервера, как раньше. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Ы ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:33 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad YuRock Достаточно уже того, что нормально таймзоны отключить невозможно - на клиента запрос SELECT CURRENT_TIMESTAMP будет возвращать неизвестно, что, как не настраивай, а не GetLocalTime сервера, как раньше. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Если эту настройку не ставить на клиенте, то сервер будет присылать своё локальное время, или по настройкам ОС клиента? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:46 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Сейчас важный вопрос, ответ на который я не смог найти в гугле P.S. По логике: если клиент не прислал (свой) часовой пояс и, если серверу часовой пояс тоже не задан, то какой у сервера остаётся выбор? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:54 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Basil A. Sidorov если клиент не прислал (свой) часовой пояс # If empty, the default is the OS time zone. ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 14:57 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Если эту настройку не ставить на клиенте, то сервер будет присылать своё локальное время, или по настройкам ОС клиента? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:17 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv ъъъъъ, сдается мне, тест кривой. Во-первых, какая архитектура сервера? У SS сборка мусора фоновая, у SC/CS - явная. В SS она по умолчанию комбинированная. kdvДальше, кто будет собирать мусор от delete, если ничего кроме delete/insert в таблице не происходит? по идее delete и должен был собрать ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:28 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad YuRock Если эту настройку не ставить на клиенте, то сервер будет присылать своё локальное время, или по настройкам ОС клиента? Ну тогда да, нормально. Желательно об этом было бы еще написать и здесь 22406364 в комментарии к параметру в конфе, а то там выглядит так, что этот параметр одинаково работает и для сервера, и для клиента. Так, одну неразрешимую проблему вроде решили :), осталось научиться делать НЕ_ReadConsistency транзакции при настройках в конфе по умолчанию :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:28 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockТак, одну неразрешимую проблему вроде решили :), осталось научиться делать НЕ_ReadConsistency транзакции при настройках в конфе по умолчанию :) нет уж подожди. Я твой тест повторил и да тоже не заметил что промежуточная сборка мусора работает. Хотя судя по описанию она должна была сработать. Поэтому хочется прояснить ситуацию у Влада. Видимо я что-то не понимаю Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
пока приложение работало запускал получение статистики по таблицы и длина цепочки версий всё время увеличивалась ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:34 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денисдлина цепочки версий всё время увеличивалась Уверен? Приведённый код не создаёт цепочку версий. Он создаёт кучу записей с ровно двумя версиями у каждой, которые никто не собирает в результате отсутствия чтения. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Ишь, какие круги по воде-то пошли... Я-то думал - все давно всё знают и просто похихикают над старцем, понимающем по отдельности слова read_commited, concurrency и consistency в смысле уровней изоляции и растерянно уставившимся, как баран на новые ворота, на их сочетание, пытаясь представить себе плод греховной связи ужа с ежом. Тынц почитал, не могу сказать что всё здорово понял. Как оказалось, я, к стыду своему, умудрился ещё и забыть английский, то есть, хоть большинство слов и знакомые, утрачена чуйка концепта построения фраз и смысл улавливается с трудом. Посему от комментариев насчёт что такое хорошо и что такое плохо пока воздержусь. Вообще-то наша любимая RC RO, которую бабушка Аня научила стартовать в состоянии commited, от рождения попахивала хаком. А с хаками надо держать ухо востро и ожидать неожиданных сюрпризов, так что какие-то телодвижения к более стройной концепции были в общем-то ожидаемы. Но по прочтении случившейся беседы у меня возникло устойчивое убеждение, что название Firebird 4 тут не годится, надо придумывать какое-то совсем другое птичье имя. Во избежание иллюзий. Потому что вот с этим ъъъъъ Это же полный п....ц, применительно, например к старым приложениям на дельфи с ibx/fib+, разве нет? YuRock В общем, ... , переход на 4-ку невозможен (только для совершенно новых проектов, коих в моей жизни вряд ли предвидится). полностью согласен. Тут надо сначала перевести своё собственное сознание на другие рельсы, разбить вдребезги стереотип, складывавшийся десятилетиями, разработать собственную архитектурную концепцию, довести её до стереотипа и потом перетрахивать всё что нажито непосильным трудом. То есть, фактически сделать его заново с нуля. Ткнулся вот сейчас на рабочем столе в иконку (можете начинать смеяться) FARа, наступил на каталог с текстами пятилетней несвежести (с моего ухода на пенсию) пятка основных приложений, трёхзвенки отдельно проживают. 3700 файлов и 100 мегабайт. От этих приложений у Дельфового линкера крышу срывает, собираются только из командной строки и обязательно предварительно перекрестясь. И вот это всё перетрахать? Концептуально-архитектурно? Ну-ну. Мимопроходящий Fr0sT-Brutal пропущено... У вас можно сколько угодно, а компоненты не умеют сохранять датасеты при закрытой транзакции. один мягко говоря, организм, захреначил такое поведение в изначальный FIB, а все последующие компонентостроители посчитали что раз сам отЭц (Deatz) сделал именно так, то это есть божественный канон, и менять оное - идти супротив божественного. зы: у нас это настраивается. Брателло, не плюй в колодец Гришаня когда это родил-то? Когда скорости в LAN меряли в Кбайт/сек, в модемах в Кбит/сек, а объёмы ОЗУ в сотнях Кбайт. И отошёл в сторонку. На эту концепцию датасета чуть только не молились после Borland Pascal и всяких Record Manager-ов, когда каждую строку приходилось собирать десятком реквестов к разным таблицам. А последователям надо было бабло зарабатывать, и сегодня, а не в светлом будущем. С развитием железа потребовалось и развитие концепций, выразившееся, не полностью уверен, что к добру, в TClientDataset. Мой первый опыт с ним, где-то на границе емелиумов, на действительно дальней связи - комплект справок о состоянии запасов-заказов-резервов-ценах - в каком-нибудь Челябинске-Иркутске из Питера грузился 40 минут. И это я ещё не центровые запросы туда вставил, а засасывал справочники и собственно данные по отдельности и джойнил на клиенте, локейтами. На данные уходило минуты полторы, остальное - строковые литералы. Пришлось их таки перевести на репликацию. Да и сейчас - в запросах для клиента директора фабрики козлов жёстко зашиты ограничения по дате, на полгода вроде, чтоб старые данные не тащить десятками минут и у ноута его из щелей байты не посыпались :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:41 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, стоп. DELETE делает чтение, там же WHERE нет. Он должен был всё прочитать ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:43 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис, Это не мой тест, а ъъъъъ. А по поводу Consistency - блин, ну ничего ж сложного нет добавить константу no_read_consistency, по аналогии с recversion/norecversion. У меня тысячи установок FB. Менять/контролировать конфы везде - это практически нереально. Гораздо проще в одном месте в своей программе, где я транзакции создаю по типам, которые мне нужны, необходимые мне константы жёстко прописать и не зависеть от конфигов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:44 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Дениспо идее delete и должен был собрать как это? при delete остается 1 старая версия и 1 delete stub. Кто их будет убирать? При update все гораздо проще, он читает и убирает. А delete конкретной записи - это финальная операция. Второй раз delete не сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:45 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов ДенисDELETE делает чтение, там же WHERE нет. Теоретически да. Возможно, обрамляющая транзакция Read Committed портит всю малину. Поменяй на Snapshot. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv Симонов Дениспо идее delete и должен был собрать как это? при delete остается 1 старая версия и 1 delete stub. Кто их будет убирать? При update все гораздо проще, он читает и убирает. А delete конкретной записи - это финальная операция. Второй раз delete не сделать. а ты повнимательней посмотри. Там DELETE перевыполняется 100500 раз. Да первый удалит предыдущую версию, но когда следующий запустится он уже прочитает delete stub от предыдущего в этот момент по идее должна сработать сборка мусора ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:48 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис не заметил что промежуточная сборка мусора работает В твоём примере delete не собирает мусор, т.к. tra1 удерживает OST и блокирует традиционную сборку мусора, а промежуточная тут не применима. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:48 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad, хах. Спасибо, вот теперь понял в чём дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:51 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка, не надо паники :) Всё может работать как и раньше. Read Consistency установлен в 1 по умолчанию для того, чтобы новые юзеры сразу работали правильно. Предполагается, что старые юзеры в состоянии проверить свои приложения и изменить пар-р в конфиге. Мы многого от них ждём ? PS исходный патч Николая не имел этой возможности и мне пришлось с ним долго спорить, дабы это добавить. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:54 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Предполагается, что старые юзеры в состоянии проверить свои приложения и изменить пар-р в конфиге. Мы многого от них ждём ? А вот конфиги править везде - да, многого ждете ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:56 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock А по поводу Consistency - блин, ну ничего ж сложного нет добавить константу no_read_consistency YuRock У меня тысячи установок FB. Менять/контролировать конфы везде - это практически нереально. Гораздо проще в одном месте в своей программе, где я транзакции создаю по типам, которые мне нужны, необходимые мне константы жёстко прописать и не зависеть от конфигов. Или можно при запуске программы стартовать RC RV тр-цию и проверить её реальный тип. Не совпало - ругайся и проси изменить конфиг. Вариантов много. Сидеть на старье и ворчать на всё новое - тоже вариант, но других не надо заставлять. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:57 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock При чем тут проверить приложения. притом, чтобы панику не поднимать в отсутствие объективных причин ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 15:58 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, лично моё мнение. Конфигурировать Firebird надо всегда. Параметры по умолчанию практически никогда не подходят. Только не говори, что ты размер страничного кеша дефолтным оставляешь. Это только для совсем мизерных баз так можно. Но для них весь плач про сборку мусора не актуален ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:00 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денисно когда следующий запустится он уже прочитает delete stub от предыдущего это если кто-то вздумает повторно удалять одни и те же записи. Да, индекс видит все версии, по индексу прочитается, и всё будет ок. А вот если сегодня мы удаляем только за сегодня, а завтра - только за завтра? Никаких повторных удалений или попаданий в ключи не будет. И весь этот мусор так и будет валяться, до тех пор пока sweep не запустится (автоматом или вручную). Опять же, чтобы быть на 100% уверенным, надо сделать тест :-) Но правильный тест :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:07 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Старый плюшевый мишка, не надо паники :) Всё может работать как и раньше. Read Consistency установлен в 1 по умолчанию для того, чтобы новые юзеры сразу работали правильно. Предполагается, что старые юзеры в состоянии проверить свои приложения и изменить пар-р в конфиге. Мы многого от них ждём ? PS исходный патч Николая не имел этой возможности и мне пришлось с ним долго спорить, дабы это добавить. Ты маладэц, слюшай! Я эту портянку начал набирать до постов про конфиг, ближе к концу электрик ток украл (у нас в подъезде счётчики меняют), пришлось с квадратным матом колотить второй раз, естественно, новое не читая. Единственно что смущает - такие опции в конфиге рано или поздно становятся deprecated. Меня, впрочем, это колыхать уже не должно, честно говоря, даже уже не колышет, я как Верещагин, за державу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:08 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad с isc_dpb_config ты можешь задать и ReadConsistency = 0 Ну тогда ок. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:10 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv, да я то разобрался в чём дело. Просто цепочка версий всегда равна 2 в данном случае промежуточную сборку мусора не возможно сделать. Собственно говоря сама идея грохать записи и тут же их добавлять реального смысла не имеет. Для таких случаев есть GTT ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис YuRock, лично моё мнение. Конфигурировать Firebird надо всегда. Параметры по умолчанию практически никогда не подходят. Только не говори, что ты размер страничного кеша дефолтным оставляешь. Это только для совсем мизерных баз так можно. Но для них весь плач про сборку мусора не актуален 99% моих баз - мизерные. Их таких несколько тысяч, все кроме центральных, которых только десятки. И да, для мизерных конфиги - дефолтные. Но вопрос сборки мусора для них - очень актуален. Любая база, даже мизерная, стать колом вполне способна, и обязательно всегда делает это, если оставлять длинную пишущую транзакцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:14 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockЛюбая база, даже мизерная, стать колом вполне способна, и обязательно всегда делает это, если оставлять длинную пишущую транзакцию. Тут необходимо-таки уточнить, что способна она встать колом только с очень и очень кривым дизайном БД и ещё более кривым приложением. Во избежание неверных толкований случайно сюда залетевшими из гугля. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:18 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockЛюбая база, даже мизерная, стать колом вполне способна, и обязательно всегда делает это, если оставлять длинную пишущую транзакцию. Тут необходимо-таки уточнить, что способна она встать колом только с очень и очень кривым дизайном БД и ещё более кривым приложением. Во избежание неверных толкований случайно сюда залетевшими из гугля.Вполне достаточно просто висящей пишущей транзакции. Ну, кроме довольно редких случаев, когда не бывает DELETE/UPDATE и/или ROLLBACK. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockВполне достаточно просто висящей пишущей транзакции. Нет, не достаточно. Постулат дизайна номер 1: База данных предназначена для длительного хранения редко меняющихся данных. Для краткосрочного хранения быстро меняющихся данных применяются совсем другие средства. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:34 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockВполне достаточно просто висящей пишущей транзакции. Нет, не достаточно. Постулат дизайна номер 1: База данных предназначена для длительного хранения редко меняющихся данных. Для краткосрочного хранения быстро меняющихся данных применяются совсем другие средства. У тебя в родословной случаем греческой ветки нет? Был там у них один мужик, вроде Прокрустом звали ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockВполне достаточно просто висящей пишущей транзакции. Нет, не достаточно. Постулат дизайна номер 1: База данных предназначена для длительного хранения редко меняющихся данных. Для краткосрочного хранения быстро меняющихся данных применяются совсем другие средства.Quia tuum est regnum, et potestas, et gloria in saecula. Amen. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 16:48 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаУ тебя в родословной случаем греческой ветки нет? У меня в родословной есть люди, научившие меня не забивать шурупы молотком. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 17:02 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Т.обр., выяснили, что: 1. При работе с новым фаербердом, при чтении нужно полность отфетчивать курсор на клиента, и дисконнектиться. Запись, понятно, делается аналогично. ...нет ли в планах развития FB реализации связи по http протоколу? :) 2. Фаерберд предназначен "для длительного хранения редко меняющихся данных". ОК. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 17:09 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Осталось только добавить к списку 3) Вода мокрая 4) Жизнь дерьмо и можно номинироваться на премию "кэп года". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 17:30 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Осталось только добавить к списку 3) Вода мокрая 4) Жизнь дерьмо и можно номинироваться на премию "кэп года". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 17:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, фетчить весь курсор на клиента по хорошему и раньше надо было Про дисконнект бред. Никто не заставляет это делать. Это лично моё решение, потому что меня задолбали пользователи оставляющие приложения не закрытыми ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 17:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов ДенисЭто лично моё решение, потому что меня задолбали пользователи оставляющие приложения не закрытыми Если не считать пары багов в очень старых версиях, единственная проблема с длинными коннектами это неосвобождённые препарированные запросы. Что попадает под определение "криво написанного приложения". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 17:51 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov единственная проблема с длинными коннектами это неосвобождённые препарированные запросы. Что попадает под определение "криво написанного приложения". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 17:54 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, криво это потреблять ресурсы сервера, если они тебе не нужны. Это не только Firebird касается. Одно дело когда ресурс тебе не нужен в данный момент, но может скоро потребоваться, совсем другое если если он не нужен часами. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:04 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денисзадолбали пользователи оставляющие приложения не закрытыми YuRockнеделями/месяцами использовать их Отсутствие мозга это всегда криво. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:05 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Старый плюшевый мишкаУ тебя в родословной случаем греческой ветки нет? У меня в родословной есть люди, научившие меня не забивать шурупы молотком. Осталось определиться с понятием "краткосрочное". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:27 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Весь мир - бардак, все бабы - мнэээ... нехорошие женщины, а солнце - мнэээ... мнэээ... использованный не по назначению в извращённой форме фонарь. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:30 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Препарированные запросы - зло. Даёшь ответы, без запросов ! Любые ! 42 - лучший ответ !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:34 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad 42 - лучший ответ !!! и плевать им на Адамса. (да и на всех плевать) [кроме себя любимого] ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:38 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Мимопроходящий hvlad 42 - лучший ответ !!! и плевать им на Адамса. (да и на всех плевать) [кроме себя любимого] Знаешь, нынче практически исчезли в клиниках Наполеоны. Нонешние люди просто не знают такого слова. Они зато теперь знают слово "чипирование". Раствором из флакончика с вакциной, ога. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:42 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
to all: есть некоторые потерянные технологии, в смысле, которые применялись лет 30 назад, а теперь на них все забили болт. Например, приходит пачка данных. Её помещают в отдельную таблицу. Там обрабатывают, после чего переносят данные в основные таблицы, а всё в "отдельной" грохают. Для версионника тут, конечно, помогло бы TRUNCATE, но в ФБ его пока нет (увы). Но можно GTT, да. Вместо этого все давно привыкли лить данные прямо в основные таблицы. Впрочем, это скорее вопрос "качества данных", который раньше решался и другими (тоже забытыми) способами. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:44 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdvНапример, приходит пачка данных. Её помещают в отдельную таблицу. Там обрабатывают, после чего переносят данные в основные таблицы, а всё в "отдельной" грохают. ....и тут мне вспомнился один топикстартер из рустамовского загончика, который заливал данные в БД чтобы получить их отсортированными... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:51 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка Знаешь, нынче практически исчезли в клиниках Наполеоны. Нонешние люди просто не знают такого слова. Они зато теперь знают слово "чипирование". Раствором из флакончика с вакциной, ога. в США - в 2.7 раза ( https://ria.ru/20210128/koronavirus-1594888237.html ) в Британии - в 5 раз ( https://ria.ru/20211207/shizofreniya-1762632966.html ) разброс результатов скорее всего из-за технологических различий при производстве чипов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 18:57 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad ъъъъъ Препарированные запросы - зло. Даёшь ответы, без запросов ! Любые ! Но не стал. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 19:17 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
имхо, такие топики таким, как мне, читать вредно. Устоявшийся мир рушится. Ну вас в баню :) upd: потому следующим "логическим" предложением будет хранить все отфетченные на клиента данные в памяти ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 19:18 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv Для версионника тут, конечно, помогло бы TRUNCATE, но в ФБ его пока нет (увы). Но можно GTT, да. И всё заливалось (и заливается) в обычные таблицы ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 19:23 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock kdv Для версионника тут, конечно, помогло бы TRUNCATE, но в ФБ его пока нет (увы). Но можно GTT, да. И всё заливалось (и заливается) в обычные таблицы Не надо после обработки грохать "сырые" данные, и проблем этих не будет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 19:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Мимопроходящий Старый плюшевый мишка Знаешь, нынче практически исчезли в клиниках Наполеоны. Нонешние люди просто не знают такого слова. Они зато теперь знают слово "чипирование". Раствором из флакончика с вакциной, ога. в США - в 2.7 раза ( https://ria.ru/20210128/koronavirus-1594888237.html ) в Британии - в 5 раз ( https://ria.ru/20211207/shizofreniya-1762632966.html ) разброс результатов скорее всего из-за технологических различий при производстве чипов. Охх... Шизофрения - это вообще генетическое, которое может никогда не проявиться если не будет острого стресса. И тогда там в принципе вся гормональная система в разнос идёт, в зависимости от остроты реакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:06 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
m7m YuRock пропущено... Не стоит забывать, что многое сделано в те времена, когда в ФБ еще не было GTT. И всё заливалось (и заливается) в обычные таблицы Не надо после обработки грохать "сырые" данные, и проблем этих не будет Есть пару таблиц, которые каждый день чистятся (добавление в них идет не пакетом и данные нужны в течение дня). Ну и нормально всё работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:06 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
m7m Не надо после обработки грохать "сырые" данные, и проблем этих не будет А их солить или мариновать прикажете? Грохнуть данные в псевдовременной таблице - говно вопрос, селект каунт после коммита и всем весело, все смеются. Не, когда там миллиарды записей, оно конечно. Но такую псевдовременную ещё надо умудриться изобрести. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:10 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка m7m Не надо после обработки грохать "сырые" данные, и проблем этих не будет А их солить или мариновать прикажете? Грохнуть данные в псевдовременной таблице - говно вопрос, селект каунт после коммита и всем весело, все смеются. Не, когда там миллиарды записей, оно конечно. Но такую псевдовременную ещё надо умудриться изобрести. Не грохать "сырые" данные (это не призыв к такому порядку, это просто мое мнение) зы. Хоть солить, хоть мариновать, главное чтобы не протухли. Ибо разборки почему оно два месяца назад стало так, к сожалению не редкость. Хранение в базе "первички" облегчает жизнь на порядок ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 20:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
m7m Хранение в базе "первички" облегчает жизнь на порядок Это да, тут я тремя руками за. Скажем, когда через год после поступления к оптовику некоей единицы товара приходит рекламация от наконец-то купившего её в филиале, полгода назад притащивщего её к себе с комплектационного склада, конечного потребителя, надо определиться, не только с характером дефекта, а и кому платить потребителю бабки. И для этого нужно точно сказать когда и по какому документу конкретно эта транспортировочно-упаковочная единица была отгружена потребителю получена филиалом от какого перевозчика поступила на комплектационный склад в какой транспортной партии каким перевозчиком и по какой ГТД на него поступила когда эта ТП была отгружена поставщиком номер производственного заказа, в рамках которого была изготовлена Но это другая тема. Это не временные таблицы. Ты спроси у МП как он в наши таблицы запихивает документы от кетайцев, через раз приходящие в разных XML-форматах и разными хероглифами об одном и том же. Лично я даже не пытался об этом узнать, патамушта это будет тот самый стресс, который отправит меня в дурку. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 21:05 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad YuRock А по поводу Consistency - блин, ну ничего ж сложного нет добавить константу no_read_consistency ... +10 6 ! Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 21:31 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Fr0sT-Brutal Симонов Денис ъъъъъ, ну ё моё. Я же говорил. Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать. Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи. Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы... У вас можно сколько угодно, а компоненты не умеют сохранять датасеты при закрытой транзакции. Однако, стоит заметить, что компоненты компонентам рознь. Вот донесли бы своевременно до Арефьева, про то, как оно должно быть по привычному местечковому фэншую, - глядишь, сейчас и в современном BDE FireDAC'е оно бы так же и закрывалось.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 21:55 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ hvlad пропущено... Это маразм. ... +10 6 ! Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency. Но если она не указана - то тогда зависит от конфига, как будет работать. Вот я и предложил обратную константу добавить, чтоб тоже можно было независимо от конфига точно знать, работает consistency или нет. Но, оказалось, что при коннекте можно конфиг указывать. В принципе, хватит, хоть и компоненты подпиливать придется. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 22:01 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ hvlad пропущено... Это маразм. ... +10 6 ! Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency. Ну не знаю, не знаю. Именно потому, что рано или поздно "старый" подход будет deprecated и лучше решать этот вопрос глобально-одноразово, на уровне конфига, а зачистку кода от старья выполнять неспешно по мере возможности. Как бы нам, динозаврам из разных геологических эпох, это ни претило. Ну кому захочется веками поддерживать весь в if-ах и ifdef-ах код, если млекопитающиеся уже все на "новом". Вымирай потихоньку :) Я в своё время сделал свой выбор - остался на полуторке и не стал мешать прогрессу. Ребята, дождавшись, наконец, моей "кончины" героически прыгнули на тройку. Меня несколько удивило, что генерал платил им за это, вместо штопания дырявых носков, зарплату, но - смогли убедить, и флаг им в руки. Ну да, были звонки - давай возвращайся с пенсии, твои тут полную жопу устроили - но обошлось. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 22:08 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка ъъъъъ пропущено... +10 6 ! Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency. Ну не знаю, не знаю. Именно потому, что рано или поздно "старый" подход будет deprecated и лучше решать этот вопрос глобально-одноразово, на уровне конфига, а зачистку кода от старья выполнять неспешно по мере возможности. Как бы нам, динозаврам из разных геологических эпох, это ни претило. Ну кому захочется веками поддерживать весь в if-ах и ifdef-ах код, если млекопитающиеся уже все на "новом". Вымирай потихоньку :) Я в своё время сделал свой выбор - остался на полуторке и не стал мешать прогрессу. Ребята, дождавшись, наконец, моей "кончины" героически прыгнули на тройку. Меня несколько удивило, что генерал платил им за это, вместо штопания дырявых носков, зарплату, но - смогли убедить, и флаг им в руки. Ну да, были звонки - давай возвращайся с пенсии, твои тут полную жопу устроили - но обошлось. С 1.5 на 2.1 перешел вообще без изменений. С 1.0 на 1.5 - и то сложнее было. Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 22:16 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому". Я пытался перейти с 1.5 на 2... по-моему 5, факультативно, на одном из разработочных серверов. Рестора ждал полтора суток, первый же типовой запрос ушёл в себя навсегда. Но у меня было много "естественных" ключей сегмента по 3 в m:n, наследие режима. Трудное детство, и в смысле самообразования и в смысле экономии дискового пространства. Я решил что нам при такой сложности уже существующей части системы этого не осилить параллельно с непрекращающимися вызовами со стороны и развития областей деятельности фирмы и усилий государствия по осложнению жизни. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 22:25 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка YuRock Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому". Я пытался перейти с 1.5 на 2... по-моему 5, факультативно, на одном из разработочных серверов. Рестора ждал полтора суток, первый же типовой запрос ушёл в себя навсегда. Но у меня было много "естественных" ключей сегмента по 3 в m:n, наследие режима. Трудное детство, и в смысле самообразования и в смысле экономии дискового пространства. Я решил что нам при такой сложности уже существующей части системы этого не осилить параллельно с непрекращающимися вызовами со стороны и развития областей деятельности фирмы и усилий государствия по осложнению жизни. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2021, 22:56 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Мне повезло, во времена перехода с 1.5 на 2.1 у меня еще не было особо больших баз. Да у меня тоже тогда не монстр был, гигов 10-20. По структуре - картинка 5 летней давности, а при той попытке процентов на 30 проще было. Так получилось, что у меня первый личный проект на SQL, начатый в 95-м году, оказался и последним :) Начал-то с моделирования САУ, в 77-м - Алгол, Алмир, Аналитик. Потом пришла эра PDP/11 и я погрузился в мир между байтами и проводами - драйвера там всякой экзотики АСУТП, станки ЧПУ, сети на УПО, потом докатился до собственной оси для роботов и саморасширяемого транслятора для неё типа Fort-a. Но тут одновременно настали эпоха IBM и революционные в СССР времена и всё это пошло лесом. Сначала тоже упёрся в системное программирование, но, после пары весьма удачных финансово хакерских поделок, по деньгам в этой области стало кисловато, примкнул к группе творцов АСУП, которое стоит на СУБД. Сначала инструментальщиком для Btrieve, интерфейс ещё для BP там разработал, которому пользовавшийся тогда всеми поголовно Turbo Vision в подмётки не годился, потом подучился у лидеров, реально грамотные в системотехнике ребята были, и проекты заворачивали масштабные, и по бюджету и по коммерции. После разлада, разумеется, из-за бабы, взялся вот за это Свезло. Полгода позволили только модель строить и базу проектировать. Ну, напорол, конечно, немало с Btriеve замашками-то. Но выжило. Благодаря ребятам, и пахали как черти и на амбразуры бросались и плечи подставляли, один бы не вытянул, даже нервные срывы случались. Ну и рос над собой, конечно. Так что к моменту этой попытки у нас были уже полностью рабочие управление закупками с аналитикой по концепции управляемого накопителя и АВС, транспортировкой-таможней, складом, ценообразованием, резервами филиалов и взаимодействием с оными. В общем, непростая уже была структурка, утяжелённая моими ошибками проектирования. Часть которых по невежеству произошла, часть из-за ограничений по железу. Количественно-то не сказать чтобы ах какая, но по связям... Вот и всё, а кому рассказать, как в психушке примерить рубашку, два стакана и дверь нараспашку... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 00:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Как знакомо, :). Старый плюшевый мишка Roles (2) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 00:43 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Как знакомо, :). Старый плюшевый мишка Roles (2) Отож Мне SQL-стандарт по правам вообще кажется каким-то недоношенным. Теоретеги кабинетные, высасывающие идеи из пальца, нехорошая женщина. Когда я пытался этим добром пользоваться на IB4... Тогда я ж первым делом налепил дефолтов Д/Н на признаковые поля. А при первой же попытке b/r оказалось, что оно их ресторить не умеет, не понимал рестор ничего кроме истинно человеческих англосаксонских буков в дефолтах. Чем перепахивать всё уже нажитое непосильным трудом, сделали свой датапамп в новую базу вместо b/r. Так на раздачу прав после него, скриптом, разумеется, времени уходило едва ли не больше чем на собственно памп. А гемору... Новая таблица - и пошло-поехало, ползи по всем юзерам и раздавай. Уже не помню, не было тогда ролей, были ли с ними какие-то проблемы или у нас до них умишко не дошёл. Последнее маловероятно, так как Нетварь я уже админил не один год. Так вот там, в смысле в Нетвари, были группы прав доступа, юзверь мог входить в любое количество групп и при входе права по всем его группам суммировались. Вот это я и считаю оптимальным вариантом. Создаёшь группы с правами на то-сё, знаешь, что при выполнении некоторых функций группы А триггера заденут данные группы Бе, о которых пользователь группы А ни сном ни духом и в приложении никоим образом добраться до них не может - ну так и включи его в группу Бе тоже. Нет, тут либо всё, либо ничего, входишь с одной группой. В итоге в сильно связанной системе остаётся одна роль, патамушта с каждым пользователем вообще затрахаешься, да и дополнительный уровень защиты от студента всё-таки, а права разруливаются интерфейсом. Откуда там вторая - уже не помню, а Эксперта запускать лень. Скорей всего для репликатора в ораклячью подсистему, ему мало чего надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 01:46 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Как знакомо, :). Старый плюшевый мишка Roles (2) У меня по имени роль проверяется во многих местах ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 05:06 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Я с 2.1 на 3 перешел вообще без проблем. Изменил 5-7 update, которые стали по-новому (по стандарту) работать, и всё. С 1.5 на 2.1 перешел вообще без изменений. С 1.0 на 1.5 - и то сложнее было. Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому". А у меня всё с точностью до наоборот. Самым трудным был переход 1.5 -> 2.5. Основная причина куча UDF функций, которые надо было заменить на встроенные. Ну и пару кривых триггеров. 2.5 -> 3.0 вообще без проблем, 3.0 -> 4.0 тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 09:35 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
С включенным Read Consistency - в каких случаях теперь вообще имеет смысл использовать Read Commited RO транзакции? Когда они предпочтительнее, чем RR? Если считать, что "длиныых" RC RO транзакций следует избегать так же, как и RW ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 09:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ С включенным Read Consistency - в каких случаях теперь вообще имеет смысл использовать Read Commited RO транзакции? RO тр-ция не форсирует запись header page, что положительно влияет на скорость её старта. Например поток мелких RO тр-ций выполнится заметно быстрее, чем поток тех же действий в RW тр-циях. Особенно при FW=ON. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 10:57 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad, RC RO предпочтительнее, чем RR RO? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:16 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, RC\SNAPSHOT нужно выбирать исходя из логики приложения. Это единственный критерий. PS Нет никакого RR, не путай себя и людей ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:28 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad, так я и спрашиваю - в чем теперь "бизнес-смысл" именно RC транзакций? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:33 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Например, "долгая" генерация отчета. Раньше делал в контексте снапшот-транзакции. Теперь, (если требуется единственный запрос), вроде как достаточно RC RO. Чему отдать предпочтение? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:39 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, Read Committed Read Consitency - согласованность на уровне запроса/курсора Snapshot - На уровне транзакции (несколько запросов между собой дают согласованный результат) RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис ъъъъъ, Read Committed Read Consitency - согласованность на уровне запроса/курсора Snapshot - На уровне транзакции (несколько запросов между собой дают согласованный результат) RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции И что? Мы ж теперь длинные RC RO транзакции не держим, вчера договорились, или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 11:52 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции Т.е., если в RC последовательно выполняется, кажем, три запроса - это то же самое, что три раза стартует и завершается Snapshot? Точно сие "дешевле"? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 12:01 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Например, "долгая" генерация отчета. Раньше делал в контексте снапшот-транзакции. Теперь, (если требуется единственный запрос), вроде как достаточно RC RO. Чему отдать предпочтение? Но - никогда не говори никогда - завтра в этой тр-ции появится ещё один запрос и возникнут вопросы. Так что мой ответ 22406708 - не изменился :) И, кстати, Денис рядом не зря упомянул обработку конфликтов (обновления) - в RC-RC их можно обработать без рестарта тр-ции и чаще всего движок это сделает сам. А вот в SNAPSHOT придётся делать роллбек, старт новой тр-ции и выполнять запрос заново. Это не про отчёты (обычно), но тоже следует иметь в виду. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 12:05 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Т.е., если в RC последовательно выполняется, кажем, три запроса - это то же самое, что три раза стартует и завершается Snapshot? Точно сие "дешевле"? Следует понимать разницу между созданием снимка и тр-ции. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 12:06 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, ты релиз ноты не читал совсем?? SNAPSHOT в новой схеме (COMMIT ORDER) тоже дешевле чем раньше. В общем-то если бы создание снимка не сделали бы намного дешевле, то и в RC для каждого запроса не стали бы делать снимок. И да речь о запросах верхнего уровня. То есть если есть сложная ХП (без EXECUTE STATMENT) то для неё в RC делается ровно один снимок. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 12:11 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad ъъъъъ Т.е., если в RC последовательно выполняется, кажем, три запроса - это то же самое, что три раза стартует и завершается Snapshot? Точно сие "дешевле"? Следует понимать разницу между созданием снимка и тр-ции. Т.обр. у создания снимка и транзакции есть свой "вес". То есть, с какого-то момента RC становится не "дороже"? Скажем, 1000 запросов (и создание снимков) в контексте RC транзакции всё ещё дешевле, чем 1000 запросов в контексте снапшота? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 12:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Т.обр. у создания снимка и транзакции есть свой "вес". ъъъъъ То есть, с какого-то момента RC становится не "дороже"? ъъъъъ Скажем, 1000 запросов (и создание снимков) в контексте RC транзакции всё ещё дешевле, чем 1000 запросов в контексте снапшота? Пусть "стоимость" тр-ции = N, а "стоимость" снимка = M, причём M < N Тогда для K запросов в контексте SNAPSHOT тр-ции получим накладные расходы N + M, а в контексте RCRC - N + M*K. Сравнить оба значения сам сможешь ? Измерять M и N не проси:) Для полноты нужно учитывать стоимость выполнения самих запросов, влияние длинного снимка (в SNAPSHOT тр-ции) на всю систему, конкуренцию за header page и стоимость записи header page. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 14:43 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Не "дешевле", наверное ? Да. hvlad ... Пусть "стоимость" тр-ции = N, а "стоимость" снимка = M, причём M < N Тогда для K запросов в контексте SNAPSHOT тр-ции получим накладные расходы N + M, а в контексте RCRC - N + M*K. Сравнить оба значения сам сможешь ? Измерять M и N не проси:) Для полноты нужно учитывать стоимость выполнения самих запросов, влияние длинного снимка (в SNAPSHOT тр-ции) на всю систему, конкуренцию за header page и стоимость записи header page. Т.е., стоимость RC-транзакции дороже уже при двух запросах. Вот вам, бабушка, и 23 апреля. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 14:51 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъТ.е., стоимость RC-транзакции дороже уже при двух запросах. странный вывод. Ты вообще не тем занимаешься. Не нужно тут над стоимостью думать ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 15:42 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис ъъъъъТ.е., стоимость RC-транзакции дороже уже при двух запросах. странный вывод. Ты вообще не тем занимаешься. Не нужно тут над стоимостью думать Ну, да. 22406717 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 15:49 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, ты цепляешься за один фактор не учитывая другие. Не надо тут мерить влияние на создание снимка на запрос. Они наверняка мизерные по сравнению с остальным накладными расходами. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 16:05 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Т.е., стоимость RC-транзакции дороже уже при двух запросах ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 16:25 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad ъъъъъ Т.е., стоимость RC-транзакции дороже уже при двух запросах Филолог, ага: hvlad Пусть "стоимость" тр-ции = N, а "стоимость" снимка = M, причём M < N Тогда для K запросов в контексте SNAPSHOT тр-ции получим накладные расходы N + M, а в контексте RCRC - N + M*K. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 16:30 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, и ? Расжевать надо или сам ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 17:11 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Вот читаю и тоже офигеваю. Больно уж на шаманство смахивает. Мужики, админы. А можно где-нибудь прибить в шапке отдельный тред, внутри которого будут ссылки на важные темы, обсуждаемые в этой ветке форума? Потом ведь точно это обсуждение не найдешь :-/ ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 17:15 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
По обсуждению трудно ориентироваться (да и неправильно). Важные вещи должны быть изложены в доке (RN и пр. - и уже там описаны, наверное), на которые и надо прикреплять ссылки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 17:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
P.S. Не мешало бы статью про транзакции на ibase.ru обновить, если у народа есть существенные изменения/недопонимания. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 17:22 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам P.S. Не мешало бы статью про транзакции на ibase.ru обновить, если у народа есть существенные изменения/недопонимания. Какое "понимание". "Четверка" как будто не для работы, а ради любви к искусству создана, чтобы, например, коллега Yo! больше не прикалывался, мол, "у вас нет cursor stabily в RC транзакции, бе-бе-бе". Существующие клиентские библиотеки: fib+, например, содержит кэш препарированных запросов, теперь это ахтунг, оказывается. И редактируемы датасеты возможны только в режиме "кэшированных изменений", иначе снова ахтунг. Да, нововведения можно отключить в конфиге, но так хотелось бы всё же и понять, а от понимания начинаешь офигевать, или действительно не с моим филологическим образованием... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 17:46 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам RN и пр. - и уже там описаны, наверное значит, ты их тоже не читаешь Гаджимурадов Рустам P.S. Не мешало бы статью про транзакции на ibase.ru обновить вот и я о том же. Ибо мир (интербейз) должен быть прост и доступен в понимании. "А не вот это вот все" © ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 17:51 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Гаджимурадов Рустам P.S. Не мешало бы статью про транзакции на ibase.ru обновить, если у народа есть существенные изменения/недопонимания. Какое "понимание". "Четверка" как будто не для работы, а ради любви к искусству создана, чтобы, например, коллега Yo! больше не прикалывался, мол, "у вас нет cursor stabily в RC транзакции, бе-бе-бе". Существующие клиентские библиотеки: fib+, например, содержит кэш препарированных запросов, теперь это ахтунг, оказывается. И редактируемы датасеты возможны только в режиме "кэшированных изменений", иначе снова ахтунг. Да, нововведения можно отключить в конфиге, но так хотелось бы всё же и понять, а от понимания начинаешь офигевать, или действительно не с моим филологическим образованием... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 17:52 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъfib+, например, содержит кэш препарированных запросов, теперь это ахтунг, оказывается Почему "теперь"? С ним ничего не поменялось кроме внезапного прозрения некоторых дельфинов, до которых наконец-то дошло почему их приложения работают так плохо, а "база пухнет". ъъъъъИ редактируемы датасеты возможны только в режиме "кэшированных изменений", иначе снова ахтунг. И это уже лет 20 как известно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 18:02 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, далеко не все пишут на Delphi ъъъъъсодержит кэш препарированных запросов, теперь это ахтунг, оказывается вот только не надо нести бред в массы. Этого никто не заявлял. Сказали о другом, если что-то долго не требуется это лучше прикрыть, чтобы ресурсы освободить. Всякие кеши обычно требуется для ускорения повторного доступа, если доступа нет или если он требуется раз в час, то нет смысла ускорять на 10 миллисекунд, то это просто бесполезно висячие в памяти ресурсы. И 4.0 тут не причём, это и раньше рекомендовалось. ъъъъъИ редактируемы датасеты возможны только в режиме "кэшированных изменений", иначе снова ахтунг. опять вранье. Не надо слова передёргивать ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 18:03 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Джентльмены, накладные расходы на управление памятью - это действительно последнее о чём следует думать почти во всех контекстах, а уж в этом-то точно. В драйверах ЦАП бывает, да. В плане пресловутых датасетов хотелось бы уточнить несколько вопросов. Как определяется "дофетченность" запроса. Правильно ли я понимаю, что а) к Close на клиенте это не имеет никакого отношения б) Если во время фетча другие запросы навтыкали в данные, подпадающие под конструкцию нашего читающего в RC RC, записей и наапдейтили их, то б1) Если это было в других транзакциях, то новое его не касается и версий там он не удерживает б2) Если это сделано в той же транзакции, после "окончания" фетча, то запрос становится опять недофетчен и версии держит У меня как-то не очень укладывается в голове параллельность критериев видимости и востребованности версий по состоянию транзакции и состоянию фетча. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 18:28 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Док ...Ибо мир (интербейз) должен быть прост и доступен в понимании. "А не вот это вот все" © Вот и я об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 18:29 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка Джентльмены, накладные расходы на управление памятью - это действительно последнее о чём следует думать почти во всех контекстах, а уж в этом-то точно. В драйверах ЦАП бывает, да. В плане пресловутых датасетов хотелось бы уточнить несколько вопросов. Как определяется "дофетченность" запроса. Правильно ли я понимаю, что а) к Close на клиенте это не имеет никакого отношения б) Если во время фетча другие запросы навтыкали в данные, подпадающие под конструкцию нашего читающего в RC RC, записей и наапдейтили их, то б1) Если это было в других транзакциях, то новое его не касается и версий там он не удерживает б2) Если это сделано в той же транзакции, после "окончания" фетча, то запрос становится опять недофетчен и версии держит У меня как-то не очень укладывается в голове параллельность критериев видимости и востребованности версий по состоянию транзакции и состоянию фетча. "Держит версии, не держит версии"... файл базы начинает РАСПУХАТЬ, когда вторая RC RO транзакция просто запущена, безо всяких запросов и, значит, фетчей. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 18:34 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ "Держит версии, не держит версии"... файл базы начинает РАСПУХАТЬ, когда вторая RC RO транзакция просто запущена, безо всяких запросов и, значит, фетчей. Не истери :) Надо разобраться правильно ли мы друг друга понимаем, и если ребята таки малехо накосячили, то помочь найти в чём, а не добиваться отхода на заранее подготовленные позиции :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 18:54 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ "Держит версии, не держит версии"... файл базы начинает РАСПУХАТЬ, когда вторая RC RO транзакция просто запущена, безо всяких запросов и, значит, фетчей. Если при этом хочется правильной нормальной работы с другими тр-циями - никто не запрещает самому явно стартовать RC RC. Чего тебе ещё надобно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 19:44 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Какое "понимание". "Четверка" как будто не для работы, а ради любви к искусству создана, чтобы, например, коллега Yo! больше не прикалывался, мол, "у вас нет cursor stabily в RC транзакции, бе-бе-бе". кстати коллега Yo! второй день ухахатывается с топика. 15+ лет отрицаний, но выходит донес Yo! что не так с cursor stability и RC ну что, даешь третий пункт из моего списка - нормальный UNDO, постгрес zHeap делают ужо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 20:25 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
H5N1, "три дня я гналась за вами чтобы сказать..." ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 20:42 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
H5N1 ъъъъъ Какое "понимание". "Четверка" как будто не для работы, а ради любви к искусству создана, чтобы, например, коллега Yo! больше не прикалывался, мол, "у вас нет cursor stabily в RC транзакции, бе-бе-бе". кстати коллега Yo! второй день ухахатывается с топика. 15+ лет отрицаний, но выходит донес Yo! что не так с cursor stability и RC ну что, даешь третий пункт из моего списка - нормальный UNDO, постгрес zHeap делают ужо. Просветите пожалуйста необразованного, я вообще серый как штаны пожарника, а это Ё - оно что-нибудь заметное-полезное сделало или только носопырой по строчкам стандартов водит и прыгает с высунутым языком на одной ножке? Про адвоката я уж спрашивать не буду, вроде и так понятно. Знаете, здесь на самом деле тёрки за цимес-гешефт и его цену, а не за кормление троллей. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2021, 21:34 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Ну что, неужели выдохлись?)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 13:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Док> значит, ты их тоже не читаешь Давно. Поэтому всегда и делаю оговорку "не знаю/не помню, что там наворотили в 3.0+". СПМ> это Ё - оно что-нибудь заметное-полезное сделало Конечно! Оно установило стандарт/планку троллинга, срачей и набросов на вентилятор. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 14:49 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам Давно. И правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 16:42 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Поясните для тех кто в танке почему нельзя было просто добавить новый флаг в параметры транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 17:02 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_, для тех, кто в танке - есть новый пар-р тр-ции ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 17:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad для тех, кто в танке - есть новый пар-р тр-ции а народ таки хочет два. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 17:25 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Мимопроходящий а народ таки хочет два. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 17:32 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Мимопроходящий а народ таки хочет два. но стесняется. потому что ты кусючий. затиранил электорат! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 17:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Мимопроходящий а народ таки хочет два. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 17:41 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, на фиг он не сдался. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 18:04 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис YuRock, на фиг он не сдался. А мне хочется модифицировать компоненты доступа, и потом еще следить, чтобы все разработчики у себя их не забывали обновлять после каждой переустановки дельфи. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 18:10 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Мимопроходящий hvlad пропущено... Не хочет. Включи мозг, плс. но стесняется. потому что ты кусючий. затиранил электорат! А может, так и надо, может в этом и есть великая сермяжная правда... Насколько я понял, это в основном творчество Самофатова, а Коля всегда был склонен к хакерским замашкам и чрезвычайно ревнив к их критике. Не исключаю, что Владу, который, напротив, весьма самоорганизован и обстоятелен, не всё нравится в том, что надо защищать по корпоративной этике, отсюда и случается повышенная кусючесть. На истину не претендую. Теперь по сути. Как я пытаюсь себе объяснить механизм. При старте любого запроса в RC RC за кадром фактически стартуется вложенная транзакция. Вряд ли с изоляцией consistency на затронутых оным запросом таблицах, это был бы уже перебор, тут наверное терминологическая запутка. Может, уровень её изоляции вообще не имеет канонического названия и Коля тут чего-то нахачил. Завершается она когда в недрах фетч, грубо, говоря, доходит до eof. Если клиент запрос не закрывает, а чешет репу и через некоторое время говорит next, опять стартуется такая транзакция с тем же условием завершения. Если клиенту не требуется полный фетч и он чешет репу получивши достаточное для заполнения грида количество пакетов, эта дочерняя транзакция висит всё время процесса чесания. Тут на истину не только не претендую, но даже с вожделением жду чтобы меня закидали гнилыми помидорами и объяснили по простому как оно на самом деле. Потому что в плане удерживания версий такая стратегия весьма сомнительна и верняк всё по-другому. ЗЫ. А ты брехун. Не куришь ты. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 18:36 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка Мимопроходящий А ты брехун. Не куришь ты. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 18:44 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Мимопроходящий хочет. Мимопроходящий но стесняется. Мимопроходящий потому что ты кусючий. затиранил электорат! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 18:53 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка При старте любого запроса в RC RC за кадром фактически стартуется вложенная транзакция. Этот счётчик инкрементируется с каждым коммитом - это для полноты картины. Тр-ция не создаётся. Старый плюшевый мишка Вряд ли с изоляцией consistency на затронутых оным запросом таблицах Старый плюшевый мишка Завершается она когда в недрах фетч, грубо, говоря, доходит до eof. Старый плюшевый мишка Потому что в плане удерживания версий такая стратегия весьма сомнительна и верняк всё по-другому. Но это не тр-ция - это только снимок. И наличие полного каталога таких снимков позволяет собирать мусор, даже при застрявшей навсегда OST. Но это я уже тут в 2-х словах не расскажу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 19:00 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, Ага введения твоего параметра изменит текущее поведение уже после того как релиз вышел. Те кому надо обсуждали ещё на этапе разработки фб. И я в том обсуждении участвовал. Сначала тоже был против consitency по дефолту, только за новый флаг. Но после введения промежуточный сборки мусора меня переубедили. В первой версии патча для read consitency ни параметра в кофиге ни промежуточный сборки мусора не было ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 19:17 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad, Спасибо, буду думать ещё. Я не тормоз, но газ очень медленный :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 19:49 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис Ага введения твоего параметра изменит текущее поведение уже после того как релиз вышел. Правильно. А то, что от новых версий отсекается масса старых разработчиков - фигня, зато не "нарушается отчетность". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:03 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис введения твоего параметра изменит текущее поведение уже после того как релиз вышел ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:08 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъот новых версий отсекается масса старых разработчиков Учитывая их качество - это даже к лучшему. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Симонов Денис Ага введения твоего параметра изменит текущее поведение уже после того как релиз вышел. Правильно. А то, что от новых версий отсекается масса старых разработчиков - фигня, зато не "нарушается отчетность". Ай, ну можно же через конфиг решать вопрос ещё какое-то время. И думаю что довольно продолжительное. По истечении которого отсекаются не разработчики, а разработки. И не в помойку отсекаются, а от дальнейшего прогресса инструмента. Который прогресс этим разработкам вообще нужен ли - это большой вопрос, доживут своё на не самом новом, большинству таких масштабных разработок сильно расти и пухнуть особо уже некуда. А если есть куда, то и на старом инструменте прорастут, ничего страшного. А с новыми разработками старым разработчикам по-любому придётся расти над собой. Пока смогут. Ибо ничто не вечно. Да, этта... Вот твои наблюдения насчёт распухания базы при висящей без запросов RC RC настораживают. Либо там что-то всё-таки кривовато, либо она вообще не при делах, а пухнет из-за деятельности других транзакций, которым через конфиг не объяснили что они "старые". ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:14 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка А с новыми разработками старым разработчикам по-любому придётся расти над собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:28 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockНу я бы поменял в паре мест снапшоты на RCRC. Зачем? Какую проблему ты пытаешься решить? Чего ожидаешь в результате такой замены? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:32 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockНу я бы поменял в паре мест снапшоты на RCRC. Зачем? Какую проблему ты пытаешься решить? Чего ожидаешь в результате такой замены? В отчётниках, например. Конкуренции в смысле апдейтов в них нет, а стабильность курсора нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:42 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, да с чего она отсекается то? Если один лентяй не может себе ровно один параметр в конфиге изменить? Ну не хочешь в конфиге сервера элементарно добавляется в свойство соединения. Но ведь нет, надо кричать что всё пропало. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Симонов Денис введения твоего параметра изменит текущее поведение уже после того как релиз вышел ну ты вот фигню гонишь. Блин ставишь в конфиге ReadConsistency = 0 у тебя есть read committed с вариантами
все read committed будут read_consistency А самое главное можно подумать что введение no_read_consistency не потребует изменения компонентов доступа Кто компоненты работы с транзакциями будет допиливать? И чем это проще чем допилить IBDatabase и указывать через isc_dpb_config ReadConsistency = 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:57 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаВ отчётниках, например. Конкуренции в смысле апдейтов в них нет, а стабильность курсора нужна. Нет конкуренции - стабильность не нужна. Есть конкуренция - нужна стабильность не просто одиночного запроса, а всех запросов между собой. Это в отчётниках. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:07 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис ъъъъъ, да с чего она отсекается то? Если один лентяй не может себе ровно один параметр в конфиге изменить? Ну не хочешь в конфиге сервера элементарно добавляется в свойство соединения. Но ведь нет, надо кричать что всё пропало. Т.е., это правильно, что "по умолчанию" ставится нерабочая конфигурация? Отсекает лентяев, это хорошо. И - тут ранее ПВП уже говорил, повторю: жить можно, пока опции совместимости (ReadConsistency=0 и т.д.) не станут deprecated. А кто-то и раньше задумается. Ну, тоже плюс: будут отсечены лентяи, неспособные полностью перелопатить архитектуру своих ПК. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:14 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъТ.е., это правильно, что "по умолчанию" ставится нерабочая конфигурация? Отсекает лентяев, это хорошо. Вот у всех она рабочая, а у лентяев - почему-то нет. "Совпадение? Не думаю." (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockНу я бы поменял в паре мест снапшоты на RCRC. Зачем? Какую проблему ты пытаешься решить? Чего ожидаешь в результате такой замены?Ожидаю правильных с моей точки зрения результатов запроса, при это мненьше нагружая сервер. А почему тебя это заинтересовало? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:28 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov ъъъъъТ.е., это правильно, что "по умолчанию" ставится нерабочая конфигурация? Отсекает лентяев, это хорошо. Вот у всех она рабочая, а у лентяев - почему-то нет. "Совпадение? Не думаю." (с) Курс верен - (с). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:30 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ, да я считаю что лентяям переход на новые версии противопоказан. Какой смысл переходить на новую версию, если не использовать новые возможности? Чтобы использовать новые возможности придётся поработать, в противном случае получишь только потенциальные проблемы с обратной совместимостью. Мне интересно что ты хочешь получить от 4.0 если ничего не конфигурировать в ФБ и ничего не менять в своей программе? Думаешь b/r на новую ODS и волшебным образом повысится производительность? Огорчу нет этого не будет. Ну допустим встроенная логическая репликация. Ну да круто. Вот только её тоже настраивать надо! А если её настраивать, то можно и параметр ReadConsistency подкрутить ъъъъъТ.е., это правильно, что "по умолчанию" ставится нерабочая конфигурация? И да я считаю что конфигурация по умолчанию правильная. Потому что сюрприз есть программы не только написанные на delphi и вот они как раз начнут работать с RC правильно даже если ничего не менять в их потрохах ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:33 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
[quote Симонов Денис#22407483] YuRock А самое главное можно подумать что введение no_read_consistency не потребует изменения компонентов доступа Кто компоненты работы с транзакциями будет допиливать? И чем это проще чем допилить IBDatabase и указывать через isc_dpb_config ReadConsistency = 0 У меня все транзакции создаются одной моей функцией, которая вызывается в конструкторе предка формы, или просто вручную. Ф-ция с двумя параметрами - db и тип транзакции (мой enum). Компонентов TIBTransaction на формах у меня нет нигде. А вот соединение у меня через TIBDatabase.Create создаётся везде. Да даже если и переделать на функцию (в принципе, она есть, но не всезде, в отличие от транзакций, вызывается), всё равно это лишняя допилка IBX. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockОжидаю правильных с моей точки зрения результатов запроса, при это мненьше нагружая сервер. А почему тебя это заинтересовало? Ну, "разные люди бывают на свете..." (с) Некоторые считают правильным результатом insert..select, входящий в бесконечный цикл, другие считают, что сервер нагружается, не проведя тестов и не сравнив результаты. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:38 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Старый плюшевый мишкаВ отчётниках, например. Конкуренции в смысле апдейтов в них нет, а стабильность курсора нужна. Нет конкуренции - стабильность не нужна. Есть конкуренция - нужна стабильность не просто одиночного запроса, а всех запросов между собой. Это в отчётниках.Представь себе, бывают отчетики на один запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:38 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис Мне интересно что ты хочешь получить от 4.0 если ничего не конфигурировать в ФБ и ничего не менять в своей программе? Симонов Денис Думаешь b/r на новую ODS и волшебным образом повысится производительность? Огорчу нет этого не будет. Симонов Денис Ну допустим встроенная логическая репликация. Ну да круто. Вот только её тоже настраивать надо! А если её настраивать, то можно и параметр ReadConsistency подкрутить Симонов Денис И да я считаю что конфигурация по умолчанию правильная. Потому что сюрприз есть программы не только написанные на delphi и вот они как раз начнут работать с RC правильно даже если ничего не менять в их потрохах ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:45 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockЕсли это так, то эти новые фичи вызывают сомнение. Вызывают сомнения - поставь эксперимент. Построй графики. Убеди всех числами, что новая версия - хуже старой. Лично меня покамест убеждают числа на https://firebirdtest.com/oltp-emul/ ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:49 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov другие считают, что сервер нагружается, не проведя тестов и не сравнив результаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:51 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockЕсли это так, то эти новые фичи вызывают сомнение. Вызывают сомнения - поставь эксперимент. Построй графики. Убеди всех числами, что новая версия - хуже старой.Я понимаю, что хочется поговорить, но нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:55 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Я сравнивал процессы работы снапроша и RC. Где цифры, Джим?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 21:55 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRock Я сравнивал процессы работы снапроша и RC. Где цифры, Джим?.. Запустил я запрос в снапшоте, который пересчитывает первичку, и он выполнялся 7 часов. Всё это время мусор не чистится с момента старта. Во всей базе. А в RCRC - не чистился бы только в некоторых таблицах (1+). Какие еще цифры привести, я не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 22:04 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockА в RCRC - не чистился бы только в некоторых таблицах с чего ты взял? Ты точно понял как RCRC работает? Ты это пробовал? Видишь ли снимок что в RCRC что в Snapshot работает по одним и тем же принципам. Вот только в Snapshot время его жизни транзакция, а в RCRC - запрос. Если ты запускаешь ровно один запрос после завершения которого происходит Commit, что в одном, что другом режиме изолированности, то разницы не будет. Точнее она есть, но вовсе не в сборке мусора. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 22:23 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис YuRockА в RCRC - не чистился бы только в некоторых таблицах с чего ты взял? Ты точно понял как RCRC работает? Ты это пробовал? Видишь ли снимок что в RCRC что в Snapshot работает по одним и тем же принципам. Вот только в Snapshot время его жизни транзакция, а в RCRC - запрос. Если ты запускаешь ровно один запрос после завершения которого происходит Commit, что в одном, что другом режиме изолированности, то разницы не будет. Точнее она есть, но вовсе не в сборке мусора.Конечно же я не пробовал. Значит, я не правильно понял, начитавшись тут про "цепочки версий". Тогда да, в чём профит, я не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 22:43 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Тогда да, в чём профит, я не знаю. Но это копейки, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 22:46 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, вот именно, ну и плюс конфликты обновлений по разному обрабатываются. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 22:54 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис YuRock, вот именно, ну и плюс конфликты обновлений по разному обрабатываются. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 22:56 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockЯ сравнивал процессы работы снапроша и RC. RC легче, особенно RO. И, заслышав, что "для каждого запроса как бы собственный снапшот", ты решил, что теперь процесс работы у read committed такой же как у concurrency и значит он медленнее. А объяснения Влада про список CN ты пропустил мимо ушей потому что "многа букафф, нипанятно". Влад на этом месте уже начал бы говорить матом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 23:10 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
это, граждане. Независимо от того, что Yo! страдал от неконсистентных результатов запросов в read committed в Firebird, почти всем на это было плевать. Я разве что могу напомнить топик 1447129 где даже участвовал некий хрен с названием Amris Mirddin :-) Было это ШЕШНАДЦАТЬ лет назад. И никто не помер. А теперь, когда это починили в ФБ 4, все чё-то возбудились. Камон, бразерс, калм даун. Склеротикам и новичкам рекомендую вот прям с того сообщения читать дальше, целиком. Дабы проникнуться, вообще. Если что, начинать можно с текста "Если речь идет о ReadCommitted, то да, у нас нет понятия cursor stability. " ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 23:42 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockЯ сравнивал процессы работы снапроша и RC. RC легче, особенно RO. И, заслышав, что "для каждого запроса как бы собственный снапшот", ты решил, что теперь процесс работы у read committed такой же как у concurrency и значит он медленнее. А объяснения Влада про список CN ты пропустил мимо ушей потому что "многа букафф, нипанятно". Влад на этом месте уже начал бы говорить матом.Я нигде не говорил, что запрос в concurrency работает медленнее, чем в rc, тут ты ошибся. Я говорил, что concurrency тяжелее для сегвера, чем rc, особенно rc(ro). И надеялся, что rcrc тоже будет несколько легче, но тут я ошибся. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 00:38 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockЯ говорил, что concurrency тяжелее для сегвера у меня есть статистика сервера, где у людей через 3 дня после рестора отвалилась транзакция роллбэком (застрял OIT), и там через год (при sweep interval 0 и незапуске вручную свипа) на на каждый снапшот (на классике) выделялось 27мб TIP. Никто ничего не заметил. Вы когда говорите "тяжелее", выражайтесь точнее, с конкретными примерами "тяжелости". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 00:42 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv YuRockЯ говорил, что concurrency тяжелее для сегвера у меня есть статистика сервера, где у людей через 3 дня после рестора отвалилась транзакция роллбэком (застрял OIT), и там через год (при sweep interval 0 и незапуске вручную свипа) на на каждый снапшот (на классике) выделялось 27мб TIP. Никто ничего не заметил. Вы когда говорите "тяжелее", выражайтесь точнее, с конкретными примерами "тяжелости".Тяжелость наступает при накоплении мусора, и при его чистке. Не заметили - что ж, красавцы, бываеют архитектуры, в которых только insert. Мечта Сибирякова. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 00:49 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockТяжелость наступает при накоплении мусора, и при его чистке. То есть, внезапно, в случаях, которые тоже были сильно "облегчены" в четвёрке. "Пилите, Шура, пилите." (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 01:25 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv Я разве что могу напомнить топик 1447129 где даже участвовал некий хрен с названием Amris Mirddin :-) Вот же ж вездессущий крендель, где только ни нагадил А через 15 лет понёс противоположную ахинею, пока Рустам на него глаза не вытаращил и не спросил - ты чего? Прикалываешься? Маразматег :( Плюнь в меня плиз TPB от этого чуда RC RC. Я транзакциями consistency вообще-то, после изучения API Guide даже не пытался пользоваться. Но в подкорке склероза сидит что там и read транзакции друг другу мешают. Помозолил глаза сейчас об этот гайд, от IB5 правда, ещё раз - вроде бы да, так и есть. Но с учётом моего нынешнего английского... Да ещё и внутренние транзакции вовсе не транзакции, но имеют уровень изоляции... Это чиста для просветления, не в контексте холивара, понять хочу. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 02:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockТяжелость наступает при накоплении мусора, и при его чистке. не надо пороть ... всякое. Я на курсах регулярно говорю, что количество версий и количество транзакций никак не связано. 1млн транзакций может вообще не породить ни одной версии, и наоборот, 1 транзакция может породить 1млн версий. И OIT тут вообще ни при чем. Её значение сильно преувеличено. Это лишь индикатор того, что ГДЕ-ТО в базе случился роллбэк, и МОГУТ БЫТЬ версии которые надо удалить. А могут и не быть. Поэтому застревание OIT вообще никак не влияет на производительность, кроме увеличения размера снимка TIP при старте snapshot. А TIP линейный, и его сканирование или изготовление снимка не сильно тормозит сервер. На текущий момент все проблемы с производительностью, которые мы наблюдаем, заключаются в основном - в неоптимизированных запросах - либо большое кол-во натуральных чтений, либо большое кол-во индексных чтений - слишком частое выполнение коротких запросов, которые "задалбывают" сервер, убивая до 60% производительности. Проблем с застреванием oit, или еще чем-то мы тут не наблюдаем вообще. Да, бывают случаи, когда "админ заснул в ИБЭксперте" на пару суток, тогда накапливаются версии и получаются тормоза. Но это решается скриптами "убиения" подобных коннектов через mon$. Еще бывает "внезапная репликация" программными средствами, тогда да, количество page writes превышает page reads в десятки раз. Но это всё экзотика. И опять же, влияние старта транзакций RC/Snapshot тут вообще никакое. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 02:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаА через 15 лет понёс противоположную ахинею што??? че-то вы, господин хороший, меня обвиняете непонятно в чём. Я пока насчет read committed read consistency вообще никак не выражался, совсем. Ибо у меня нет данных о полезности этого режима. Я хотел (на днях) его потестить, но меня отговорили. И я пока не придумал, как ЭТО тестировать. На реальных системах у нас пока нет перешедших на 4.0. Но мы попробуем организовать "предтесты", чтобы понять, насколько измененная сборка мусора работает. Однако, не могу обещать, когда такое получится. Нет у нас еще клиентов на 4.0. Хотя есть, которые уже хотят перейти. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 02:26 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv Я на курсах регулярно говорю, что количество версий и количество транзакций никак не связано. kdv на пару суток, тогда накапливаются версии и получаются тормоза Не надо додумывать. Я понимаю, что я враг народа, но тем не менее. Всего лишь предлагал доделать минимальную доработку, которая, по моему мнению (мне - точно) облегчила бы переход на 4-ку. Ну, раз "такие, как я, не нужны" - ладно, будем пользоваться всё равно :) А шо, не расслабляйтесь ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 02:29 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаПлюнь в меня плиз TPB от этого чуда RC RC чем плевать-то, если в 4.0 старая RC теперь стала RC со стабильными курсорами. Ась? Так что с точки зрения приложений ничего не меняется. Просто они начинают при селектах в RC получать более "консистентные" результаты. И фсё. (вернуть можно в firebird.conf). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 02:34 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv Старый плюшевый мишкаА через 15 лет понёс противоположную ахинею што??? че-то вы, господин хороший, меня обвиняете непонятно в чём. Ай, да я не про тебя, а про этого старого осла. Спросил человек как каскад выполняется и он на голубом глазу запел что сначала детали удаляются. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 02:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockВсего лишь предлагал доделать минимальную доработку, которая, по моему мнению (мне - точно) облегчила бы переход на 4-ку. Ну, раз "такие, как я, не нужны" - ладно, будем пользоваться всё равно :) либо я чего-то не понимаю, либо тут какая-то ересь. Каким образом read committed read consistency может ЗАТРУДНИТЬ переход на 4ку? Вам вообще какая половая разница? Вы либо материтесь на "рост базы данных" с вашим нынешним управлением транзакциями, либо вообще ничего не замечаете. С точки зрения приложений вам вообще ничего менять не надо. Не понравится rc rc - ну поменяйте в конфиге обратно. Что вообще за гонево какое-то про "облегчение перехода". Там с переходом основное это типы данных и их совместимость. Которая опять же, решается документом от Симонова. https://www.ibase.ru/files/articles/firebird4/fb4migrationguide_rus.html ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 02:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv, Насколько я понимаю, самая легкая транзакция - это ro rc без read consistency. Вот я такие люблю. И хочу не менять конфиг. Только и всего. Нет - так нет, мне уже этот разговор надоел, повторять одно и тоже десятый раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 03:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv Каким образом read committed read consistency может ЗАТРУДНИТЬ переход на 4ку? Вам вообще какая половая разница? Да очень простым. Несколько тысяч программных модулей приложения пользуются ОДНОЙ транзакцией на чтение для всякой фигни до начала редактирования. Геологическую эпоху, с 2001 года. Которая стартуется на старте приложения и помирает вместе с ним. Патамушта её на самом деле нет и она ничего не кушает. И вдруг оказывается что извини-подвинься, начинает кушать и чем больше читающих транзакций в каждом модуле тем дешевле будет. А модулей сорок бочек арестантов и хотелось бы не втупую прогрепить, а получить с этого гемору какой-то таки цимес, иначе херли вообще в эту гору катить очередной камень. Очень даже половая получается разница. Другое дело что это новое можно проигнорировать. Ну да, страуса не пугать, пол бетонный. Может так и надо, может в этом и есть... мнэээ... слезаю с дивана. Вариантов много. Забить и дожить до пенсии, упереться и преодолеть, найти какой-то промежуточный вариант из многих возможных. Для меня лично просто вызов - сумею понять или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 03:39 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка Несколько тысяч программных модулей приложения пользуются ОДНОЙ транзакцией на чтение для всякой фигни до начала редактирования. Геологическую эпоху, с 2001 года. Которая стартуется на старте приложения и помирает вместе с ним. Это было актуально во времена BDE, когда компоненты не умели более одной транзакции в коннекте. После появления компонентов прямого доступа, типа IBX/FIB и т.п., реализующих много транзакционность, транзакции стало возможно делать в том месте и времени когда они нужны. У примеру, на BDE у меня было 3 коннекта в приложении, что бы получить возможность иметь 3 транзакции, и приходилось париться, каким же модулем занята транзакция, что бы не пересечься в другом модуле. Сейчас у меня в каждом модуле и окне собственные транзакции. Какие-то общие транзакции делаются только если это требуется по логике. Думал что у многих так. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 04:44 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv YuRockЯ говорил, что concurrency тяжелее для сегвера у меня есть статистика сервера, где у людей через 3 дня после рестора отвалилась транзакция роллбэком (застрял OIT), и там через год (при sweep interval 0 и незапуске вручную свипа) на на каждый снапшот (на классике) выделялось 27мб TIP. Никто ничего не заметил. было бы 1000 параллельных снапшотов - заметили бы ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 07:11 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv Не понравится rc rc - ну поменяйте в конфиге обратно перечитай тему с начала. Он не контролирует конфиг. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 07:14 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Имхо, в параметры транзакций надо было добавить опцию no_read_consistency которая бы была более приоритетной чем значение конфига.. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:05 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_ Имхо, в параметры транзакций надо было добавить опцию no_read_consistency которая бы была более приоритетной чем значение конфига.. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:11 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_, это глупость иметь две противоречащих друг другу опции Мимопроходящийоб том и тянется весь сыр-бор, уже аж на 11-й странице да нет страниц 5. До этого совсем о другом разговор был ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:24 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис avp_, это глупость иметь две противоречащих друг другу опции isc_tpb_rec_version и isc_tpb_no_rec_version , isc_tpb_wait и isc_tpb_nowait ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:31 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис да нет страниц 5. До этого совсем о другом разговор был "До этого" теория шла. Лентяи-прикладники не углублялись, а тут, углубившись и получив по шарам, стали судорожно пытать разработчиков: "за какие грехи вы нас так"... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:32 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
СПМkdv> 1447129 Вот же ж вездессущий крендель, где только ни нагадил Там и Лентяй участвует, и Диля ещё есть, паразит... Эх... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockНасколько я понимаю, самая легкая транзакция - это ro rc без read consistency. Нет, нинасколько ты не понимаешь. Попробуй ещё раз. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:48 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Симонов Денис да нет страниц 5. До этого совсем о другом разговор был "До этого" теория шла. Лентяи-прикладники не углублялись, а тут, углубившись и получив по шарам, стали судорожно пытать разработчиков: "за какие грехи вы нас так"... Ай, жизнь воообще устроена по типу Леди звонит своему лорду. - Сэр, Вы знаете что Ваша горничная беременна? - Это её проблема. - А Вы в курсе что она беременна от Вас? - Нннуу... Это моя проблема. - А Вы догадываетесь что мне это не нравится? - А вот это Ваша проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:50 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Мимопроходящий, ты не прав, ибо isc_tpb_rec_version и isc_tpb_no_rec_version и isc_tpb_read_consistency стоят в одном ряду и не совместимы между собой. Просто по дефолту делается так что на isc_tpb_[no_]rec_version кладётся болт, а вместо них всегда используется isc_tpb_read_consistency ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:54 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_ Имхо, в параметры транзакций надо было добавить опцию no_read_consistency которая бы была более приоритетной чем значение конфига.. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:58 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
dimitr перечитай тему с начала. Он не контролирует конфиг. Сисадмин может править firebird.conf, даже если он в этом ОгнеПтице - вообще не копенгаген. P.S. Да, есть разница между "не контролирует" и "вообще ничего не хочет делать". Во втором случае переход на FB40 противопоказан, но совсем не из-за умалчиваемых значений. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:01 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad avp_ Имхо, в параметры транзакций надо было добавить опцию no_read_consistency которая бы была более приоритетной чем значение конфига.. дозвольте слово молвить. всем компонентописателям и компонентоюзателям, действительно удобнее управлять параметрами транзакций через transaction parameter buffer (TPB), а не через левую ноздрю. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:09 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
СПМ> Ай, жизнь воообще устроена по типу СПМ> Леди звонит своему лорду. Сэр Джон звонит домой из клуба, чтобы предупредить жену, что он задержится. К телефону подходит дворецкий: – Да? – Любезный, будь добр, зайди в комнату леди и скажи ей, что я задержусь в клубе. – Но леди уже пошла спать, сэр. – Тем не менее пойди к ней и доложи, что я просил. Через некоторое время. – Сэр, я доложил, но ваш голос ответил мне из-за двери, чтобы я убирался. – Немедленно возьми ружье и застрели мою жену и человека, который находится с ней в спальне! В трубке слышны выстрелы, топот. – Сэр, я сделал все, как вы сказали, но мужчина выскочил в окно спальни и убежал в сад. – Но возле нашего дома нет сада! – Значит вы ошиблись номером, сэр... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:11 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Мимопроходящий hvlad пропущено... Расскажи как ты хочешь её использовать и чем это лучше изменения конфига (напрямую или через DPB). дозвольте слово молвить. всем компонентописателям и компонентоюзателям, действительно удобнее управлять параметрами транзакций через transaction parameter buffer (TPB), а не через левую ноздрю. Особенно, если на этом же сервере окажется база нового поколения. Надо забить настройку в базу. Вместе со свип интервалом и пользователями. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:20 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Расскажи как ты хочешь её использовать и чем это лучше изменения конфига (напрямую или через DPB). В основном для плавного портирования старого ПО. Что то я про новые возможности DPB не нашёл где написано... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:24 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
pastor, не в коем случае. Во первых добавление нового флага в заголовок БД это изменение ODS, а значит такое изменение в рамках 4.0 не применимо ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:30 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_В основном для плавного портирования старого ПО. Какой именно функционал Вашего старого ПО требует зацикливания insert..select? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:31 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_, куда уж плавней один параметр в конфиге поправить. isc_dpb_config появился ещё в 3.0. Он позволяет установить любой параметр конфигурации который в файле конфигурации помечен как per connection ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:33 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov avp_В основном для плавного портирования старого ПО. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:33 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Дима ты совсем не о том. Эта фигня была ещё в 3.0 исправлена. И она относится к стабильности курсора, а не к read consistency. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:35 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Какой именно функционал Вашего старого ПО требует зацикливания insert..select? Речь была про долгоживущие читающие транзакции RC RO. У меня например полно таких. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов ДенисДима ты совсем не о том. Эта фигня была ещё в 3.0 исправлена. Вообще-то, кажется, ещё в 2.5, но вопрос-то не в этом, а в "есть ли претензии к read consistency серьёзнее чем "база вырастает до гигабайта и место на винте кончается". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис avp_, куда уж плавней один параметр в конфиге поправить. Это сразу на все транзакции коннекта действует. Не совсем удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:43 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Basil A. Sidorov dimitr перечитай тему с начала. Он не контролирует конфиг. Сисадмин может править firebird.conf, даже если он в этом ОгнеПтице - вообще не копенгаген. P.S. Не стоит предлагать идею менять конфиги автоматизировано. Она на поверхности лежит. Но она даже хуже, чем изменение конфига в момент коннекта через dpb. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Мимопроходящий всем компонентописателям и компонентоюзателям, действительно удобнее управлять параметрами транзакций через transaction parameter buffer (TPB), а не через левую ноздрю. Предлагается "управлять" параметрами транзакций в момент коннекта к базе, хоть через какое хочешь апи. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:49 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Ну да, в каждом ларьке же сисадмин сидит, в каждом терминале самообслуживания. Ваша проблема - совсем не умалчиваемые параметры четвёрки. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:51 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_, сколько раз повторять. Берёшь конфиг ставишь в нём ReadConsistency = 0. Всё у тебя сразу все 3 режима READ COMMITTED через параметры транзакций доступны. ReadConsistency = 0 не отключает возможность isc_tpb_read_consistency, просто даёт использовать так же isc_tpb_rec_version и isc_tpb_no_rec_version. Вообще я так понял народ больше вопит из-за того что в конфиге по дефолту ReadConsistency = 1. Согласен решение спорное, но так уж решили, потому что для приложений где нет старта одной глобальной RO RC транзакции это лучше, ибо позволяет абсолютно безо всяких переделок транзакциям READ COMMITTED выдавать согласованный набор данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:52 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис куда уж плавней один параметр в конфиге поправить. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:54 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денискуда уж плавней один параметр в конфиге поправить. Можно и ещё плавней. Налаживается синхронная репликация хоть Экспертом, хоть таким вот плагином и можно работать с сервером любой версии по выбору. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 14:55 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис потому что для приложений где нет старта одной глобальной RO RC транзакции это лучше, ибо позволяет абсолютно безо всяких переделок транзакциям READ COMMITTED выдавать согласованный набор данных. 1. Есть старт одной глобальной RO RC 2. Для запросов, где была важна консистентность, и так уже использовался снапшот. И, как мы выяснили вчера, RCRC не даст тут никаких преимуществ. Спорное решение, говоршь? Да ладно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:01 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, ну я не знаю как вы там программу свою распространяете. Но вообще есть два варианта. Ставить свой ФБ нужной версии и вместе с ним сразу формировать/поставлять конфиг. Или писать инструкцию для тех кто сам ставил ФБ какие параметры надо прописать в конфиг. И да для того чтобы записать одну строчку в текстовый файл не надо быть гуру в администрировании. И да параметр кстати через databases.conf тоже доступен, так что для каждой БД можно индивидуально поставить ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:05 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockА все старые делятся на два типа, грубо говоря: Есть ещё третий тип: проекты вообще не написанные на Дельфи или написанные без дурацкой вечноживущей транзакции. Самые многочисленные, наверное. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:08 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock, а не вариант распространять твой софт с твоим же дистрибутивом Firebird? Мало ли что там у клиента стоит и какие порты заняты. Я вот именно так делаю. Совсем простенький скрипт inno setup. Конфиг настроен как надо мне, демобазы, диагностика доступности порта, что хочешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:08 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov YuRockА все старые делятся на два типа, грубо говоря: Есть ещё третий тип: проекты вообще не написанные на Дельфи или написанные без дурацкой вечноживущей транзакции. Самые многочисленные, наверное. Это где так? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:09 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRockRCRC не даст тут никаких преимуществ. даст, только ты не правильные кейсы рассматриваешь. Да, да ты не видишь дальше своего приложения ничего. А ведь есть приложения которые написаны на Java, PHP, Python, JavaScript, C# ... которые изначально не держали никаких глобальных транзакции на всё приложение. И прикинь в них RC начнёт сразу правильно работать без переделки. Да и на Delphi так можно писать. И между прочим об этом разговор шёл давно, время подрихтовать было ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:12 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъЭто где так? За пределами Рустамовского загончика. Только не говори, что "там жизни нет"... PS: У Натальи Хлопотун (tm) времени никогда нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ YuRock, а не вариант распространять твой софт с твоим же дистрибутивом Firebird? Мало ли что там у клиента стоит и какие порты заняты. Я вот именно так делаю. Совсем простенький скрипт inno setup. Конфиг настроен как надо мне, демобазы, диагностика доступности порта, что хочешь. +1 для распространяемых маленьких прикладух именно так и надо. Ибо не только мы Firebird в своих прогах используем. Когда мне заявляют извините, но у нас тут уже стоит Firebird 2.0 я его что сносить что ли должен? Для крупняка уже админы есть ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:19 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Мимопроходящий всем компонентописателям и компонентоюзателям, действительно удобнее управлять параметрами транзакций через transaction parameter buffer (TPB) Но ты не ответил на мой вопрос. Похоже, даже не понял его. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:41 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ ъъъъъ Dimitry Sibiryakov ... Есть ещё третий тип: проекты вообще не написанные на Дельфи или написанные без дурацкой вечноживущей транзакции. Самые многочисленные, наверное. Это где так? За пределами Рустамовского загончика. Только не говори, что "там жизни нет"... Рекурсия. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:42 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_ hvlad Расскажи как ты хочешь её использовать и чем это лучше изменения конфига (напрямую или через DPB). В основном для плавного портирования старого ПО. Что то я про новые возможности DPB не нашёл где написано... Для портирования старого ПО: - оставляем ReadConsistency = 1 и проверяем работу старого ПО - если что-то не так, ставим ReadConsistency = 0, разбираемся и либо применяем isc_tpb_read_consistency в конкретных местах, либо добиваемся чтобы всё правильно работало с ReadConsistency = 1 Про "новые" возможности DPB - isc_dpb_config должен быть описан в RN ещё в fb3. Настолько он новый, да. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:45 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
pastor Надо забить настройку в базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:46 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
В старом ПО от долгих глобальных транзакций не так просто избавиться, т.к. это потребует существенной переделки. А вот поставить им флаг no_consistency как раз просто. Остальные транзакции пущай будут работать по новому. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:51 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_ В старом ПО от долгих глобальных транзакций не так просто избавиться, т.к. это потребует существенной переделки. А вот поставить им флаг no_consistency как раз просто. Остальные транзакции пущай будут работать по новому. PS реальный вред от "долгой глобальной транзакции" RC RW должен быть пересмотрен для 4-ки. Искуственный тест insert\delete по кругу - не показатель, реальные программы чуть сложнее и разнообразнее. Я проверял работу tpcc с полностью заблокированной традиционной сборкой мусора и знаю, о чём говорю. А кто тут проверял что-то более-менее реальное ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:56 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_В старом ПО от долгих глобальных транзакций не так просто избавиться, т.к. это потребует существенной переделки. Вообще-то довольно просто. Тупой рефакторинг по "Search in Files". В самый раз работа для юниоров. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:56 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
avp_> А вот поставить им флаг no_consistency как раз просто. avp_> Остальные транзакции пущай будут работать по новому. Можно наоборот - изменить ключик в конфиге, а "новым" транзакциям ставить isc_tpb_read_consistency. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:58 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov avp_В старом ПО от долгих глобальных транзакций не так просто избавиться, т.к. это потребует существенной переделки. Вообще-то довольно просто. Тупой рефакторинг по "Search in Files". В самый раз работа для юниоров. Совсем уж дичь попёрла. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 16:01 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ Dimitry Sibiryakov пропущено... Вообще-то довольно просто. Тупой рефакторинг по "Search in Files". В самый раз работа для юниоров. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 16:04 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Эй, вы серьёзно считаете сложной задачей найти в коде каждое упоминание глобальной транзакции и заменить его на локальную?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 16:23 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Дим это не решит всех проблем, там работы слегка побольше ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 16:32 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
DS> найти в коде каждое упоминание DS> глобальной транзакции и заменить его на локальную?.. Ну т.е. ты считаешь достаточно просто Search and Replace GlobalTxVar LocalTxVar? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 16:41 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов ДенисДим это не решит всех проблем Все проблемы решит только гильотина. Это решит проблему долгоживущей транзакции. Время жизни сократится до времени жизни конкретного датасета, которое, конечно, тоже может быть большим, но всё же не от запуска приложения до закрытия (скорее всего). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 16:48 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис YuRock, ну я не знаю как вы там программу свою распространяете. Но вообще есть два варианта. Ставить свой ФБ нужной версии и вместе с ним сразу формировать/поставлять конфиг. Или писать инструкцию для тех кто сам ставил ФБ какие параметры надо прописать в конфиг. И да для того чтобы записать одну строчку в текстовый файл не надо быть гуру в администрировании. И да параметр кстати через databases.conf тоже доступен, так что для каждой БД можно индивидуально поставить ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 16:53 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ YuRock, а не вариант распространять твой софт с твоим же дистрибутивом Firebird? Мало ли что там у клиента стоит и какие порты заняты. Я вот именно так делаю. Совсем простенький скрипт inno setup. Конфиг настроен как надо мне, демобазы, диагностика доступности порта, что хочешь. Давайте еще скатимся сейчас в вопросы распространения и обновления софта. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 16:56 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Симонов Денис YuRockRCRC не даст тут никаких преимуществ. даст, только ты не правильные кейсы рассматриваешь. Да, да ты не видишь дальше своего приложения ничего. А ведь есть приложения которые написаны на Java, PHP, Python, JavaScript, C# ... которые изначально не держали никаких глобальных транзакции на всё приложение. И прикинь в них RC начнёт сразу правильно работать без переделки. Да и на Delphi так можно писать. И между прочим об этом разговор шёл давно, время подрихтовать былоВсе эти приложения (повторяю в очередной рез - не важно - на делфи, js или 1С они написаны) делятся на два вида: 1. Те, кому не нужны были консистентные запросы. Для таких RCRC будет бесполезен. 2. Те, кому нужны были консистентные запросы, но такие уже написаны через снапшот, и потому RCRC для них будет бесполезен. Логично, что он будет полезен только для новых, еще не написанных. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 16:59 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Это всё kdv виноват, со своими статьями. И примкнувший к ним писатель Ковязин-Востриков. А теперь Дмитрий Валерьевич довольно улыбается, как тот полякофоб Сусанин, он бы и лапки потирал, да заняты они снифтером с коньякЬ-ом, и дымящейся кохибой... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 17:18 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
прочитал и вспомнил товарища... kdv у меня есть статистика сервера, где у людей через 3 дня после рестора отвалилась транзакция роллбэком (застрял OIT), и там через год (при sweep interval 0 и незапуске вручную свипа) на на каждый снапшот (на классике) выделялось 27мб TIP. Никто ничего не заметил. Вы когда говорите "тяжелее", выражайтесь точнее, с конкретными примерами "тяжелости". ...товарища у которого до 7к коннектов к классику дисконнекты не редкость, и если дисконнект пришелся на активную пишущую транзакцией, стопудово все станет колом тч все относительно ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 19:55 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Дегтярев Евгений прочитал и вспомнил товарища... ...товарища у которого до 7к коннектов к классику Или, может быть, товарищ уже ломанулся со своим классиком на четвёрку? P.S. Понятно, что "ты спросил - я ответил" (ц) "Уральские пельмени", но даже в этом ответе только одно число и оно всё равно не показывает, насколько тяжело станет товарищу в "новой архитектуре" (тм) супротив старой. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 20:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Basil A. Sidorov только одно число и оно всё равно не показывает, насколько тяжело станет товарищу в "новой архитектуре" (тм) супротив старой. Сейчас же - говорят: "ставь, попробуй, если что пойдет не так - попробуй подпилить, если не получится - поставь в настройках совместимость и дальше пили". Жизнь меняется. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 21:31 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
YuRock Раньше, помню, при выходах новых версий, списки были типа туду, что надо проверить и что сделать, если надо. И (раз пошла такая пьянка), то предлагаю вспомнить сколько вою было из-за необходимости создавать sysdba для Srp-плагина в тройке. Хотя, казалось бы ... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 07:26 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Basil A. Sidorov И (раз пошла такая пьянка), то предлагаю вспомнить сколько вою было из-за необходимости создавать sysdba для Srp-плагина в тройке. Хотя, казалось бы ... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 08:20 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ъъъъъ ... да заняты они снифтером с коньякЬ-ом, и дымящейся кохибой... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 14:27 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
dennis-r, коньякь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 14:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Да, я зануда. Если не лень, вправьте мне пожалуйста мозги насчёт терминологии. Моему складу ума вообще нужен хороший сторож. Я, конечно, понимаю, что правильным ответом будет - поставь FB4, примени метод научного тыка и не полоскай больше людЯм мозги. Но, начитавшись здесь за администрирование-конфигурирование нынешних Огнептиц, я боюся что в моих кривых руках дело кончится переустановкой винды. Первое. Что есть понятие "уровень изоляции consistency read" для недотранзакции, организуемой внутри транзакции read_commited read для выполнения селективного запроса. Для полноценной транзакции с резервированием таблиц, упомянутых в запросе, это означает конфликт для транзакций, пытающихся писать в эти таблицы пока наша транзакция так или иначе не закрыта. Мне что-то не верится в применимость массированного применения такого уровня изоляции в многопользовательской среде. Значит, термин надо трактовать как-то иначе. Как - я не понимаю, он, термин, прибит в голове гвоздём. Второе. Если чтение выполняется в транзакции read_commited write, то никаких недотранзакций не применяется? То есть read_commited write consistency ещё не придумали? А если придумали, то как обстоят дела с внутренним чтением при update? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 15:00 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаэто означает конфликт для транзакций, пытающихся писать в эти таблицы пока наша транзакция так или иначе не закрыта. Просто при чтении используется не самая свежая версия записи. И всё. Как именно определяется нужная версия - многа букафф, ниасилил, так что будем считать, что тут порылась магия. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 15:22 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Старый плюшевый мишкаэто означает конфликт для транзакций, пытающихся писать в эти таблицы пока наша транзакция так или иначе не закрыта. Просто при чтении используется не самая свежая версия записи. И всё. Как именно определяется нужная версия - многа букафф, ниасилил, так что будем считать, что тут порылась магия. Тогда это, то есть уровень изоляции недотранзакции, в привычной терминологии скорее concurrency read с резервированием. Я чего интересовался TPB-то. Подумал - вот все пишут RC_RC. Если read_commited read_consistency - это один коленкор, мичуринская прививка веточки, а если read_commited read consistency - что-то совсем другое, незнакомое, обозначающее не уровень изоляции недотранзакции, а намёк на достигаемый результат. И тогда уместнее было бы, во избежание путаницы, во всяком случае, в содержимом моей лично кости, в которую я ем, что-то типа stability или ещё что-то в этом роде. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 15:33 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка, ты всё попутал. 1. если раньше rc ro типа "не существовала" после своего старта (сразу была якобы committed), то в 4.0 - нет. Она просто транзакция, существующая, как и RC RW. 2. в read consistency каждый запрос "обрамляется" снапшотом. То есть, между запросами в RC у тебя RC, а во время выполнения запроса (от начала до конца выфетчивания) - snapshot. Всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 15:35 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv Старый плюшевый мишка, ты всё попутал. 1. если раньше rc ro типа "не существовала" после своего старта (сразу была якобы committed), то в 4.0 - нет. Она просто транзакция, существующая, как и RC RW. 2. в read consistency каждый запрос "обрамляется" снапшотом. То есть, между запросами в RC у тебя RC, а во время выполнения запроса (от начала до конца выфетчивания) - snapshot. Всё. Во. Я тут как раз о том же поправил предыдущий пост. Ишь, есть ещё ягоды в ягодицах, с помощью ДС допёр. Терминология - страшная сила для закостеневшего ума. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 15:39 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаТогда это в привычной терминологии скорее concurrency с резервированием. Грязное чтение: нужная версия - последняя. Старый read committed: нужная версия - последняя из принадлежащих закоммиченным конкурентам. Concurrency: нужная версия - последняя из принадлежащих закоммиченным конкурентам на момент старта. Новый read consistency: нужная версия где-то между вторым и третьим. То есть разница уровней изоляции только в формуле вычисления сколько версий записи надо пропустить перед выдачей "наверх". Я так понимаю. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 15:41 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv 1. если раньше rc ro типа "не существовала" после своего старта (сразу была якобы committed), то в 4.0 - нет. Она просто транзакция, существующая, как и RC RW. Старые под-уровни RC (read committed) RV (record version) и RC NRV (no record version) в режиме RO (read-only) работают как и прежде - тр-ция отмечается как committed сразу при старте и не держит OST. Новый под-уровень RC RC (read consistency) в режиме RO тоже отмечается как committed при старте, но удерживает OST (в той же степени как и SNAPSHOT тр-ция). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 15:54 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Старый read committed: нужная версия - последняя из принадлежащих закоммиченным конкурентам. Concurrency: нужная версия - последняя из принадлежащих закоммиченным конкурентам на момент старта. Новый read consistency: нужная версия где-то между вторым и третьим. Concurrency: нужная версия - последняя из принадлежащих закоммиченным конкурентам на момент старта тр-ции . Read consistency: нужная версия - последняя из принадлежащих закоммиченным конкурентам на момент старта запроса . ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 15:55 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка Что есть понятие "уровень изоляции consistency read" для недотранзакции, организуемой внутри транзакции read_commited read для выполнения селективного запроса. Старый плюшевый мишка Для полноценной транзакции с резервированием таблиц, упомянутых в запросе, это означает конфликт для транзакций, пытающихся писать в эти таблицы пока наша транзакция так или иначе не закрыта. Мне что-то не верится в применимость массированного применения такого уровня изоляции в многопользовательской среде. Значит, термин надо трактовать как-то иначе. Как - я не понимаю, он, термин, прибит в голове гвоздём. Ещё раз - RC всех видов и SNAPSHOT тр-ции резервируют таблицы совершенно одинаково и оное резервирование никак не мешает конкурентной работе. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 16:02 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvladУточню.Старые под-уровни RC (read committed) RV (record version) и RC NRV (no record version) в режиме RO (read-only) работают как и прежде - тр-ция отмечается как committed сразу при старте и не держит OST. Э-э-э... То есть если в TPB указать read_committed rec_version, то read_consistency там не будет? Или эти режимы не взаимоисключающие? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 16:08 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка, и ещё одно уточнение. Я вижу путаницу в употреблении понятий cursor stability и read consistency . cursor stability не имеет отношения к конкурентной работе, это про то, что данный конкретный курсор не должен учитывать собственные изменения записи при её повторном чтении. Типичный пример не стабильного курсора: insert into t select * from t Эта болячка была вылечена в fb3, задолго до появления read consistency. read consistency - как раз о конкурентной работе и говорит о том, что запрос должен видеть согласованное ( consistent ) состояние БД в течение всего времени своей (запроса) работы. Т.е. если в начале работы запроса он мог видеть N записей таблицы, то в любой последующий момент он должен видеть ровно те же самые N записей, независимо от работы конкурентов. Есс-но, изменения своей тр-ции должны быть видны. Это требование всегда выполнялось для SNAPSHOT (concurrency) тр-ций, но нарушалось для RC тр-ций. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 16:12 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov То есть если в TPB указать read_committed rec_version, то read_consistency там не будет? Если только не выставить ReadConsistency = 1 в конфиге. В этом случае движок положит на rec_version и стартует read_consistency. Dimitry Sibiryakov Или эти режимы не взаимоисключающие? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 16:13 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvladТ.е. если в начале работы запроса он мог видеть N записей таблицы, то в любой последующий момент он должен видеть ровно те же самые N записей, независимо от работы конкурентов. В "классике" это обычно называется "отсутствием фантомных чтений" и считается реквизитом "repeatable read". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 16:18 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvladВ этом случае движок положит на rec_version А, точно, говорилось же, что он на них кладёт... Склероз-с... PS: Стоило не мелочиться и сразу объявить rec_version и no_rec_version deprecated, причём сразу в заголовках, чтобы при компиляции глаза мозолило. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 16:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov PS: Стоило не мелочиться и сразу объявить rec_version и no_rec_version deprecated, причём сразу в заголовках, чтобы при компиляции глаза мозолило. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 16:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvladЧто бы уровень воя в этой теме показался цветочками ? Да ну, кто там станет выть на предупреждения-то? Вон, сама птица годами их сыплет на isc_expand_dpb и ничего. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 17:04 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Знаете, джентльмены, тогда я вообще не понимаю зачем надо было затевать всю эту свистопляску с фанфарами насчёт мировой революции. Ввели бы два, как здесь говорили, параметра для TPB и дело с концом, пусть каждый будет кузнецом своего счастья. Влад, это не к тебе лично, разумеется, я догадываюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 17:58 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишкаВвели бы два, как здесь говорили, параметра для TPB и дело с концом, пусть каждый будет кузнецом своего счастья. Теоретицки, на основании вышеупомянутого соответствия требованиям отсутствия фантомных чтений, его можно было вообще объявить новым TIL Repeatable Read с нашлёпкой "ANSI compatible". Но желание причинить добро старым приложениям победило. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 18:18 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка Ввели бы два, как здесь говорили, параметра для TPB и дело с концом Что второй обозначает ? Как его использовать ? В каких случаях он необходим ? Или речь о чём-то другом ? О чём ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 21:23 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Старый плюшевый мишка Ввели бы два, как здесь говорили, параметра для TPB и дело с концом Что второй обозначает ? Как его использовать ? В каких случаях он необходим ? Или речь о чём-то другом ? О чём ? Один для стабильного курсора с удержанием версий на время фетча, а он нужен процентах в 10 мест приложений и заметно легче снапшота, удерживающего их до конца жизни транзакции, другой по старинке - фиг с ней со стабильностью в портянке из 30 тыщ заголовков счетов или какого-нибудь архива, но версий не держит. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 21:35 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка другой по старинке - фиг с ней со стабильностью в ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 21:40 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Старый плюшевый мишка другой по старинке - фиг с ней со стабильностью в В смысле RC_RO и снапшот? Да всем угодили, только местами RC_RC оптимальнее снапшота и почему бы и не воспользоваться. Если в смысле установить RC_RO в конфиге по умолчанию и где надо включать безальтернативно RC_RC, то чиста эстетически, считаю что параметрами транзакции следует управлять осмысленно при создании транзакции, а не надеяться на умолчания. Впрочем, что хотел понять, я понял, а учить жить не моё собачье дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 21:50 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка hvladпропущено... Чем два старых не угодили ? В смысле RC_RO и снапшот?Нет, record_version и no_record_version ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 22:07 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Старый плюшевый мишка пропущено... В смысле RC_RO и снапшот? Если честно, мне никогда в жизни не приходило в голову использовать no_record_version. Для чтения списков документов-событий оно не надо, а действия, не справочный просмотр, со строкой всегда выполнял в снапшоте. Возможно я что-то упустил в этой жизни :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 22:48 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv Ибо у меня нет данных о полезности этого режима. В процессе изучения работы с тамаутом транзакций (isc_tpb_lock_timeout) обнаружил интересную особенность READ CONSISTENCY в случае обновления одной и той же записи в двух конкурирующих транзакциях. Пример. Транзакция 1 обновила запись, не завершилась. Транзакция 2 обновляет, встает в ожидание. Транзакция 1 делает COMMIT (успевает до времени таймаута). После этого транзакция 2 продолжает работу. В 3-ке после коммита транзакции 1 транзакция 2 завершается с deadlock-ом, что делает использование таймаута абсолютно бесполезным. И лишь no_rec_version позволяет работать с таймаутом так, как от него ожидаешь. Получается, что READ CONSISTENCY с одной стороны, не имеет минусов no_rec_version, а с другой логично работает с таймаутом. Если это не так, поправьте... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 22:52 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Там мини-откат и повторение оператора внутри, как у оракула. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2022, 23:08 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ggreggory, - таймаут, как я его понимаю, нужен для того чтобы транзакция не висела бесконечно "в случае чего". Допустим, если инициировавший транзакцию 1 ушел на обед, то без таймаута транзакция 2 висела бы пока первый не вернулся с обеда. Так что про "бесполезность" таймаута не надо. - при конкурирующих апдейтах и коммите первой транзакции вторая ДОЛЖНА получить deadlock. Потому что обновляемая второй транзакцией запись "уже не та". Собственно, по правилам версионника у записи может существовать только ОДНА не-коммиттед версия. И апдейт из второй транзакции может пройти без дедлока только если первая завершилась роллбэком, т.е. отменила свои изменения. как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 10:37 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv - таймаут, как я его понимаю, нужен для того чтобы транзакция не висела бесконечно "в случае чего". Допустим, если инициировавший транзакцию 1 ушел на обед, то без таймаута транзакция 2 висела бы пока первый не вернулся с обеда. Так что про "бесполезность" таймаута не надо. У меня в 3-ке транзакция isc_tpb_lock_timeout=1 живет бесконечно долго (см.картинку). Всё-таки в названии параметра ключевым является слово lock . Т.е., как я понимаю, если запустили и никаких блокировок нет, то транзакция не завершается. А таймаут используется тогда, когда возникает конфликт. Я планировал использовать транзакции с таймаутом для устранения блокировок при обновлении хранимых агрегатов. Знаю и на форуме есть примеры, как можно обходить блокировки для решения этой задачи. Но в целом это громоздко. Лучше, если бы эту проблему решал сервер. kdv - при конкурирующих апдейтах и коммите первой транзакции вторая ДОЛЖНА получить deadlock. Потому что обновляемая второй транзакцией запись "уже не та". Собственно, по правилам версионника у записи может существовать только ОДНА не-коммиттед версия. И апдейт из второй транзакции может пройти без дедлока только если первая завершилась роллбэком, т.е. отменила свои изменения. Для Snapshot-а абсолютно согласен, но для Read Committed немного не логично (в 3-ке и более старых версиях, в 4-ке гуд!) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 13:32 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ggreggory В процессе изучения работы с тамаутом транзакций (isc_tpb_lock_timeout) обнаружил интересную особенность READ CONSISTENCY в случае обновления одной и той же записи в двух конкурирующих транзакциях. Пример. Транзакция 1 обновила запись, не завершилась. Транзакция 2 обновляет, встает в ожидание. Транзакция 1 делает COMMIT (успевает до времени таймаута) . После этого транзакция 2 продолжает работу. В 3-ке после коммита транзакции 1 транзакция 2 завершается с deadlock-ом, что делает использование таймаута абсолютно бесполезным. ggreggory И лишь no_rec_version позволяет работать с таймаутом так, как от него ожидаешь ggreggory Получается, что READ CONSISTENCY с одной стороны, не имеет минусов no_rec_version, а с другой логично работает с таймаутом. Как уже сказали выше - READ CONSISTENCY имеет специальный алгоритм для обработки конфликтов обновления. Если почитать документацию, то многое может стать более ясным. Если это сложно или там непонятно написано - задавай вопросы, будем уточнять. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 14:31 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ggreggory, странная логика. Код: plaintext 1. 2. 3.
Вот у нас было nowait и wait (бесконечный), а теперь wait на N секунд. Т.е. при блокировке wait через N секунд превращается (однократно) в nowait, выдает ошибку, и опять переключается в wait N. И всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 14:32 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv таймаут, как я его понимаю, нужен для того чтобы транзакция не висела бесконечно "в случае чего". Допустим, если инициировавший транзакцию 1 ушел на обед, то без таймаута транзакция 2 висела бы пока первый не вернулся с обеда. Так что про "бесполезность" таймаута не надо. Есть ограничение времени ожидания завершения конкурирующей тр-ции (lock_timeout) и это совсем другой таймаут. kdv при конкурирующих апдейтах и коммите первой транзакции вторая ДОЛЖНА получить deadlock. Потому что обновляемая второй транзакцией запись "уже не та". Собственно, по правилам версионника у записи может существовать только ОДНА не-коммиттед версия. И апдейт из второй транзакции может пройти без дедлока только если первая завершилась роллбэком, т.е. отменила свои изменения. Что и делает fb4 в режиме read committed read consistency - совершенно автоматически и прозрачно для приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 14:35 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvladНет никакого "таймаута тр-ции" в вышеизложенном понимании. я имел в виду конфликт конкурентного обновления в wait-транзакции. hvladЕсть ограничение времени ожидания завершения конкурирующей тр-ции (lock_timeout) и это совсем другой таймаут. про него мы тут и пишем. и ggreggory, и я. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 15:41 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
kdv, значит я тебя не так понял ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 15:53 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad kdv таймаут, как я его понимаю, нужен для того чтобы транзакция не висела бесконечно "в случае чего". Допустим, если инициировавший транзакцию 1 ушел на обед, то без таймаута транзакция 2 висела бы пока первый не вернулся с обеда. Так что про "бесполезность" таймаута не надо. Есть ограничение времени ожидания завершения конкурирующей тр-ции (lock_timeout) и это совсем другой таймаут. kdv при конкурирующих апдейтах и коммите первой транзакции вторая ДОЛЖНА получить deadlock. Потому что обновляемая второй транзакцией запись "уже не та". Собственно, по правилам версионника у записи может существовать только ОДНА не-коммиттед версия. И апдейт из второй транзакции может пройти без дедлока только если первая завершилась роллбэком, т.е. отменила свои изменения. Что и делает fb4 в режиме read committed read consistency - совершенно автоматически и прозрачно для приложения. Скажите мне ради бога что я всё неправильно понял и что вторая транзакция не перекроет обновление в первой автоматически. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 19:24 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка Скажите мне ради бога что я всё неправильно понял и что вторая транзакция не перекроет обновление в первой автоматически. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 19:29 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Старый плюшевый мишка Скажите мне ради бога что я всё неправильно понял и что вторая транзакция не перекроет обновление в первой автоматически. Баба Яга категорически против если решение о перекрытии принимает не пользователь, поглядевши - а что там изменилось. И речь не только об изменении одного поля двумя транзакциями. На принятие решения в общем случае влияют и другие поля. Да, есть случаи когда это не только допустимо, но и удобно. Но не меньше случаев и когда недопустимо. На фоне управления типом RC транзакций чохом через конфиг это поле граблей в стране не только мнэээ... нубов. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 20:33 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка Баба Яга категорически против если решение о перекрытии принимает не пользователь, поглядевши - а что там изменилось Если значения других полей важны - их указывают в where и проверяют rows affectted. PS Не нужно искать чёрную кошку там, где её нет. PPS Я всегда готов рассмотреть конкретные проблемные случаи и выяснить их реальную [не]допустимость. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 21:20 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Было бы полезно озвучить ожидания. Боюсь, они несколько не соответствуют реальности :) Ожидание - решить проблемы блокировок не напрягаясь. Как я уже писал выше - страдания происходят при использовании каких-либо хранимых агрегатов, как-то: текущая задолженность клиента, остаток товара на складе, оборот по кассе за январь и т.п. Если одновременно два пользователя отгрузят один и тот же товар, один получит сообщение о блокировке. Решение. Так как все обновления делаются в коротких пишущих транзакциях, которые успеваю сделать свою работу за 1-2 сек (я думаю у большинства так же), то можно поставить в параметрах пишущей транзакции таймаут 3 секунды и забыть о блокировках навсегда. Как я пока вижу из тестов, в 4-ке с READ CONSISTENCY это возможно. А в 3-ке такой финт не работает:
hvlad После оного дедлока вторая тр-ция обычно повторяет операцию, что включает в себя перечитывание свежих данных перед обновлением. Что и делает fb4 в режиме read committed read consistency - совершенно автоматически и прозрачно для приложения. Да-да! В 4-ке это как раз и работает как надо. А в 3-ке вместо повтора операции происходит отлуп. Старый плюшевый мишка Но не меньше случаев и когда недопустимо. Тогда используйте Snapshot (isc_tpb_concurrency) - он работает как вы хотите. Как в 3-ке, так и в 4-ке. А вот read committed стал работать логичнее. Мои доводы см.выше. Старый плюшевый мишка На фоне управления типом RC транзакций чохом через конфиг это поле граблей в стране не только мнэээ... нубов. Уже несколько раз писали тут, что на уровне коннекта старый вариант можно задать и работать как и прежде. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 21:47 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
hvlad Старый плюшевый мишка Баба Яга категорически против если решение о перекрытии принимает не пользователь, поглядевши - а что там изменилось Если значения других полей важны - их указывают в where и проверяют rows affectted. PS Не нужно искать чёрную кошку там, где её нет. PPS Я всегда готов рассмотреть конкретные проблемные случаи и выяснить их реальную [не]допустимость. Пользователь влияет на решение - актуальны его изменения после конфликта или нет. Когда речь о регистрации уже свершившегося факта - как говорится, нравится, не нравится, спи, моя красавица. Я тут как-то упоминал затяжное завершение много-много-позиционной складской операции. Если программировал гомосапиенс, то есть все изменения идут в приращениях, то применение для этого такой RC_RC вместо снапшота - это просто конфетка, снимающая серьёзный гемор. В руках же гомоэректуса - разрушительная сила. Когда же о планировании каких-то действий - бабушка надвое для всех гом. Скажем, резервирование товара на складе под планирующиеся отгрузки. Превышение количества резервов над имеющимся в наличии количеством - штука не так чтоб недопустимая, но нежелательная и требующая вдумчивого подхода. Скажем, отгрузка послезавтра, сегодня получается превышение. Но если человек знает, что завтра крест на пузе придёт ещё партия, то можно и рискнуть. Не каждый день фуры под Выборгом разбиваются. А если точно знает что не придёт, то утрётся или согласует с коллегой кому нужнее. Простейшее влияние другого поля - один формирует количество в отгрузке, другой меняет дату по объективным, не зависящим ни от одного ни от другого причинам. Правда, если он её изменит после формирования, то первый этого тоже не заметит или заметит поздно :) Ну, в общем-то, да, можно конечно по старинке вести все изменения в снапшотах и Read Commited как таковой пользовать для изменений в исключительных, хорошо продуманных случаях, тут вы с Григорием правы, но те же хранимые агрегаты если ведутся на лету, то триггерами в снапшотах, изменяющих "первичку". Короче, без переформатирования мозгов не обойтись, надо с этой мыселью переспать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 22:38 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
Старый плюшевый мишка Превышение количества резервов над имеющимся в наличии количеством - штука не так чтоб недопустимая, но нежелательная и требующая вдумчивого подхода. При READ CONSISTENCY если у вас выполняется не группа запросов, а один единственный, например, update или вызов процедуры, то он целиком будет как-бы в снапшоте, т.к. снимок создается на каждый статмент верхнего уровня. Всё что он порождает (все запросы внутри процедуры, все вызываемые ими триггеры) будут выполняться в этом снапшоте. При конфликтах рестартуется статмент самого верхнего уровня. Т.е. если у вас не верхнем уровне вызывается процедура, и процедура делает 100 updat-ов и на 100-ом updat-е встала, то после разблокировки предыдущие 99 откатятся и вся процедура выполнится заново. И логика не будет нарушена. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2022, 23:21 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
ggreggory Как я уже писал выше - страдания происходят при использовании каких-либо хранимых агрегатов ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 13:06 |
|
ANN Выпущен Firebird 4!
|
|||
---|---|---|---|
#18+
WildSery ggreggory Как я уже писал выше - страдания происходят при использовании каких-либо хранимых агрегатов Если вы про это , то в этих методиках тоже есть минусы. Да и хотелось бы, чтобы проблемы блокировок решались легко и без затей на уровне сервера, а не на уровне разработчика. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:42 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1559839]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
276ms |
get tp. blocked users: |
1ms |
others: | 245ms |
total: | 607ms |
0 / 0 |