powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ANN Выпущен Firebird 4!
371 сообщений из 371, показаны все 15 страниц
ANN Выпущен Firebird 4!
    #40074604
Фотография Alexey Kovyazin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выпущен 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!
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074631
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Kovyazin,

Большой Респект всей команде! Работаем с Firebird ежедневно, мажорные релизы приятно удивляют. Спустя 9 лет решили переводить проекты с 2.5 на тройку, хотя, быть может имеет смысл и на четверку уже?!
В общем, так держать! Удачи и вдохновения!
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074639
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Softologic,

Я бы на 4 прицеливался. Пока будете переводить, ещё и минорный релиз подоспеет, если что-то найдётся.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074641
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
Планируем с тройки перепрыгнуть на четверку.
Респект и уважуха всем создателям сие чуда!
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074643
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WildSery
Softologic,

Я бы на 4 прицеливался. Пока будете переводить, ещё и минорный релиз подоспеет, если что-то найдётся.

Да, но особенность проектов в том, что они собраны на купленном в далеком 2011-м FibPlus. Для тройки есть стабильный форк, для четверки еще нет. Так что по всей видимости, ждем апдейта от Dorin Marcocci.

На FireDac переделывать как то не хочется, плюс у нас Delphi Prо, а она не поддерживает Firedac для удаленых баз, только localhost, как известно.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074701
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Softologic
WildSery
Softologic,

Я бы на 4 прицеливался. Пока будете переводить, ещё и минорный релиз подоспеет, если что-то найдётся.

Да, но особенность проектов в том, что они собраны на купленном в далеком 2011-м FibPlus. Для тройки есть стабильный форк, для четверки еще нет. Так что по всей видимости, ждем апдейта от Dorin Marcocci.

На FireDac переделывать как то не хочется, плюс у нас Delphi Prо, а она не поддерживает Firedac для удаленых баз, только localhost, как известно.
Беда в том, что может понадобиться не только апдейт FibPlus, но и апдейт Delphi.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074704
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock
Softologic
пропущено...

Да, но особенность проектов в том, что они собраны на купленном в далеком 2011-м FibPlus. Для тройки есть стабильный форк, для четверки еще нет. Так что по всей видимости, ждем апдейта от Dorin Marcocci.

На FireDac переделывать как то не хочется, плюс у нас Delphi Prо, а она не поддерживает Firedac для удаленых баз, только localhost, как известно.
Беда в том, что может понадобиться не только апдейт FibPlus, но и апдейт Delphi.

Вот как... А это инфа 100% ? Или догадки? У меня последняя лицензия на 10.3.1. С тех пор апдейтов не покупаем.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074705
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock, Softologic,

на первое время сойдёт

Код: plaintext
DataTypeCompatibility = 3.0

Если конечно хочется реально задействовать новые типы данных и фичи типа Batch API библиотеку таки придётся дорабатывать
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074707
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock, Softologic,

на первое время сойдёт

Код: plaintext
DataTypeCompatibility = 3.0
Если конечно хочется реально задействовать новые типы данных и фичи типа Batch API библиотеку таки придётся дорабатывать
А для CURRENT_TIMESTAMP=LOCAL_TIMESTAMP есть подобная настройка на первое время? Или всё перелопачивать надо, отказываясь при этом от версий ниже 3.0, в котором есть LOCAL_TIMESTAMP?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074709
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockможет понадобиться не только апдейт FibPlus, но и апдейт Delphi.

Для этого в новых версиях Дельфи должна появиться поддержка int128 или decfloat, например,
а таковой на горизонте не видать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074712
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Можно ли привести пример триггера on connect который будет эквивалентен "DataTypeCompatibility = 3.0"? Если он вообще возможен
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074716
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычный триггер с нужной пачкой "SET BIND" внутри.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074720
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

на LOCALTIMESTAMP надо было перелопачивать ещё в 3.0.4 или 2.5.9.
Я уже давно это сделал, надо же следить за новостями.

Впрочем

Код: sql
1.
2.
3.
4.
5.
6.
7.
execute block
returns (t timestamp without time zone)
as
begin
  t = current_timestamp;
  suspend;
end



выдаёт правильное время
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074721
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Или всё перелопачивать надо, отказываясь при этом от версий ниже 3.0, в котором есть LOCAL_TIMESTAMP?
Насколько я помню, LOCALTIME[STAMP] портировали в 2.5.9 тоже
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074723
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений
Можно ли привести пример триггера on connect который будет эквивалентен "DataTypeCompatibility = 3.0"?
А в чём проблема указать DataTypeCompatibility в firebird.conf или в database.conf ?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074725
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Обычный триггер с нужной пачкой "SET BIND" внутри.


Я это понимаю, но такая пачка будет полным соответствием настройки в firebird.conf?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
create or alter trigger tr_ac_set_bind
on connect
as
begin
  set bind of time zone to legacy;
  set bind of int128 to legacy;
  set bind of decfloat to legacy;
end



Пока всех перевести на local_timestamp не просто, у всех разные версии fb3.0
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074728
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
А в чём проблема указать DataTypeCompatibility в firebird.conf или в database.conf ?

Строго говоря такой проблемы нет, но хотелось бы понимать
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074730
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений,

decfloat у тебя сам по себе не возникнет, пока его явно не укажешь в отличие от * time zone и int128
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074732
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгенийтакая пачка будет полным соответствием настройки в firebird.conf?

Вроде бы да. Там правила как-то мутненько прописаны, ковыряться лень.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074733
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.
тут вроде всё сказано
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074744
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я напомню
краткое руководство по миграции на 4 с 2.5 и 3.0
http://www.ibase.ru/files/firebird/fb4migrationshort.pdf
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074756
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
я напомню
краткое руководство по миграции на 4 с 2.5 и 3.0
http://www.ibase.ru/files/firebird/fb4migrationshort.pdf

Напомни, какой смысл в миграции при отсутствии клиентских библиотек, поддерживающих новые возможности.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074760
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

есть достаточно новых фич, не требующих новых клиентских библиотек.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074761
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
kdv
я напомню
краткое руководство по миграции на 4 с 2.5 и 3.0
http://www.ibase.ru/files/firebird/fb4migrationshort.pdf

Напомни, какой смысл в миграции при отсутствии клиентских библиотек, поддерживающих новые возможности.


рано или поздно появится. И скорее всего у java. net и python
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074762
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
ъъъъъ,

есть достаточно новых фич, не требующих новых клиентских библиотек.

Об этом я и спросил.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074765
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
на LOCALTIMESTAMP надо было перелопачивать ещё в 3.0.4 или 2.5.9.
Я уже давно это сделал

Ну, поздравляю, я - нет. У меня даже исходников всех нет (некоторые клменты сами что-то дописывают в своих одинэсах и прочем). И если говорить о 3.0 - их зоопарк, тысячи установок. Т.е., оказывается, везде где < 3.0.4 надо еще и ФБ обновлять :(

Симонов Денис
Впрочем

Код: sql
1.
2.
3.
4.
5.
6.
7.
execute block
returns (t timestamp without time zone)
as
begin
  t = current_timestamp;
  suspend;
end




выдаёт правильное время


Это не поможет. В основном CURRENT_TIMESTAMP используется в селектах (в условиях), инсертах, апдейтах... Если поле будет с доменом с "without time zone" - оно правильно сконвертит? Впрочем, всё равно всё переделывать, даже если да.

hvlad
YuRock
Или всё перелопачивать надо, отказываясь при этом от версий ниже 3.0, в котором есть LOCAL_TIMESTAMP?
Насколько я помню, LOCALTIME[STAMP] портировали в 2.5.9 тоже
У меня нет 2.5 (я на него не переходил), только 2.1 и 3.0.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074767
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
тут вроде всё сказаноА, так DataTypeCompatibility убирает TIME ZONE и CURRENT_TIMESTAMP становится равным LOCAL_TIMESTAMP?
Если да - то отлично.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074800
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

DataTypeCompatibility влияет только при передачи данных на клиента. В режиме совместимости тип трансформируется в тип без часового пояса.

Внутри сервера чуток иначе. DataTypeCompatibility там не играет рояли.
Если я правильно понял то при сравнении without с with, without приводится к типу с часовым поясом. А при присваивании конвертируется к типу в левой части выражения.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074810
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
DataTypeCompatibility влияет только при передачи данных на клиента. В режиме совместимости тип трансформируется в тип без часового пояса.

Внутри сервера чуток иначе. DataTypeCompatibility там не играет рояли.
Ну вот. Значит, в итоге DataTypeCompatibility только каши добавит

Не говоря уж о том, что если есть желание использовать на клиенте (не у меня пока, но вообще) decfloat, но нет - таймзоны.

Очень нужна настройка сервера, отключающая таймзоны полностью.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074815
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если кто-то невнимательно читал RN, то четвёрка умеет "хостить" движок тройки.
Т.е. на одном экземпляре сервера можно продолжать обслуживать базы тройки и экспериментировать с базами четвёрки.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074817
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Если кто-то невнимательно читал RN, то четвёрка умеет "хостить" движок тройки.
Т.е. на одном экземпляре сервера можно продолжать обслуживать базы тройки и экспериментировать с базами четвёрки.
Это не поможет. У меня одна база при тысячах установок.
1. Т.е. мне надо установить везде 4-ку, установить параметр "Использовать 4-ку как 3-ку для этой базы";
2. Перелопатить свои программы и эту базу (заменить везде CURRENT на LOCAL), обновить везде программу и базу;
3. Установить везде параметр "Использовать 4-ку как 4-ку".

Тут не двойная работа даже, а тройная.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074819
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

не надо ничего отключать. Я же сказал типы внутри движка конвертируются при сравнении и присваивании.

Сравнивать на равенство с CURRENT_TIMESTAMP / LOCALTIMESTAMP вряд ли потребуется.

А вот всякие

Код: sql
1.
2.
3.
select *
from t
where bydate > current_timestamp



могут вырубить использование индекса по bydate, если bydate без часового пояса. Так что на localtimestamp в таких местах лучше переписать.

При присваивании вообще нет никаких проблем
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074832
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
не надо ничего отключать. Я же сказал типы внутри движка конвертируются при сравнении и присваивании.

Сравнивать на равенство с CURRENT_TIMESTAMP / LOCALTIMESTAMP вряд ли потребуется.

Не понял, к чему это


Симонов Денис
А вот всякие

Код: sql
1.
2.
3.
select *
from t
where bydate > current_timestamp




могут вырубить использование индекса по bydate, если bydate без часового пояса

О ужас :(

Симонов Денис
При присваивании вообще нет никаких проблем

Кроме главной: на глаз неизвестно, что там присвоится. И сколько и где таких присвоений.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074838
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

с чего бы это неизвестно. Время преобразуется из часового пояса сеанса в локальное.
Если вам надо обязательно в часовом поясе сервера, то в onconnect триггере это легко можно установить.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074852
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Это не поможет. У меня одна база при тысячах установок.
Так речь и не о промышленной эксплуатации, а про разработку и тестирование.

P.S.
Нет там "параметра". Есть настройки в firebird.conf и databases.conf
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074857
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

только смысла в этом мало. БД с движком от тройки это практически та же самая тройка. Новых возможностей никаких.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074859
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
01.06.2021 19:01, Симонов Денис пишет:
> БД с движком от тройки это практически та же самая тройка.
> Новых возможностей никаких.

а нафига вообще задумка сия?
в чем сокрыт сакральный смысл этих перегружаемых энжайнов?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074860
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

видимо чтобы на одном инстансе выполнять
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074864
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
в onconnect триггере это легко можно установить.
Не так уж легко.
У меня единый скрипт для создания базы (и скрипты обновлений), для разных версий ФБ. И я хочу, чтобы так и оставалось впредь.
Если сделать костыль с EXECUTE STATEMENT в зависимости от версии ФБ, то встает вопрос, как заставить не забыть выполнить этот апдейт того, кто решит обновить версию сервера до 4, после обновления. Делать проверку наличия этого триггера во всех программах при запуске - не хочется.

Можно, конечно, попробовать сам триггер сделать везде, а уже в нём делать костыль с EXECUTE STATEMENT в зависимости от версии ФБ... Но не нравится мне такое...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074926
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
только смысла в этом мало. БД с движком от тройки это практически та же самая тройка. Новых возможностей никаких.
Согласись, что гораздо удобнее обновить сервер, продолжать хостить тройку и плавно мигрировать базы на четвёрку, чем делать два разных экземляра и переносить всё чохом.
Да, для одной базы на сервере смысла всё равно мало, но если их несколько или даже несколько десятков - смысл появляется.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074928
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
У меня единый скрипт для создания базы (и скрипты обновлений), для разных версий ФБ. И я хочу, чтобы так и оставалось впредь.
Какой движок обслуживает конкретную базу - разруливается на уровне псевдонима этой базы.
Т.е. можно не торопясь обновлять сервера на четвёрку, продолжая работать с базами тройки и спокойно решать вопросы миграции.
Да, процесс не быстрый, но, вроде как, никто не собирается закрывать (собственный) бизнес? Наверное, наоборот - хочется, чтобы дело продолжало приносить прибыль ещё долгие годы?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074958
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь из дельфистов планирует мигрировать на FB4.0?
Расскажите, пожалуйста, каким образом вы собираетесь это сделать и ради каких новых возможностей.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074970
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто нибудь классик в четверке тестировал с большим количеством соединений?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40074973
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

я планирую. Новые типы мне пока до лампочки.

Из того что точно буду использовать:
- асинхронную логическую репликацию
- тайм-аут простоя соединения. Чтобы вырубать тех кто прогу запущенной на ночь оставляет, а сам не работает
- LATERAL
- улучшения в оконных функциях (фреймы, именованные окна)
- новые security фичи (роли по умолчанию, SQL SECURITY DEFINER)

А ещё промежуточная сборка мусора, сама по себе очень полезная и нужная.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075010
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ё-МОЁ!!!!
Я уж надежду потерял, а тут на тебе - релиз!... Был бы рядом - обнял.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075137
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А клиент от трёшки пойдёт? Или надо переставлять? Пока у клиентов (пользователей) двухзвенка. Пора готовить.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075154
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

подойдёт, но желательно чтобы версия была не меньше 3.0.4.
Ну и при условии DataTypeCompatibility = 3.0
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075363
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А возможность сменить тип у обычного поля на GENERATED ALWAYS AS IDENTITY или GENERATED BY DEFAULT AS IDENTITY когда-нибудь подъедет?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075385
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
KreatorXXI,

подойдёт, но желательно чтобы версия была не меньше 3.0.4.
Ну и при условии DataTypeCompatibility = 3.0

"Не меньше 3.0.4" не гарантирую. А в чём проблема? Версию сервера меняют, а вот клиента вряд ли переставляют. Мы с трудом добились, что с двойки ушли. И то не факт.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075399
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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."
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075412
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

3.0.4 потому что именно там для AuthServer Srp заменили на Srp256, который сейчас юзается по умолчанию
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075588
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Понял.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075621
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov
Какой движок обслуживает конкретную базу - разруливается на уровне псевдонима этой базы.


Проще по-старинке на разные IP посадить. Вот если бы переключатель работал по версии ODS - была бы польза.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075625
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggoryВот если бы переключатель работал по версии ODS - была бы польза.

Так он вроде как и работает. Просто перечисли оба движка по порядку в списке провайдеров.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075655
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

ggreggoryВот если бы переключатель работал по версии ODS - была бы польза.

Так он вроде как и работает. Просто перечисли оба движка по порядку в списке провайдеров.


Работает! Круто!!!
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075875
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ggreggory
Dimitry Sibiryakov

пропущено...

Так он вроде как и работает. Просто перечисли оба движка по порядку в списке провайдеров.


Работает! Круто!!!


Ради интереса попробовал в обратку - подключиться 3-ей версией используя движок 4-ой. Так ошибку генерит:

Код: plaintext
1.
2.
3.
4.
	Authentication error
	Error loading plugin Engine13
	Module C:\Program Files\Firebird\Firebird_3_0\plugins/Engine13 exists but can not be loaded
	Не найдена указанная процедура. 
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40075993
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory,

что удивляет? Тройка не рассчитана на работу с другими движками.
То есть оно конечно задумывалось так чтобы работало, но когда стали пробовать в 4.0 Beta использовать engine12, оказалось что не может. И там кое-что фиксили, не могу сказать перенесли этот фикс в 3.0 или нет.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40076065
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
ggreggory,

что удивляет?


Не удивляет. Наоборот, было бы удивительно, если бы ещё и ТАК работало.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40076082
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисоно конечно задумывалось так чтобы работало

Вообще не задумывалось. Когда делали плагинную архитектуру, собственно движок в плагин
оборачивали абы как, лишь бы работало. Поэтому он, в частности, использует firebird.conf
вместо engineXX.conf и способен конфликтовать со своим собратом по любому глобальному
ресурсу. Проблемы неспособности работы движка в виде библиотеки обносили костылями класса
"обязательный вызов fb_shutdown" и "метод публичного API для проверки не идёт ли
завершение работы".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40117941
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Kovyazin
новый подход позволяет решить извечную проблему нерадивых программистов, которые оставляют долгоживущие транзакции, через промежуточную сборку мусора. Firebird 4 решает проблему согласованного чтения на уровне запроса в транзакциях Read Committed Read Consistency, промежуточная сборка мусора позволяет дополнительно сокращать длины цепочек версий при наличии долгих активных транзакций.

Тест показывает, что массовые апдейты действительно больше не "пучат" файл базы при наличии параллельных активных транзакциях. Но вставки с удалениями - "пучат", при наличии параллельной активной Read Committed Read Consistency, даже ReadOnly.
Будет смешно, при перетаскивании старых приложений на 4.0.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40117962
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Read Committed Read Consistency


Джентльмены, я чувствую себя безнадёжно отставшим от жизни. Эта последовательность слов напоминает мне только анек про квадратный трёхчлен :(
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40117964
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

это просто стабильность результата на уровне sql-оператора. сама транзакция RC, а селекты и всякое как бы в микро-снапшотах выполняются. Так изничтожаются старые и нынешние (до 4) приколы с "нестабильностью select", например.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40117976
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
селекты и всякое как бы в микро-снапшотах выполняются

ключевое слово я выделил :-) Ну и тынц . Есть и в картинках ;-)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118005
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

ну ё моё. Я же говорил.

Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать.
Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи.
Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118007
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
ъъъъъ,

ну ё моё. Я же говорил.

Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать.
Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи.
Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы...

У вас можно сколько угодно, а компоненты не умеют сохранять датасеты при закрытой транзакции.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118018
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal,

и что? Кто говорил про одну транзакцию?
Я говорю открыл окошко с гридом стартовал новую RO RC транзакцию. Закрыл окошко с гридом - транзакцию коммитнул. Это лучше чем одна транзакция на все гриды.

И кстати полностью отфетченный курсор не удерживает сборку мусора. Вот селект который выбирает лям записей, а грид отображает из них 300 записей да.

Я когда на 4.0 перешёл специально сделал тайм-аут простоя соединения. А то есть такие прогу не вырубают, откроют и она простаивает 12 часов. Не работаешь 4 часа значит всё соединение рвём. Зато нету никаких транзакций с недофетченными курсорами висящими по три дня.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118024
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи.

когнитивный диссонанс получается. Противоречит всему, ранее прочтенному мной (в т.ч. и у Энн, не считая статей то ли у kdv, то ли у Бузаджи) :(
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118033
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

потому что раньше то что было написано было правдой. В 4.0 нет. Я помню как меня ДС критиковал за то что я в своих статьях писал про вечную RO RC транзакцию на всю прикладуху. И я потом специально делал правку где такое больше не рекомендуется.

Ещё раз повторю. Мантра про одну RO RC транзакцию больше не правда!!! Не делайте так.

Такое ощущение что никто RN не читает. Переход на новую версию ФБ это не просто b/r.
Я подготовку начал задолго до того как релиз вышел.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118036
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

я щас пишу проект на 3.0.7. Чую, первый релиз будет, когда пятерка из беты выйдет :)

Если уже сейчас на этапе разработки на тройке я сделаю несколько RO RC, это не будет катастрофой?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118040
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
Я говорю открыл окошко с гридом стартовал новую RO RC транзакцию. Закрыл окошко с гридом - транзакцию коммитнул. Это лучше чем одна транзакция на все гриды.
Какая разница - одна на все, или одна на окно с гридом, открытое двое суток? Это тот же подход, абсолютно.

Симонов Денис
И кстати полностью отфетченный курсор не удерживает сборку мусора. Вот селект который выбирает лям записей, а грид отображает из них 300 записей да.
Я надеюсь, только свою цепочку версий записей он удерживает, а не все версии записей всех таблиц?

И, кстати, это не тот случай. Там простой апдейт, нет фетча.
22406079
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118043
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
Ещё раз повторю. Мантра про одну RO RC транзакцию больше не правда!!! Не делайте так.
Жаль, на самом деле. Это была реально полезная фича для оптимизации - не нужно было лишний запрос на сервер гонять в тех же кэшах соединений, к примеру. Это серьезная оптимизация (была) иногда.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118044
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокЕсли уже сейчас на этапе разработки на тройке я сделаю несколько RO RC, это не будет катастрофой?

не будет

YuRockКакая разница - одна на все, или одна на окно с гридом, открытое двое суток? Это тот же подход, абсолютно.

В 4.0 это не одно и то же. Из тех курсоров что полностью отфетчены мусор может собираться. И да теперь мусор удерживается не для всех транзакций после самой активной, а только для активной транзакции SNAPSHOT или для недофетченного курсора READ COMMITTED

YuRockЯ надеюсь, только свою цепочку версий записей он удерживает, а не все версии записей всех таблиц?

конечно только свои. Это одно из самых важных изменений 4.0. Раньше было не так.

Вы вообще Release Notes читали? Ну если лень то 22406148 хотя бы гляньте
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118048
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Главная проблема RORC транзакций была - временные блобы.
Прекрасно было бы ее решить в новом релизе, чтоб в RO генерировать не блоб, а максимально необходимый VARCHAR, и если превышение - давать ошибку (такого не бывает на адекватных запросах с LIST).
Т.е. неявно кастить.
Это решило бы все проблемы.
Запросы, правда, вне транзакций живут... Ну, вообще, это было бы полезно для любых транзакций, я не понимаю, зачем LIST на 8000 результатов.
Можно было бы для любых транзакций пробовать делать неявный каст, и делать, если влезает (99.99999999% случаев).
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118049
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

лично меня устраивает текущее поведение. Для недовольных есть ReadConsistency в конфиге
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118052
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
Для недовольных есть ReadConsistency в конфиге
Для конкретной транзакции можно отключить?
Сорри, опять не пошел читать.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118054
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

вот как раз LIST проблем больших не создавал. Он генерирует ровно один временный BLOB. А вот конкатенация ручками ещё как создавала. Влад кое что придумал для 5.0 (BLOB_APPEND) но пока это не принято. У Адриано свой подход который посложней (пакет RDB$BLOB_UTILS) тоже пока не вошло
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118059
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
И кстати полностью отфетченный курсор не удерживает сборку мусора. Вот селект который выбирает лям записей, а грид отображает из них 300 записей да.

Это же полный п....ц, применительно, напроимер к старым приложениям на дельфи с ibx/fib+, разве нет?
...
И, тесты показывают, что стартовавшая RC RO R-C транзакция, аообще без открытых курсоров, просто стартовавшая - удерживает версии, порожденные, например, в другой транзакции вставкой и удалением.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118063
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Симонов Денис
Для недовольных есть ReadConsistency в конфиге
Для конкретной транзакции можно отключить?
Сорри, опять не пошел читать.


для всех. Просто по умолчанию любая транзакция Read Commited является Read Consistency. Если установить ReadConsistency = 0, то надо явно задать tpbReadConsistency

Про не пошёл читать ну.... В 4.0 появились две главные фишки логическая репликация и промежуточная сборка мусора + Read Committed Read Consistency. Остальное мелочи. Это лично моё мнение
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118066
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъИ, тесты показывают, что стартовавшая RC RO R-C транзакция, аообще без открытых курсоров, просто стартовавшая - удерживает версии, порожденные, например, в другой транзакции вставкой и удалением.

ошибаешься. Сама по себе RC транзакция теперь вообще не удерживает сборку мусора. Причём любая не только Read Only. А вот недофетченные курсоры да. Я это тестировал кстати.

Ты как это проверял? Надеюсь не смотря на номер активной транзакции. Потому что он то как раз застрянет. Надо в gstat смотреть на длину цепочки версий
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118068
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

и без тестов было известно что в 4.0 RO RC теряет смысл.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118071
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock
пропущено...
Для конкретной транзакции можно отключить?
Сорри, опять не пошел читать.


для всех. Просто по умолчанию любая транзакция Read Commited является Read Consistency. Если установить ReadConsistency = 0, то надо явно задать tpbReadConsistency

Про не пошёл читать ну.... В 4.0 появились две главные фишки логическая репликация и промежуточная сборка мусора + Read Committed Read Consistency. Остальное мелочи. Это лично моё мнение
Плохо, что я могу сказать.
Впрочем, я на 4-ку не смогу перейти не только из-за этого. Достаточно уже того, что нормально таймзоны отключить невозможно - на клиента запрос SELECT CURRENT_TIMESTAMP будет возвращать неизвестно, что, как не настраивай, а не GetLocalTime сервера, как раньше.
Будет как с BIGINT для 1-го диалекта, я уже понял.

В общем, из-за этих "мелочей", переход на 4-ку невозможен (только для совершенно новых проектов, коих в моей жизни вряд ли предвидится).
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118074
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

издеваешься? Ты вообще хоть что-то читал в RN? Про параметр DataTypeCompatibility в курсе?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118076
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock,

издеваешься? Ты вообще хоть что-то читал в RN? Про параметр DataTypeCompatibility в курсе?
В курсе, он не поможет.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118078
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
ъъъъъИ, тесты показывают, что стартовавшая RC RO R-C транзакция, аообще без открытых курсоров, просто стартовавшая - удерживает версии, порожденные, например, в другой транзакции вставкой и удалением.


ошибаешься. Сама по себе RC транзакция теперь вообще не удерживает сборку мусора. Причём любая не только Read Only. А вот недофетченные курсоры да. Я это тестировал кстати.

Ты как это проверял? Надеюсь не смотря на номер активной транзакции. Потому что он то как раз застрянет. Надо в gstat смотреть на длину цепочки версий
Например:
В цикле:
Код: sql
1.
2.
3.
4.
старт транзакции
delete from tbl;
insert into tbl values (...)
commit


Если параллельно стартовать rc ro r-c транзакцию - база начинает распухать.
Ecли в кофиге отключить ReadConsistency - то не распухает.
Никакие gstat я не запускал, я смотрел на размер файла базы:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
procedure TForm1.ShowDBSize;
var
  info: TWin32FileAttributeData;
begin
  if not GetFileAttributesEx(PChar(fDBName), GetFileExInfoStandard, @info) then
    lblDBSize.Caption := '?'
  else
    lblDBSize.Caption := IntToStr(Int64(info.nFileSizeLow)
      or Int64(info.nFileSizeHigh shl 32));

end;
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118082
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

потому что некоторые не готовят свои приложения к новой версии.

Блин LOCALTIMESTAMP появился ещё в 3.0.4 и 2.5.7. Время подкрутить прикладуху было дофига
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118083
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Симонов Денис
ъъъъъ,

ну ё моё. Я же говорил.

Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать.
Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи.
Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы...

У вас можно сколько угодно, а компоненты не умеют сохранять датасеты при закрытой транзакции.
это смотря какие компоненты.
один мягко говоря, организм, захреначил такое поведение в изначальный FIB, а все последующие компонентостроители посчитали что раз сам отЭц (Deatz) сделал именно так, то это есть божественный канон, и менять оное - идти супротив божественного.

зы: у нас это настраивается.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118084
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock,

потому что некоторые не готовят свои приложения к новой версии.

Блин LOCALTIMESTAMP появился ещё в 3.0.4 и 2.5.7. Время подкрутить прикладуху было дофига
Смешно. Я еще 2.1 поддерживаю.
А уж разнообразие 3.0 (до 3.0.5, оно там появилось) вообще впечатляет.
Ну и, естественно, даже если б я дождался перехода всех на 3.0.8, толку не было бы, ведь всех исходников у меня нет и быть неможет. Многие дописывают свои экспорты/импорты.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118098
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockПлохо, что я могу сказать.

Влад на этом месте сказал бы, что "иногда лучше жевать".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118104
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
Fr0sT-Brutal,

и что? Кто говорил про одну транзакцию?
Я говорю открыл окошко с гридом стартовал новую RO RC транзакцию. Закрыл окошко с гридом - транзакцию коммитнул. Это лучше чем одна транзакция на все гриды.

И кстати полностью отфетченный курсор не удерживает сборку мусора. Вот селект который выбирает лям записей, а грид отображает из них 300 записей да.

Я когда на 4.0 перешёл специально сделал тайм-аут простоя соединения. А то есть такие прогу не вырубают, откроют и она простаивает 12 часов. Не работаешь 4 часа значит всё соединение рвём. Зато нету никаких транзакций с недофетченными курсорами висящими по три дня.

Надысь тут, рядом, через губу говорили про компоненты, которые автоматически стартовали и завершали транзакции и всё на клиента фетчили. А теперь не только транзакции, не только полный фетчинг, но и коннект рвать рекомендуем, во избежании... прогресс не стоит на месте...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118106
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

сдается мне, тест кривой. Во-первых, какая архитектура сервера? У SS сборка мусора фоновая, у SC/CS - явная.
Дальше, кто будет собирать мусор от delete, если ничего кроме delete/insert в таблице не происходит?
Потом, если раньше RO RC это типа "несуществующая транзакция", поэтому она ни на что не влияла, то в 4.0 несуществующих нет. Однако мусор в версиях в 4.0 собирается совсем не так, как раньше. И тут тогда возникает вопрос "очередности транзакций" в тесте.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118107
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъА теперь не только транзакции, не только полный фетчинг, но и коннект рвать
рекомендуем, во избежании...

Ты "я сделал так" от "всем рекомендую" совсем не отличаешь? Будешь за
рекомендации считать каждый кривой костыль с которым смиряются топикстартеры
класса хлопотуна и натальи?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118108
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
А теперь не только транзакции, не только полный фетчинг, но и коннект рвать рекомендуем, во избежании... прогресс не стоит на месте...


Мы рвем коннекты уже больше 20 лет. Если ползатель не проявляет активности.

Если это служба - то через 10 000 запросов переподключаемся.

Всплывают заказчики, которые лет по 10 не заморачивались свипами, сборками мусора и пр.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118112
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
тест кривой

ОК.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118120
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Достаточно уже того, что нормально таймзоны отключить невозможно - на клиента запрос SELECT CURRENT_TIMESTAMP будет возвращать неизвестно, что, как не настраивай, а не GetLocalTime сервера, как раньше.
#
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
# Default session or client time zone.
#
# If empty, the default is the OS time zone.
# When set in the server, it defines the default session time zone for attachments.
# When set in the client, it defines the default time zone used with client-side API functions and
# the default value of isc_dpb_session_time_zone.
#
# Type: string
#
#DefaultTimeZone =

Ы ?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118124
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
YuRock
Достаточно уже того, что нормально таймзоны отключить невозможно - на клиента запрос SELECT CURRENT_TIMESTAMP будет возвращать неизвестно, что, как не настраивай, а не GetLocalTime сервера, как раньше.
#
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
# Default session or client time zone.
#
# If empty, the default is the OS time zone.
# When set in the server, it defines the default session time zone for attachments.
# When set in the client, it defines the default time zone used with client-side API functions and
# the default value of isc_dpb_session_time_zone.
#
# Type: string
#
#DefaultTimeZone =
Ы ?
Сейчас важный вопрос, ответ на который я не смог найти в гугле (находил только противоречащие друг другу варианты).

Если эту настройку не ставить на клиенте, то сервер будет присылать своё локальное время, или по настройкам ОС клиента?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118126
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Сейчас важный вопрос, ответ на который я не смог найти в гугле
А запустить сервер в виде приложения в одном сеансе (одного пользователя) со своим часовым поясом, а клиента в другом сеансе (другого пользователя) с другим часовым поясом и практически проверить?

P.S.
По логике: если клиент не прислал (свой) часовой пояс и, если серверу часовой пояс тоже не задан, то какой у сервера остаётся выбор?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118130
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
если клиент не прислал (свой) часовой пояс
А как же цитата из документации
# If empty, the default is the OS time zone.
?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118139
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Если эту настройку не ставить на клиенте, то сервер будет присылать своё локальное время, или по настройкам ОС клиента?
Если клиент сам не отправляет isc_dpb_session_time_zone при коннекте, то сервер понятия не имеет о локальном времени клиента.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118142
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
ъъъъъ,

сдается мне, тест кривой. Во-первых, какая архитектура сервера? У SS сборка мусора фоновая, у SC/CS - явная.


В SS она по умолчанию комбинированная.

kdvДальше, кто будет собирать мусор от delete, если ничего кроме delete/insert в таблице не происходит?


по идее delete и должен был собрать
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118143
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
YuRock
Если эту настройку не ставить на клиенте, то сервер будет присылать своё локальное время, или по настройкам ОС клиента?
Если клиент сам не отправляет isc_dpb_session_time_zone при коннекте, то сервер понятия не имеет о локальном времени клиента.
Спасибо.
Ну тогда да, нормально.
Желательно об этом было бы еще написать и здесь 22406364 в комментарии к параметру в конфе, а то там выглядит так, что этот параметр одинаково работает и для сервера, и для клиента.

Так, одну неразрешимую проблему вроде решили :), осталось научиться делать НЕ_ReadConsistency транзакции при настройках в конфе по умолчанию :)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118144
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
  xAtt := IBDatabase1.Attachment;
  xTra_1 := xAtt.StartTransaction([isc_tpb_write, isc_tpb_read_committed],taCommit);

  xInsert := xAtt.Prepare(xTra_1, 'insert into t(id, name) values(?, ?)');
  xDelete := xAtt.Prepare(xTra_1, 'delete from t');
  //xTra_1.Commit;

  for i:=0 to 100000 do
  begin
    xTra_2 := xAtt.StartTransaction([isc_tpb_write, isc_tpb_read_committed],taCommit);
    xDelete.Execute(xTra_2);
    xTra_2.Commit;

    xTra_2 := xAtt.StartTransaction([isc_tpb_write, isc_tpb_read_committed],taCommit);
    xInsert.SQLParams[0].AsInteger := i;
    xInsert.SQLParams[1].AsInteger  := i;
    xInsert.Execute(xTra_2);
    xTra_2.Commit;

    if (i mod 100 = 0) then
    begin
      Memo1.Lines.add(i.ToString);
      Application.ProcessMessages;
    end;


  end;

  xTra_1.Commit;  



пока приложение работало запускал получение статистики по таблицы и длина цепочки версий всё время увеличивалась
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118146
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисдлина цепочки версий всё время увеличивалась

Уверен? Приведённый код не создаёт цепочку версий. Он создаёт кучу записей с
ровно двумя версиями у каждой, которые никто не собирает в результате отсутствия
чтения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118147
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ишь, какие круги по воде-то пошли... Я-то думал - все давно всё знают и просто похихикают над старцем, понимающем по отдельности слова 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 минут. И это я ещё не центровые запросы туда вставил, а засасывал справочники и собственно данные по отдельности и джойнил на клиенте, локейтами. На данные уходило минуты полторы, остальное - строковые литералы. Пришлось их таки перевести на репликацию. Да и сейчас - в запросах для клиента директора фабрики козлов жёстко зашиты ограничения по дате, на полгода вроде, чтоб старые данные не тащить десятками минут и у ноута его из щелей байты не посыпались :)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118148
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

стоп. DELETE делает чтение, там же WHERE нет. Он должен был всё прочитать
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118149
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Это не мой тест, а ъъъъъ.

А по поводу Consistency - блин, ну ничего ж сложного нет добавить константу no_read_consistency, по аналогии с recversion/norecversion.

У меня тысячи установок FB. Менять/контролировать конфы везде - это практически нереально.
Гораздо проще в одном месте в своей программе, где я транзакции создаю по типам, которые мне нужны, необходимые мне константы жёстко прописать и не зависеть от конфигов.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118150
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспо идее delete и должен был собрать
как это? при delete остается 1 старая версия и 1 delete stub. Кто их будет убирать?
При update все гораздо проще, он читает и убирает. А delete конкретной записи - это финальная операция. Второй раз delete не сделать.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118153
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисDELETE делает чтение, там же WHERE нет.

Теоретически да. Возможно, обрамляющая транзакция Read Committed портит всю
малину. Поменяй на Snapshot.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118155
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Симонов Дениспо идее delete и должен был собрать

как это? при delete остается 1 старая версия и 1 delete stub. Кто их будет убирать?
При update все гораздо проще, он читает и убирает. А delete конкретной записи - это финальная операция. Второй раз delete не сделать.

а ты повнимательней посмотри. Там DELETE перевыполняется 100500 раз. Да первый удалит предыдущую версию, но когда следующий запустится он уже прочитает delete stub от предыдущего в этот момент по идее должна сработать сборка мусора
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118156
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
не заметил что промежуточная сборка мусора работает
В ситуации insert + delete нет промежуточных версий и цепочки версий и так не могут быть длиннее 2.

В твоём примере delete не собирает мусор, т.к. tra1 удерживает OST и блокирует традиционную сборку мусора, а промежуточная тут не применима.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118157
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

хах. Спасибо, вот теперь понял в чём дело.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118158
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

не надо паники :) Всё может работать как и раньше.

Read Consistency установлен в 1 по умолчанию для того, чтобы новые юзеры сразу работали правильно.
Предполагается, что старые юзеры в состоянии проверить свои приложения и изменить пар-р в конфиге.
Мы многого от них ждём ?

PS исходный патч Николая не имел этой возможности и мне пришлось с ним долго спорить, дабы это добавить.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118161
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Предполагается, что старые юзеры в состоянии проверить свои приложения и изменить пар-р в конфиге.
Мы многого от них ждём ?
При чем тут проверить приложения. Приложения-то изменить можно было бы, если б в одном месте (а именно - добавить параметр в транзакцию).
А вот конфиги править везде - да, многого ждете
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118163
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
А по поводу Consistency - блин, ну ничего ж сложного нет добавить константу no_read_consistency
Это маразм.

YuRock
У меня тысячи установок FB. Менять/контролировать конфы везде - это практически нереально.
Гораздо проще в одном месте в своей программе, где я транзакции создаю по типам, которые мне нужны, необходимые мне константы жёстко прописать и не зависеть от конфигов.
Таки научись читать RN - с isc_dpb_config ты можешь задать и ReadConsistency = 0 и много чего другого для своих legacy приложений.

Или можно при запуске программы стартовать RC RV тр-цию и проверить её реальный тип. Не совпало - ругайся и проси изменить конфиг.

Вариантов много. Сидеть на старье и ворчать на всё новое - тоже вариант, но других не надо заставлять.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118164
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
При чем тут проверить приложения.

притом, чтобы панику не поднимать в отсутствие объективных причин
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118166
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

лично моё мнение. Конфигурировать Firebird надо всегда. Параметры по умолчанию практически никогда не подходят.
Только не говори, что ты размер страничного кеша дефолтным оставляешь. Это только для совсем мизерных баз так можно. Но для них весь плач про сборку мусора не актуален
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118169
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисно когда следующий запустится он уже прочитает delete stub от предыдущего
это если кто-то вздумает повторно удалять одни и те же записи. Да, индекс видит все версии, по индексу прочитается, и всё будет ок. А вот если сегодня мы удаляем только за сегодня, а завтра - только за завтра? Никаких повторных удалений или попаданий в ключи не будет. И весь этот мусор так и будет валяться, до тех пор пока sweep не запустится (автоматом или вручную).
Опять же, чтобы быть на 100% уверенным, надо сделать тест :-) Но правильный тест :-)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118170
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Старый плюшевый мишка,

не надо паники :) Всё может работать как и раньше.

Read Consistency установлен в 1 по умолчанию для того, чтобы новые юзеры сразу работали правильно.
Предполагается, что старые юзеры в состоянии проверить свои приложения и изменить пар-р в конфиге.
Мы многого от них ждём ?

PS исходный патч Николая не имел этой возможности и мне пришлось с ним долго спорить, дабы это добавить.


Ты маладэц, слюшай! Я эту портянку начал набирать до постов про конфиг, ближе к концу электрик ток украл (у нас в подъезде счётчики меняют), пришлось с квадратным матом колотить второй раз, естественно, новое не читая. Единственно что смущает - такие опции в конфиге рано или поздно становятся deprecated. Меня, впрочем, это колыхать уже не должно, честно говоря, даже уже не колышет, я как Верещагин, за державу :)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118171
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
с isc_dpb_config ты можешь задать и ReadConsistency = 0
И на тройке не будет ругаться?
Ну тогда ок.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118173
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

да я то разобрался в чём дело. Просто цепочка версий всегда равна 2 в данном случае промежуточную сборку мусора не возможно сделать.

Собственно говоря сама идея грохать записи и тут же их добавлять реального смысла не имеет. Для таких случаев есть GTT
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118175
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock,

лично моё мнение. Конфигурировать Firebird надо всегда. Параметры по умолчанию практически никогда не подходят.
Только не говори, что ты размер страничного кеша дефолтным оставляешь. Это только для совсем мизерных баз так можно. Но для них весь плач про сборку мусора не актуален

99% моих баз - мизерные. Их таких несколько тысяч, все кроме центральных, которых только десятки. И да, для мизерных конфиги - дефолтные.
Но вопрос сборки мусора для них - очень актуален. Любая база, даже мизерная, стать колом вполне способна, и обязательно всегда делает это, если оставлять длинную пишущую транзакцию.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118177
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockЛюбая база, даже мизерная, стать колом вполне способна, и обязательно всегда
делает это, если оставлять длинную пишущую транзакцию.

Тут необходимо-таки уточнить, что способна она встать колом только с очень и
очень кривым дизайном БД и ещё более кривым приложением. Во избежание неверных
толкований случайно сюда залетевшими из гугля.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118178
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
YuRockЛюбая база, даже мизерная, стать колом вполне способна, и обязательно всегда
делает это, если оставлять длинную пишущую транзакцию.

Тут необходимо-таки уточнить, что способна она встать колом только с очень и
очень кривым дизайном БД и ещё более кривым приложением. Во избежание неверных
толкований случайно сюда залетевшими из гугля.Вполне достаточно просто висящей пишущей транзакции.
Ну, кроме довольно редких случаев, когда не бывает DELETE/UPDATE и/или ROLLBACK.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118186
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockВполне достаточно просто висящей пишущей транзакции.

Нет, не достаточно.

Постулат дизайна номер 1: База данных предназначена для длительного хранения
редко меняющихся данных. Для краткосрочного хранения быстро меняющихся данных
применяются совсем другие средства.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118189
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

YuRockВполне достаточно просто висящей пишущей транзакции.

Нет, не достаточно.

Постулат дизайна номер 1: База данных предназначена для длительного хранения
редко меняющихся данных. Для краткосрочного хранения быстро меняющихся данных
применяются совсем другие средства.


У тебя в родословной случаем греческой ветки нет? Был там у них один мужик, вроде Прокрустом звали ;)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118196
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
YuRockВполне достаточно просто висящей пишущей транзакции.

Нет, не достаточно.

Постулат дизайна номер 1: База данных предназначена для длительного хранения
редко меняющихся данных. Для краткосрочного хранения быстро меняющихся данных
применяются совсем другие средства.Quia tuum est regnum, et potestas, et gloria in saecula.
Amen.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118200
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаУ тебя в родословной случаем греческой ветки нет?

У меня в родословной есть люди, научившие меня не забивать шурупы молотком.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118201
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.обр., выяснили, что:
1. При работе с новым фаербердом, при чтении нужно полность отфетчивать курсор на клиента, и дисконнектиться. Запись, понятно, делается аналогично.
...нет ли в планах развития FB реализации связи по http протоколу? :)
2. Фаерберд предназначен "для длительного хранения редко меняющихся данных".
ОК.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118207
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталось только добавить к списку

3) Вода мокрая
4) Жизнь дерьмо

и можно номинироваться на премию "кэп года".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118208
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Осталось только добавить к списку

3) Вода мокрая
4) Жизнь дерьмо

и можно номинироваться на премию "кэп года".
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118214
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

фетчить весь курсор на клиента по хорошему и раньше надо было

Про дисконнект бред. Никто не заставляет это делать. Это лично моё решение, потому что меня задолбали пользователи оставляющие приложения не закрытыми
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118216
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисЭто лично моё решение, потому что меня задолбали пользователи оставляющие
приложения не закрытыми

Если не считать пары багов в очень старых версиях, единственная проблема с
длинными коннектами это неосвобождённые препарированные запросы. Что попадает
под определение "криво написанного приложения".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118217
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
единственная проблема с
длинными коннектами это неосвобождённые препарированные запросы. Что попадает
под определение "криво написанного приложения".
Чёт. я не понял. А держать кучу неосвобождённых препарированных запросов и неделями/месяцами использовать их - это тоже уже криво стало?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118220
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

криво это потреблять ресурсы сервера, если они тебе не нужны. Это не только Firebird касается.
Одно дело когда ресурс тебе не нужен в данный момент, но может скоро потребоваться, совсем другое если если он не нужен часами.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118221
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисзадолбали пользователи оставляющие приложения не закрытыми

YuRockнеделями/месяцами использовать их

Отсутствие мозга это всегда криво.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118228
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дополнение к
22406480
3. Препарированные запросы - зло.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118230
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Старый плюшевый мишкаУ тебя в родословной случаем греческой ветки нет?

У меня в родословной есть люди, научившие меня не забивать шурупы молотком.


Осталось определиться с понятием "краткосрочное".
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118231
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Дополнение к
22406480
3. Препарированные запросы - зло.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118232
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Весь мир - бардак, все бабы - мнэээ... нехорошие женщины, а солнце - мнэээ... мнэээ... использованный не по назначению в извращённой форме фонарь.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118233
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Препарированные запросы - зло.
Запросы - вообще зло.
Даёшь ответы, без запросов !
Любые !
42 - лучший ответ !!!
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118234
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
42 - лучший ответ !!!
а вот нонешние зумеры тебя не поймут.
и плевать им на Адамса.
(да и на всех плевать)
[кроме себя любимого]
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118236
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
hvlad
42 - лучший ответ !!!
а вот нонешние зумеры тебя не поймут.
и плевать им на Адамса.
(да и на всех плевать)
[кроме себя любимого]


Знаешь, нынче практически исчезли в клиниках Наполеоны. Нонешние люди просто не знают такого слова. Они зато теперь знают слово "чипирование". Раствором из флакончика с вакциной, ога.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118237
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to all:

есть некоторые потерянные технологии, в смысле, которые применялись лет 30 назад, а теперь на них все забили болт.
Например, приходит пачка данных. Её помещают в отдельную таблицу. Там обрабатывают, после чего переносят данные в основные таблицы, а всё в "отдельной" грохают.
Для версионника тут, конечно, помогло бы TRUNCATE, но в ФБ его пока нет (увы). Но можно GTT, да.

Вместо этого все давно привыкли лить данные прямо в основные таблицы.
Впрочем, это скорее вопрос "качества данных", который раньше решался и другими (тоже забытыми) способами.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118239
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvНапример, приходит пачка данных. Её помещают в отдельную таблицу. Там
обрабатывают, после чего переносят данные в основные таблицы, а всё в
"отдельной" грохают.

....и тут мне вспомнился один топикстартер из рустамовского загончика, который
заливал данные в БД чтобы получить их отсортированными...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118242
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
Знаешь, нынче практически исчезли в клиниках Наполеоны. Нонешние люди просто не знают такого слова. Они зато теперь знают слово "чипирование". Раствором из флакончика с вакциной, ога.
и как следствие, летальность COVID-а у таковых "чипированных" в несколько раз выше.
в США - в 2.7 раза ( https://ria.ru/20210128/koronavirus-1594888237.html )
в Британии - в 5 раз ( https://ria.ru/20211207/shizofreniya-1762632966.html )
разброс результатов скорее всего из-за технологических различий при производстве чипов.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118247
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
ъъъъъ
Препарированные запросы - зло.
Запросы - вообще зло.
Даёшь ответы, без запросов !
Любые !
Да, я хотел предложить, что идеальный вариант - когда запросов вообще нет и всё спокойно лежит на сервере.
Но не стал.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118248
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, такие топики таким, как мне, читать вредно. Устоявшийся мир рушится. Ну вас в баню :)

upd: потому следующим "логическим" предложением будет хранить все отфетченные на клиента данные в памяти
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118250
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Для версионника тут, конечно, помогло бы TRUNCATE, но в ФБ его пока нет (увы). Но можно GTT, да.
Не стоит забывать, что многое сделано в те времена, когда в ФБ еще не было GTT.
И всё заливалось (и заливается) в обычные таблицы
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118256
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
kdv
Для версионника тут, конечно, помогло бы TRUNCATE, но в ФБ его пока нет (увы). Но можно GTT, да.
Не стоит забывать, что многое сделано в те времена, когда в ФБ еще не было GTT.
И всё заливалось (и заливается) в обычные таблицы


Не надо после обработки грохать "сырые" данные, и проблем этих не будет
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118260
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
Старый плюшевый мишка
Знаешь, нынче практически исчезли в клиниках Наполеоны. Нонешние люди просто не знают такого слова. Они зато теперь знают слово "чипирование". Раствором из флакончика с вакциной, ога.
и как следствие, летальность COVID-а у таковых "чипированных" в несколько раз выше.
в США - в 2.7 раза ( https://ria.ru/20210128/koronavirus-1594888237.html )
в Британии - в 5 раз ( https://ria.ru/20211207/shizofreniya-1762632966.html )
разброс результатов скорее всего из-за технологических различий при производстве чипов.


Охх... Шизофрения - это вообще генетическое, которое может никогда не проявиться если не будет острого стресса. И тогда там в принципе вся гормональная система в разнос идёт, в зависимости от остроты реакции.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118261
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m
YuRock
пропущено...
Не стоит забывать, что многое сделано в те времена, когда в ФБ еще не было GTT.
И всё заливалось (и заливается) в обычные таблицы


Не надо после обработки грохать "сырые" данные, и проблем этих не будет
Да нету у меня этих проблем, и обработок таких нету.
Есть пару таблиц, которые каждый день чистятся (добавление в них идет не пакетом и данные нужны в течение дня). Ну и нормально всё работает.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118263
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m

Не надо после обработки грохать "сырые" данные, и проблем этих не будет


А их солить или мариновать прикажете? Грохнуть данные в псевдовременной таблице - говно вопрос, селект каунт после коммита и всем весело, все смеются. Не, когда там миллиарды записей, оно конечно. Но такую псевдовременную ещё надо умудриться изобрести.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118273
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
m7m

Не надо после обработки грохать "сырые" данные, и проблем этих не будет


А их солить или мариновать прикажете? Грохнуть данные в псевдовременной таблице - говно вопрос, селект каунт после коммита и всем весело, все смеются. Не, когда там миллиарды записей, оно конечно. Но такую псевдовременную ещё надо умудриться изобрести.


Не грохать "сырые" данные (это не призыв к такому порядку, это просто мое мнение)

зы.
Хоть солить, хоть мариновать, главное чтобы не протухли.
Ибо разборки почему оно два месяца назад стало так, к сожалению не редкость.
Хранение в базе "первички" облегчает жизнь на порядок
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118279
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m

Хранение в базе "первички" облегчает жизнь на порядок


Это да, тут я тремя руками за. Скажем, когда через год после поступления к оптовику некоей единицы товара приходит рекламация от наконец-то купившего её в филиале, полгода назад притащивщего её к себе с комплектационного склада, конечного потребителя, надо определиться, не только с характером дефекта, а и кому платить потребителю бабки. И для этого нужно точно сказать когда и по какому документу конкретно эта транспортировочно-упаковочная единица была

отгружена потребителю
получена филиалом от какого перевозчика
поступила на комплектационный склад
в какой транспортной партии каким перевозчиком и по какой ГТД на него поступила
когда эта ТП была отгружена поставщиком
номер производственного заказа, в рамках которого была изготовлена

Но это другая тема. Это не временные таблицы. Ты спроси у МП как он в наши таблицы запихивает документы от кетайцев, через раз приходящие в разных XML-форматах и разными хероглифами об одном и том же. Лично я даже не пытался об этом узнать, патамушта это будет тот самый стресс, который отправит меня в дурку.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118281
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
YuRock
А по поводу Consistency - блин, ну ничего ж сложного нет добавить константу no_read_consistency
Это маразм.
...

+10 6 !
Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118284
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Симонов Денис
ъъъъъ,

ну ё моё. Я же говорил.

Ну не надо одну длинную транзакцию RO RC делать на всё приложение. Блин у нас можно их сколь угодно много стартовать.
Кстати DS уже давно говорил об том что это кривой подход иметь одну читающую транзакцию на всё время жизни прикладухи.
Оно и до 4.0 приносит проблемы, да не со сборкой мусора, но временные блобы...

У вас можно сколько угодно, а компоненты не умеют сохранять датасеты при закрытой транзакции.

Однако, стоит заметить, что компоненты компонентам рознь.
Вот донесли бы своевременно до Арефьева, про то, как оно должно быть по привычному местечковому фэншую, -
глядишь, сейчас и в современном BDE FireDAC'е оно бы так же и закрывалось.))
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118285
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
hvlad
пропущено...
Это маразм.
...

+10 6 !
Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency.
В том и дело, что она есть.
Но если она не указана - то тогда зависит от конфига, как будет работать.
Вот я и предложил обратную константу добавить, чтоб тоже можно было независимо от конфига точно знать, работает consistency или нет.
Но, оказалось, что при коннекте можно конфиг указывать. В принципе, хватит, хоть и компоненты подпиливать придется.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118286
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
hvlad
пропущено...
Это маразм.
...

+10 6 !
Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency.


Ну не знаю, не знаю. Именно потому, что рано или поздно "старый" подход будет deprecated и лучше решать этот вопрос глобально-одноразово, на уровне конфига, а зачистку кода от старья выполнять неспешно по мере возможности. Как бы нам, динозаврам из разных геологических эпох, это ни претило. Ну кому захочется веками поддерживать весь в if-ах и ifdef-ах код, если млекопитающиеся уже все на "новом". Вымирай потихоньку :) Я в своё время сделал свой выбор - остался на полуторке и не стал мешать прогрессу. Ребята, дождавшись, наконец, моей "кончины" героически прыгнули на тройку. Меня несколько удивило, что генерал платил им за это, вместо штопания дырявых носков, зарплату, но - смогли убедить, и флаг им в руки. Ну да, были звонки - давай возвращайся с пенсии, твои тут полную жопу устроили - но обошлось.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118287
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
ъъъъъ
пропущено...

+10 6 !
Должна быть константа isc_read_consistency, в случае лишь явного применения которой программист может поучаствовать в квесте с read_consistency.


Ну не знаю, не знаю. Именно потому, что рано или поздно "старый" подход будет deprecated и лучше решать этот вопрос глобально-одноразово, на уровне конфига, а зачистку кода от старья выполнять неспешно по мере возможности. Как бы нам, динозаврам из разных геологических эпох, это ни претило. Ну кому захочется веками поддерживать весь в if-ах и ifdef-ах код, если млекопитающиеся уже все на "новом". Вымирай потихоньку :) Я в своё время сделал свой выбор - остался на полуторке и не стал мешать прогрессу. Ребята, дождавшись, наконец, моей "кончины" героически прыгнули на тройку. Меня несколько удивило, что генерал платил им за это, вместо штопания дырявых носков, зарплату, но - смогли убедить, и флаг им в руки. Ну да, были звонки - давай возвращайся с пенсии, твои тут полную жопу устроили - но обошлось.
Я с 2.1 на 3 перешел вообще без проблем. Изменил 5-7 update, которые стали по-новому (по стандарту) работать, и всё.
С 1.5 на 2.1 перешел вообще без изменений.
С 1.0 на 1.5 - и то сложнее было.
Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому".
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118289
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock

Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому".


Я пытался перейти с 1.5 на 2... по-моему 5, факультативно, на одном из разработочных серверов. Рестора ждал полтора суток, первый же типовой запрос ушёл в себя навсегда. Но у меня было много "естественных" ключей сегмента по 3 в m:n, наследие режима. Трудное детство, и в смысле самообразования и в смысле экономии дискового пространства. Я решил что нам при такой сложности уже существующей части системы этого не осилить параллельно с непрекращающимися вызовами со стороны и развития областей деятельности фирмы и усилий государствия по осложнению жизни.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118293
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
YuRock

Не было пока таких глобальных изменений ни разу, чтоб станаться надо было, чтоб заработало "по старому".


Я пытался перейти с 1.5 на 2... по-моему 5, факультативно, на одном из разработочных серверов. Рестора ждал полтора суток, первый же типовой запрос ушёл в себя навсегда. Но у меня было много "естественных" ключей сегмента по 3 в m:n, наследие режима. Трудное детство, и в смысле самообразования и в смысле экономии дискового пространства. Я решил что нам при такой сложности уже существующей части системы этого не осилить параллельно с непрекращающимися вызовами со стороны и развития областей деятельности фирмы и усилий государствия по осложнению жизни.
Мне повезло, во времена перехода с 1.5 на 2.1 у меня еще не было особо больших баз.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118301
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Мне повезло, во времена перехода с 1.5 на 2.1 у меня еще не было особо больших баз.


Да у меня тоже тогда не монстр был, гигов 10-20. По структуре - картинка 5 летней давности, а при той попытке процентов на 30 проще было. Так получилось, что у меня первый личный проект на SQL, начатый в 95-м году, оказался и последним :) Начал-то с моделирования САУ, в 77-м - Алгол, Алмир, Аналитик. Потом пришла эра PDP/11 и я погрузился в мир между байтами и проводами - драйвера там всякой экзотики АСУТП, станки ЧПУ, сети на УПО, потом докатился до собственной оси для роботов и саморасширяемого транслятора для неё типа Fort-a. Но тут одновременно настали эпоха IBM и революционные в СССР времена и всё это пошло лесом. Сначала тоже упёрся в системное программирование, но, после пары весьма удачных финансово хакерских поделок, по деньгам в этой области стало кисловато, примкнул к группе творцов АСУП, которое стоит на СУБД. Сначала инструментальщиком для Btrieve, интерфейс ещё для BP там разработал, которому пользовавшийся тогда всеми поголовно Turbo Vision в подмётки не годился, потом подучился у лидеров, реально грамотные в системотехнике ребята были, и проекты заворачивали масштабные, и по бюджету и по коммерции. После разлада, разумеется, из-за бабы, взялся вот за это Свезло. Полгода позволили только модель строить и базу проектировать. Ну, напорол, конечно, немало с Btriеve замашками-то. Но выжило. Благодаря ребятам, и пахали как черти и на амбразуры бросались и плечи подставляли, один бы не вытянул, даже нервные срывы случались. Ну и рос над собой, конечно. Так что к моменту этой попытки у нас были уже полностью рабочие управление закупками с аналитикой по концепции управляемого накопителя и АВС, транспортировкой-таможней, складом, ценообразованием, резервами филиалов и взаимодействием с оными. В общем, непростая уже была структурка, утяжелённая моими ошибками проектирования. Часть которых по невежеству произошла, часть из-за ограничений по железу. Количественно-то не сказать чтобы ах какая, но по связям... Вот и всё, а кому рассказать, как в психушке примерить рубашку, два стакана и дверь нараспашку...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118304
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как знакомо, :).
Старый плюшевый мишка Roles (2)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118310
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Как знакомо, :).
Старый плюшевый мишка Roles (2)


Отож

Мне SQL-стандарт по правам вообще кажется каким-то недоношенным. Теоретеги кабинетные, высасывающие идеи из пальца, нехорошая женщина. Когда я пытался этим добром пользоваться на IB4... Тогда я ж первым делом налепил дефолтов Д/Н на признаковые поля. А при первой же попытке b/r оказалось, что оно их ресторить не умеет, не понимал рестор ничего кроме истинно человеческих англосаксонских буков в дефолтах. Чем перепахивать всё уже нажитое непосильным трудом, сделали свой датапамп в новую базу вместо b/r. Так на раздачу прав после него, скриптом, разумеется, времени уходило едва ли не больше чем на собственно памп. А гемору... Новая таблица - и пошло-поехало, ползи по всем юзерам и раздавай. Уже не помню, не было тогда ролей, были ли с ними какие-то проблемы или у нас до них умишко не дошёл. Последнее маловероятно, так как Нетварь я уже админил не один год. Так вот там, в смысле в Нетвари, были группы прав доступа, юзверь мог входить в любое количество групп и при входе права по всем его группам суммировались. Вот это я и считаю оптимальным вариантом. Создаёшь группы с правами на то-сё, знаешь, что при выполнении некоторых функций группы А триггера заденут данные группы Бе, о которых пользователь группы А ни сном ни духом и в приложении никоим образом добраться до них не может - ну так и включи его в группу Бе тоже. Нет, тут либо всё, либо ничего, входишь с одной группой. В итоге в сильно связанной системе остаётся одна роль, патамушта с каждым пользователем вообще затрахаешься, да и дополнительный уровень защиты от студента всё-таки, а права разруливаются интерфейсом. Откуда там вторая - уже не помню, а Эксперта запускать лень. Скорей всего для репликатора в ораклячью подсистему, ему мало чего надо.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118317
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Как знакомо, :).
Старый плюшевый мишка Roles (2)
Ничего плохого не вижу)))
У меня по имени роль проверяется во многих местах
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118326
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 тоже.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118327
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С включенным Read Consistency - в каких случаях теперь вообще имеет смысл использовать Read Commited RO транзакции?
Когда они предпочтительнее, чем RR? Если считать, что "длиныых" RC RO транзакций следует избегать так же, как и RW
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118336
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
С включенным Read Consistency - в каких случаях теперь вообще имеет смысл использовать Read Commited RO транзакции?
Всегда, когда тр-ция не собирается ничего менять.
RO тр-ция не форсирует запись header page, что положительно влияет на скорость её старта.
Например поток мелких RO тр-ций выполнится заметно быстрее, чем поток тех же действий в RW тр-циях.
Особенно при FW=ON.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118342
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

RC RO предпочтительнее, чем RR RO?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118345
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

RC\SNAPSHOT нужно выбирать исходя из логики приложения. Это единственный критерий.

PS Нет никакого RR, не путай себя и людей
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118347
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

так я и спрашиваю - в чем теперь "бизнес-смысл" именно RC транзакций?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118349
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например, "долгая" генерация отчета.
Раньше делал в контексте снапшот-транзакции.
Теперь, (если требуется единственный запрос), вроде как достаточно RC RO.
Чему отдать предпочтение?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118352
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

Read Committed Read Consitency - согласованность на уровне запроса/курсора
Snapshot - На уровне транзакции (несколько запросов между собой дают согласованный результат)

RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118355
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
ъъъъъ,

Read Committed Read Consitency - согласованность на уровне запроса/курсора
Snapshot - На уровне транзакции (несколько запросов между собой дают согласованный результат)

RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции

И что? Мы ж теперь длинные RC RO транзакции не держим, вчера договорились, или нет?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118360
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
RC чуть дешевле, по другому обрабатываются конфликты. RC RC создаёт снимок на момент выполнения запроса, поэтому как только запрос выполниться (курсор будет выбран целиком) перестаёт удерживать версии (ну по крайней мере для промежуточной сборки мусора). Snapshot будет удерживать версии до завершения транзакции

Т.е., если в RC последовательно выполняется, кажем, три запроса - это то же самое, что три раза стартует и завершается Snapshot? Точно сие "дешевле"?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118364
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Например, "долгая" генерация отчета.
Раньше делал в контексте снапшот-транзакции.
Теперь, (если требуется единственный запрос), вроде как достаточно RC RO.
Чему отдать предпочтение?
Если в тр-ции один запрос - то "бизнес" разницы нет. Разве что время жизни снимка в RC-RC будет чуть меньше, а это лучше для конкуренции.
Но - никогда не говори никогда - завтра в этой тр-ции появится ещё один запрос и возникнут вопросы.
Так что мой ответ 22406708 - не изменился :)

И, кстати, Денис рядом не зря упомянул обработку конфликтов (обновления) - в RC-RC их можно обработать без рестарта тр-ции и чаще всего движок это сделает сам.
А вот в SNAPSHOT придётся делать роллбек, старт новой тр-ции и выполнять запрос заново.
Это не про отчёты (обычно), но тоже следует иметь в виду.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118365
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Т.е., если в RC последовательно выполняется, кажем, три запроса - это то же самое, что три раза стартует и завершается Snapshot? Точно сие "дешевле"?
Да.
Следует понимать разницу между созданием снимка и тр-ции.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118368
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

ты релиз ноты не читал совсем?? SNAPSHOT в новой схеме (COMMIT ORDER) тоже дешевле чем раньше.
В общем-то если бы создание снимка не сделали бы намного дешевле, то и в RC для каждого запроса не стали бы делать снимок. И да речь о запросах верхнего уровня. То есть если есть сложная ХП (без EXECUTE STATMENT) то для неё в RC делается ровно один снимок.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118370
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
ъъъъъ
Т.е., если в RC последовательно выполняется, кажем, три запроса - это то же самое, что три раза стартует и завершается Snapshot? Точно сие "дешевле"?
Да.
Следует понимать разницу между созданием снимка и тр-ции.


Т.обр. у создания снимка и транзакции есть свой "вес".
То есть, с какого-то момента RC становится не "дороже"? Скажем, 1000 запросов (и создание снимков) в контексте RC транзакции всё ещё дешевле, чем 1000 запросов в контексте снапшота?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118417
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Т.обр. у создания снимка и транзакции есть свой "вес".
У всего есть свой вес.

ъъъъъ
То есть, с какого-то момента RC становится не "дороже"?
Не "дешевле", наверное ?

ъъъъъ
Скажем, 1000 запросов (и создание снимков) в контексте RC транзакции всё ещё дешевле, чем 1000 запросов в контексте снапшота?
Ну это же элементарно можно понять самому.

Пусть "стоимость" тр-ции = N, а "стоимость" снимка = M, причём M < N
Тогда для K запросов в контексте SNAPSHOT тр-ции получим накладные расходы N + M,
а в контексте RCRC - N + M*K.
Сравнить оба значения сам сможешь ? Измерять M и N не проси:)

Для полноты нужно учитывать стоимость выполнения самих запросов, влияние длинного снимка (в SNAPSHOT тр-ции) на всю систему, конкуренцию за header page и стоимость записи header page.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118420
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
Не "дешевле", наверное ?

Да.

hvlad
...
Пусть "стоимость" тр-ции = N, а "стоимость" снимка = M, причём M < N
Тогда для K запросов в контексте SNAPSHOT тр-ции получим накладные расходы N + M,
а в контексте RCRC - N + M*K.
Сравнить оба значения сам сможешь ? Измерять M и N не проси:)

Для полноты нужно учитывать стоимость выполнения самих запросов, влияние длинного снимка (в SNAPSHOT тр-ции) на всю систему, конкуренцию за header page и стоимость записи header page.


Т.е., стоимость RC-транзакции дороже уже при двух запросах. Вот вам, бабушка, и 23 апреля.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118431
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъТ.е., стоимость RC-транзакции дороже уже при двух запросах.

странный вывод. Ты вообще не тем занимаешься. Не нужно тут над стоимостью думать
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118432
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
ъъъъъТ.е., стоимость RC-транзакции дороже уже при двух запросах.


странный вывод. Ты вообще не тем занимаешься. Не нужно тут над стоимостью думать
Ну, да. 22406717
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118435
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

ты цепляешься за один фактор не учитывая другие. Не надо тут мерить влияние на создание снимка на запрос. Они наверняка мизерные по сравнению с остальным накладными расходами.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118440
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Т.е., стоимость RC-транзакции дороже уже при двух запросах
Чего ? Ты вообще читаешь то, что тебе пишут ? Или филолог и читаешь по-своему ? :)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118442
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
ъъъъъ
Т.е., стоимость RC-транзакции дороже уже при двух запросах
Чего ? Ты вообще читаешь то, что тебе пишут ? Или филолог и читаешь по-своему ? :)


Филолог, ага:
hvlad
Пусть "стоимость" тр-ции = N, а "стоимость" снимка = M, причём M < N
Тогда для K запросов в контексте SNAPSHOT тр-ции получим накладные расходы N + M,
а в контексте RCRC - N + M*K.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118466
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

и ? Расжевать надо или сам ?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118469
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот читаю и тоже офигеваю. Больно уж на шаманство смахивает.

Мужики, админы. А можно где-нибудь прибить в шапке отдельный тред, внутри которого будут ссылки на важные темы, обсуждаемые в этой ветке форума? Потом ведь точно это обсуждение не найдешь :-/
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118470
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По обсуждению трудно ориентироваться (да и неправильно).
Важные вещи должны быть изложены в доке (RN и пр. - и уже
там описаны, наверное), на которые и надо прикреплять ссылки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118472
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Не мешало бы статью про транзакции на ibase.ru обновить,
если у народа есть существенные изменения/недопонимания.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118475
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам
P.S. Не мешало бы статью про транзакции на ibase.ru обновить,
если у народа есть существенные изменения/недопонимания.

Какое "понимание". "Четверка" как будто не для работы, а ради любви к искусству создана, чтобы, например, коллега Yo! больше не прикалывался, мол, "у вас нет cursor stabily в RC транзакции, бе-бе-бе".
Существующие клиентские библиотеки: fib+, например, содержит кэш препарированных запросов, теперь это ахтунг, оказывается. И редактируемы датасеты возможны только в режиме "кэшированных изменений", иначе снова ахтунг. Да, нововведения можно отключить в конфиге, но так хотелось бы всё же и понять, а от понимания начинаешь офигевать, или действительно не с моим филологическим образованием...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118478
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
RN и пр. - и уже
там описаны, наверное

значит, ты их тоже не читаешь


Гаджимурадов Рустам
P.S. Не мешало бы статью про транзакции на ibase.ru обновить

вот и я о том же. Ибо мир (интербейз) должен быть прост и доступен в понимании. "А не вот это вот все" ©
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118479
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Гаджимурадов Рустам
P.S. Не мешало бы статью про транзакции на ibase.ru обновить,
если у народа есть существенные изменения/недопонимания.

Какое "понимание". "Четверка" как будто не для работы, а ради любви к искусству создана, чтобы, например, коллега Yo! больше не прикалывался, мол, "у вас нет cursor stabily в RC транзакции, бе-бе-бе".
Существующие клиентские библиотеки: fib+, например, содержит кэш препарированных запросов, теперь это ахтунг, оказывается. И редактируемы датасеты возможны только в режиме "кэшированных изменений", иначе снова ахтунг. Да, нововведения можно отключить в конфиге, но так хотелось бы всё же и понять, а от понимания начинаешь офигевать, или действительно не с моим филологическим образованием...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118482
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъfib+, например, содержит кэш препарированных запросов, теперь это ахтунг,
оказывается

Почему "теперь"? С ним ничего не поменялось кроме внезапного прозрения некоторых
дельфинов, до которых наконец-то дошло почему их приложения работают так плохо,
а "база пухнет".

ъъъъъИ редактируемы датасеты возможны только в режиме "кэшированных
изменений", иначе снова ахтунг.
И это уже лет 20 как известно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118484
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

далеко не все пишут на Delphi

ъъъъъсодержит кэш препарированных запросов, теперь это ахтунг, оказывается

вот только не надо нести бред в массы. Этого никто не заявлял. Сказали о другом, если что-то долго не требуется это лучше прикрыть, чтобы ресурсы освободить. Всякие кеши обычно требуется для ускорения повторного доступа, если доступа нет или если он требуется раз в час, то нет смысла ускорять на 10 миллисекунд, то это просто бесполезно висячие в памяти ресурсы. И 4.0 тут не причём, это и раньше рекомендовалось.

ъъъъъИ редактируемы датасеты возможны только в режиме "кэшированных изменений", иначе снова ахтунг.

опять вранье. Не надо слова передёргивать
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118494
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джентльмены, накладные расходы на управление памятью - это действительно последнее о чём следует думать почти во всех контекстах, а уж в этом-то точно. В драйверах ЦАП бывает, да. В плане пресловутых датасетов хотелось бы уточнить несколько вопросов.

Как определяется "дофетченность" запроса. Правильно ли я понимаю, что
а) к Close на клиенте это не имеет никакого отношения
б) Если во время фетча другие запросы навтыкали в данные, подпадающие под конструкцию нашего читающего в RC RC, записей и наапдейтили их, то
б1) Если это было в других транзакциях, то новое его не касается и версий там он не удерживает
б2) Если это сделано в той же транзакции, после "окончания" фетча, то запрос становится опять недофетчен и версии держит

У меня как-то не очень укладывается в голове параллельность критериев видимости и востребованности версий по состоянию транзакции и состоянию фетча.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118495
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док
...Ибо мир (интербейз) должен быть прост и доступен в понимании. "А не вот это вот все" ©


Вот и я об этом.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118497
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Старый плюшевый мишка
Джентльмены, накладные расходы на управление памятью - это действительно последнее о чём следует думать почти во всех контекстах, а уж в этом-то точно. В драйверах ЦАП бывает, да. В плане пресловутых датасетов хотелось бы уточнить несколько вопросов.

Как определяется "дофетченность" запроса. Правильно ли я понимаю, что
а) к Close на клиенте это не имеет никакого отношения
б) Если во время фетча другие запросы навтыкали в данные, подпадающие под конструкцию нашего читающего в RC RC, записей и наапдейтили их, то
б1) Если это было в других транзакциях, то новое его не касается и версий там он не удерживает
б2) Если это сделано в той же транзакции, после "окончания" фетча, то запрос становится опять недофетчен и версии держит

У меня как-то не очень укладывается в голове параллельность критериев видимости и востребованности версий по состоянию транзакции и состоянию фетча.

"Держит версии, не держит версии"... файл базы начинает РАСПУХАТЬ, когда вторая RC RO транзакция просто запущена, безо всяких запросов и, значит, фетчей.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118505
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ

"Держит версии, не держит версии"... файл базы начинает РАСПУХАТЬ, когда вторая RC RO транзакция просто запущена, безо всяких запросов и, значит, фетчей.


Не истери :) Надо разобраться правильно ли мы друг друга понимаем, и если ребята таки малехо накосячили, то помочь найти в чём, а не добиваться отхода на заранее подготовленные позиции :)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118517
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
"Держит версии, не держит версии"... файл базы начинает РАСПУХАТЬ, когда вторая RC RO транзакция просто запущена, безо всяких запросов и, значит, фетчей.
И снова жую пережёванное - если у тебя пухнет, выключаешь принудительный ReadConsistency в конфиге, и живёшь как раньше - с RC [N]RV RO запущенной годами и выдающей не консистентные результаты.
Если при этом хочется правильной нормальной работы с другими тр-циями - никто не запрещает самому явно стартовать RC RC.
Чего тебе ещё надобно ?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118525
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ

Какое "понимание". "Четверка" как будто не для работы, а ради любви к искусству создана, чтобы, например, коллега Yo! больше не прикалывался, мол, "у вас нет cursor stabily в RC транзакции, бе-бе-бе".

кстати коллега Yo! второй день ухахатывается с топика. 15+ лет отрицаний, но выходит донес Yo! что не так с cursor stability и RC
ну что, даешь третий пункт из моего списка - нормальный UNDO, постгрес zHeap делают ужо.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118527
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

"три дня я гналась за вами чтобы сказать..."
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118532
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
ъъъъъ

Какое "понимание". "Четверка" как будто не для работы, а ради любви к искусству создана, чтобы, например, коллега Yo! больше не прикалывался, мол, "у вас нет cursor stabily в RC транзакции, бе-бе-бе".

кстати коллега Yo! второй день ухахатывается с топика. 15+ лет отрицаний, но выходит донес Yo! что не так с cursor stability и RC
ну что, даешь третий пункт из моего списка - нормальный UNDO, постгрес zHeap делают ужо.


Просветите пожалуйста необразованного, я вообще серый как штаны пожарника, а это Ё - оно что-нибудь заметное-полезное сделало или только носопырой по строчкам стандартов водит и прыгает с высунутым языком на одной ножке? Про адвоката я уж спрашивать не буду, вроде и так понятно. Знаете, здесь на самом деле тёрки за цимес-гешефт и его цену, а не за кормление троллей.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118605
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что, неужели выдохлись?))
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118624
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док> значит, ты их тоже не читаешь

Давно. Поэтому всегда и делаю оговорку
"не знаю/не помню, что там наворотили в 3.0+".


СПМ> это Ё - оно что-нибудь заметное-полезное сделало

Конечно! Оно установило стандарт/планку
троллинга, срачей и набросов на вентилятор.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118660
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам
Давно.

И правильно.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118672
avp_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поясните для тех кто в танке почему нельзя было просто добавить новый флаг в параметры транзакции?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118683
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp_,

для тех, кто в танке - есть новый пар-р тр-ции
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118685
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
для тех, кто в танке - есть новый пар-р тр-ции
он один.
а народ таки хочет два.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118687
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
а народ таки хочет два.
Не хочет. Включи мозг, плс.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118690
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Мимопроходящий
а народ таки хочет два.
Не хочет. Включи мозг, плс.
хочет.
но стесняется.
потому что ты кусючий.
затиранил электорат!
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118693
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Мимопроходящий
а народ таки хочет два.
Не хочет.
Очень хочет, чтобы не плодить проктостоматологию на этапе коннекта.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118698
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

на фиг он не сдался.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118700
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock,

на фиг он не сдался.
Тебе не сдался - не пользуйся.
А мне хочется модифицировать компоненты доступа, и потом еще следить, чтобы все разработчики у себя их не забывали обновлять после каждой переустановки дельфи.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118707
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
hvlad
пропущено...
Не хочет. Включи мозг, плс.
хочет.
но стесняется.
потому что ты кусючий.
затиранил электорат!


А может, так и надо, может в этом и есть великая сермяжная правда...
Насколько я понял, это в основном творчество Самофатова, а Коля всегда был склонен к хакерским замашкам и чрезвычайно ревнив к их критике. Не исключаю, что Владу, который, напротив, весьма самоорганизован и обстоятелен, не всё нравится в том, что надо защищать по корпоративной этике, отсюда и случается повышенная кусючесть. На истину не претендую.

Теперь по сути. Как я пытаюсь себе объяснить механизм. При старте любого запроса в RC RC за кадром фактически стартуется вложенная транзакция. Вряд ли с изоляцией consistency на затронутых оным запросом таблицах, это был бы уже перебор, тут наверное терминологическая запутка. Может, уровень её изоляции вообще не имеет канонического названия и Коля тут чего-то нахачил. Завершается она когда в недрах фетч, грубо, говоря, доходит до eof. Если клиент запрос не закрывает, а чешет репу и через некоторое время говорит next, опять стартуется такая транзакция с тем же условием завершения. Если клиенту не требуется полный фетч и он чешет репу получивши достаточное для заполнения грида количество пакетов, эта дочерняя транзакция висит всё время процесса чесания. Тут на истину не только не претендую, но даже с вожделением жду чтобы меня закидали гнилыми помидорами и объяснили по простому как оно на самом деле. Потому что в плане удерживания версий такая стратегия весьма сомнительна и верняк всё по-другому.

ЗЫ. А ты брехун. Не куришь ты.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118713
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
Мимопроходящий

А ты брехун. Не куришь ты.
Он же не в затяжку.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118716
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
хочет.
Уточни - что именно он хочет и для чего ? Без универсальных решателей, плс.
Мимопроходящий
но стесняется.
Ага, 9-ю страницу стесняется, щаз ;)
Мимопроходящий
потому что ты кусючий.
затиранил электорат!
Я кусаю только особо заслуживших ;) И никто не обещал, что будет легко, кстати.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118719
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
При старте любого запроса в RC RC за кадром фактически стартуется вложенная транзакция.
Нет, только создаётся снимок. Фактически - читается и запоминается значение глобального счётчика.
Этот счётчик инкрементируется с каждым коммитом - это для полноты картины.
Тр-ция не создаётся.

Старый плюшевый мишка
Вряд ли с изоляцией consistency на затронутых оным запросом таблицах
Запросы, работающие в рамках оного снимка, изолированы с уровнем consistency, это правда.

Старый плюшевый мишка
Завершается она когда в недрах фетч, грубо, говоря, доходит до eof.
Да, только не тр-ция завершается, а снимок удаляется.

Старый плюшевый мишка
Потому что в плане удерживания версий такая стратегия весьма сомнительна и верняк всё по-другому.
Если бы это была традиционная тр-ция - то да, нафиг нафиг.
Но это не тр-ция - это только снимок.

И наличие полного каталога таких снимков позволяет собирать мусор, даже при застрявшей навсегда OST.
Но это я уже тут в 2-х словах не расскажу.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118724
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

Ага введения твоего параметра изменит текущее поведение уже после того как релиз вышел. Те кому надо обсуждали ещё на этапе разработки фб. И я в том обсуждении участвовал. Сначала тоже был против consitency по дефолту, только за новый флаг. Но после введения промежуточный сборки мусора меня переубедили. В первой версии патча для read consitency ни параметра в кофиге ни промежуточный сборки мусора не было
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118730
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

Спасибо, буду думать ещё. Я не тормоз, но газ очень медленный :)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118735
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
Ага введения твоего параметра изменит текущее поведение уже после того как релиз вышел.

Правильно.
А то, что от новых версий отсекается масса старых разработчиков - фигня, зато не "нарушается отчетность".
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118736
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
введения твоего параметра изменит текущее поведение уже после того как релиз вышел
Не изменит, если не указывать его.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118738
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъот новых версий отсекается масса старых разработчиков

Учитывая их качество - это даже к лучшему.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118739
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Симонов Денис
Ага введения твоего параметра изменит текущее поведение уже после того как релиз вышел.

Правильно.
А то, что от новых версий отсекается масса старых разработчиков - фигня, зато не "нарушается отчетность".


Ай, ну можно же через конфиг решать вопрос ещё какое-то время. И думаю что довольно продолжительное. По истечении которого отсекаются не разработчики, а разработки. И не в помойку отсекаются, а от дальнейшего прогресса инструмента. Который прогресс этим разработкам вообще нужен ли - это большой вопрос, доживут своё на не самом новом, большинству таких масштабных разработок сильно расти и пухнуть особо уже некуда. А если есть куда, то и на старом инструменте прорастут, ничего страшного. А с новыми разработками старым разработчикам по-любому придётся расти над собой. Пока смогут. Ибо ничто не вечно.

Да, этта... Вот твои наблюдения насчёт распухания базы при висящей без запросов RC RC настораживают. Либо там что-то всё-таки кривовато, либо она вообще не при делах, а пухнет из-за деятельности других транзакций, которым через конфиг не объяснили что они "старые".
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118753
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
А с новыми разработками старым разработчикам по-любому придётся расти над собой.
Ну я бы поменял в паре мест снапшоты на RCRC. Такая прям проблема роста - констатны в транзакции поменять.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118756
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockНу я бы поменял в паре мест снапшоты на RCRC.

Зачем? Какую проблему ты пытаешься решить? Чего ожидаешь в результате такой замены?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118759
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

YuRockНу я бы поменял в паре мест снапшоты на RCRC.

Зачем? Какую проблему ты пытаешься решить? Чего ожидаешь в результате такой замены?


В отчётниках, например. Конкуренции в смысле апдейтов в них нет, а стабильность курсора нужна.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118761
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

да с чего она отсекается то? Если один лентяй не может себе ровно один параметр в конфиге изменить?
Ну не хочешь в конфиге сервера элементарно добавляется в свойство соединения. Но ведь нет, надо кричать что всё пропало.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118766
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Симонов Денис
введения твоего параметра изменит текущее поведение уже после того как релиз вышел
Не изменит, если не указывать его.


ну ты вот фигню гонишь. Блин ставишь в конфиге ReadConsistency = 0 у тебя есть

read committed с вариантами
  • rec_version
  • no_
  • rec_version
  • read_consistency

все read committed будут read_consistency

А самое главное можно подумать что введение no_read_consistency не потребует изменения компонентов доступа

Кто компоненты работы с транзакциями будет допиливать? И чем это проще чем допилить IBDatabase и указывать через isc_dpb_config ReadConsistency = 0
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118769
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаВ отчётниках, например. Конкуренции в смысле апдейтов в них нет, а стабильность
курсора нужна.

Нет конкуренции - стабильность не нужна. Есть конкуренция - нужна стабильность
не просто одиночного запроса, а всех запросов между собой. Это в отчётниках.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118772
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
ъъъъъ,

да с чего она отсекается то? Если один лентяй не может себе ровно один параметр в конфиге изменить?
Ну не хочешь в конфиге сервера элементарно добавляется в свойство соединения. Но ведь нет, надо кричать что всё пропало.

Т.е., это правильно, что "по умолчанию" ставится нерабочая конфигурация? Отсекает лентяев, это хорошо.
И - тут ранее ПВП уже говорил, повторю: жить можно, пока опции совместимости (ReadConsistency=0 и т.д.) не станут deprecated. А кто-то и раньше задумается. Ну, тоже плюс: будут отсечены лентяи, неспособные полностью перелопатить архитектуру своих ПК.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118773
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъТ.е., это правильно, что "по умолчанию" ставится нерабочая конфигурация?
Отсекает лентяев, это хорошо.

Вот у всех она рабочая, а у лентяев - почему-то нет. "Совпадение? Не думаю." (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118774
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
YuRockНу я бы поменял в паре мест снапшоты на RCRC.

Зачем? Какую проблему ты пытаешься решить? Чего ожидаешь в результате такой замены?Ожидаю правильных с моей точки зрения результатов запроса, при это мненьше нагружая сервер.
А почему тебя это заинтересовало?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118775
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
ъъъъъТ.е., это правильно, что "по умолчанию" ставится нерабочая конфигурация?
Отсекает лентяев, это хорошо.

Вот у всех она рабочая, а у лентяев - почему-то нет. "Совпадение? Не думаю." (с)
Курс верен - (с).
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118776
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

да я считаю что лентяям переход на новые версии противопоказан. Какой смысл переходить на новую версию, если не использовать новые возможности? Чтобы использовать новые возможности придётся поработать, в противном случае получишь только потенциальные проблемы с обратной совместимостью.

Мне интересно что ты хочешь получить от 4.0 если ничего не конфигурировать в ФБ и ничего не менять в своей программе? Думаешь b/r на новую ODS и волшебным образом повысится производительность? Огорчу нет этого не будет.

Ну допустим встроенная логическая репликация. Ну да круто. Вот только её тоже настраивать надо! А если её настраивать, то можно и параметр ReadConsistency подкрутить

ъъъъъТ.е., это правильно, что "по умолчанию" ставится нерабочая конфигурация?

И да я считаю что конфигурация по умолчанию правильная. Потому что сюрприз есть программы не только написанные на delphi и вот они как раз начнут работать с RC правильно даже если ничего не менять в их потрохах
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118777
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote Симонов Денис#22407483]
YuRock
А самое главное можно подумать что введение no_read_consistency не потребует изменения компонентов доступа

Кто компоненты работы с транзакциями будет допиливать? И чем это проще чем допилить IBDatabase и указывать через isc_dpb_config ReadConsistency = 0
Представь себе, не потребуем.
У меня все транзакции создаются одной моей функцией, которая вызывается в конструкторе предка формы, или просто вручную. Ф-ция с двумя параметрами - db и тип транзакции (мой enum).
Компонентов TIBTransaction на формах у меня нет нигде.

А вот соединение у меня через TIBDatabase.Create создаётся везде.
Да даже если и переделать на функцию (в принципе, она есть, но не всезде, в отличие от транзакций, вызывается), всё равно это лишняя допилка IBX.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118778
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockОжидаю правильных с моей точки зрения результатов запроса, при это мненьше
нагружая сервер.
А почему тебя это заинтересовало?
Ну, "разные люди бывают на свете..." (с)
Некоторые считают правильным результатом insert..select, входящий в бесконечный
цикл, другие считают, что сервер нагружается, не проведя тестов и не сравнив
результаты.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118779
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Старый плюшевый мишкаВ отчётниках, например. Конкуренции в смысле апдейтов в них нет, а стабильность
курсора нужна.

Нет конкуренции - стабильность не нужна. Есть конкуренция - нужна стабильность
не просто одиночного запроса, а всех запросов между собой. Это в отчётниках.Представь себе, бывают отчетики на один запрос.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118781
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
Мне интересно что ты хочешь получить от 4.0 если ничего не конфигурировать в ФБ и ничего не менять в своей программе?
Очевидно же - хочу получить возможность использовать новые фичи, ту же RC.
Симонов Денис
Думаешь b/r на новую ODS и волшебным образом повысится производительность? Огорчу нет этого не будет.
Если это так, то эти новые фичи вызывают сомнение. Как и вопрос перехода на новую версию ради новых фич, которые не повышают производительность.
Симонов Денис
Ну допустим встроенная логическая репликация. Ну да круто. Вот только её тоже настраивать надо! А если её настраивать, то можно и параметр ReadConsistency подкрутить
Ну бред же, при чем тут репликация. Может, многим и нужна, мне - нет, не важно, отношения к настройке RC она не имеет никакого.

Симонов Денис
И да я считаю что конфигурация по умолчанию правильная. Потому что сюрприз есть программы не только написанные на delphi и вот они как раз начнут работать с RC правильно даже если ничего не менять в их потрохах
Делфи тут вообще не при чём, как и репликация.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118784
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockЕсли это так, то эти новые фичи вызывают сомнение.

Вызывают сомнения - поставь эксперимент. Построй графики. Убеди всех числами,
что новая версия - хуже старой.

Лично меня покамест убеждают числа на https://firebirdtest.com/oltp-emul/
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118786
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
другие считают, что сервер нагружается, не проведя тестов и не сравнив результаты.
Я сравнивал процессы работы снапроша и RC. RC легче, особенно RO.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118787
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
YuRockЕсли это так, то эти новые фичи вызывают сомнение.

Вызывают сомнения - поставь эксперимент. Построй графики. Убеди всех числами,
что новая версия - хуже старой.Я понимаю, что хочется поговорить, но нет.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118788
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Я сравнивал процессы работы снапроша и RC.

Где цифры, Джим?..
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118790
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
YuRock
Я сравнивал процессы работы снапроша и RC.

Где цифры, Джим?..
Вот цифра 7. Как она получилась:
Запустил я запрос в снапшоте, который пересчитывает первичку, и он выполнялся 7 часов.
Всё это время мусор не чистится с момента старта. Во всей базе.
А в RCRC - не чистился бы только в некоторых таблицах (1+).

Какие еще цифры привести, я не знаю.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118795
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockА в RCRC - не чистился бы только в некоторых таблицах

с чего ты взял? Ты точно понял как RCRC работает? Ты это пробовал?

Видишь ли снимок что в RCRC что в Snapshot работает по одним и тем же принципам. Вот только в Snapshot время его жизни транзакция, а в RCRC - запрос.
Если ты запускаешь ровно один запрос после завершения которого происходит Commit, что в одном, что другом режиме изолированности, то разницы не будет. Точнее она есть, но вовсе не в сборке мусора.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118798
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRockА в RCRC - не чистился бы только в некоторых таблицах


с чего ты взял? Ты точно понял как RCRC работает? Ты это пробовал?

Видишь ли снимок что в RCRC что в Snapshot работает по одним и тем же принципам. Вот только в Snapshot время его жизни транзакция, а в RCRC - запрос.
Если ты запускаешь ровно один запрос после завершения которого происходит Commit, что в одном, что другом режиме изолированности, то разницы не будет. Точнее она есть, но вовсе не в сборке мусора.Конечно же я не пробовал.
Значит, я не правильно понял, начитавшись тут про "цепочки версий".
Тогда да, в чём профит, я не знаю.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118800
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Тогда да, в чём профит, я не знаю.
Ну, хотя, знаю небольшой. После такого запроса транзакцию такую не обязательно переоткрывать, в отличие от снапшота, чтобы новые данные увидеть. Бывает полезно - накладные расходы.
Но это копейки, конечно.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118801
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

вот именно, ну и плюс конфликты обновлений по разному обрабатываются.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118802
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock,

вот именно, ну и плюс конфликты обновлений по разному обрабатываются.
Ну, по-разному - это не профит, а логика, в данном случае их вообще не будет.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118803
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockЯ сравнивал процессы работы снапроша и RC. RC легче, особенно RO.

И, заслышав, что "для каждого запроса как бы собственный снапшот", ты решил, что
теперь процесс работы у read committed такой же как у concurrency и значит он
медленнее. А объяснения Влада про список CN ты пропустил мимо ушей потому что
"многа букафф, нипанятно".

Влад на этом месте уже начал бы говорить матом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118807
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это, граждане. Независимо от того, что Yo! страдал от неконсистентных результатов запросов в read committed в Firebird, почти всем на это было плевать.
Я разве что могу напомнить топик
1447129
где даже участвовал некий хрен с названием Amris Mirddin :-)

Было это ШЕШНАДЦАТЬ лет назад. И никто не помер. А теперь, когда это починили в ФБ 4, все чё-то возбудились. Камон, бразерс, калм даун.

Склеротикам и новичкам рекомендую вот прям с того сообщения читать дальше, целиком. Дабы проникнуться, вообще.
Если что, начинать можно с текста
"Если речь идет о ReadCommitted, то да, у нас нет понятия cursor stability. "
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118814
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
YuRockЯ сравнивал процессы работы снапроша и RC. RC легче, особенно RO.

И, заслышав, что "для каждого запроса как бы собственный снапшот", ты решил, что
теперь процесс работы у read committed такой же как у concurrency и значит он
медленнее. А объяснения Влада про список CN ты пропустил мимо ушей потому что
"многа букафф, нипанятно".

Влад на этом месте уже начал бы говорить матом.Я нигде не говорил, что запрос в concurrency работает медленнее, чем в rc, тут ты ошибся.
Я говорил, что concurrency тяжелее для сегвера, чем rc, особенно rc(ro). И надеялся, что rcrc тоже будет несколько легче, но тут я ошибся.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118815
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockЯ говорил, что concurrency тяжелее для сегвера
у меня есть статистика сервера, где у людей через 3 дня после рестора отвалилась транзакция роллбэком (застрял OIT), и там через год (при sweep interval 0 и незапуске вручную свипа) на на каждый снапшот (на классике) выделялось 27мб TIP. Никто ничего не заметил.
Вы когда говорите "тяжелее", выражайтесь точнее, с конкретными примерами "тяжелости".
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118817
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
YuRockЯ говорил, что concurrency тяжелее для сегвера

у меня есть статистика сервера, где у людей через 3 дня после рестора отвалилась транзакция роллбэком (застрял OIT), и там через год (при sweep interval 0 и незапуске вручную свипа) на на каждый снапшот (на классике) выделялось 27мб TIP. Никто ничего не заметил.
Вы когда говорите "тяжелее", выражайтесь точнее, с конкретными примерами "тяжелости".Тяжелость наступает при накоплении мусора, и при его чистке.
Не заметили - что ж, красавцы, бываеют архитектуры, в которых только insert. Мечта Сибирякова.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118822
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockТяжелость наступает при накоплении мусора, и при его чистке.

То есть, внезапно, в случаях, которые тоже были сильно "облегчены" в четвёрке.
"Пилите, Шура, пилите." (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118827
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv

Я разве что могу напомнить топик
1447129
где даже участвовал некий хрен с названием Amris Mirddin :-)


Вот же ж вездессущий крендель, где только ни нагадил А через 15 лет понёс противоположную ахинею, пока Рустам на него глаза не вытаращил и не спросил - ты чего? Прикалываешься? Маразматег :(

Плюнь в меня плиз TPB от этого чуда RC RC. Я транзакциями consistency вообще-то, после изучения API Guide даже не пытался пользоваться. Но в подкорке склероза сидит что там и read транзакции друг другу мешают. Помозолил глаза сейчас об этот гайд, от IB5 правда, ещё раз - вроде бы да, так и есть. Но с учётом моего нынешнего английского... Да ещё и внутренние транзакции вовсе не транзакции, но имеют уровень изоляции... Это чиста для просветления, не в контексте холивара, понять хочу.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118828
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockТяжелость наступает при накоплении мусора, и при его чистке.
не надо пороть ... всякое.
Я на курсах регулярно говорю, что количество версий и количество транзакций никак не связано. 1млн транзакций может вообще не породить ни одной версии, и наоборот, 1 транзакция может породить 1млн версий.
И OIT тут вообще ни при чем. Её значение сильно преувеличено. Это лишь индикатор того, что ГДЕ-ТО в базе случился роллбэк, и МОГУТ БЫТЬ версии которые надо удалить. А могут и не быть.
Поэтому застревание OIT вообще никак не влияет на производительность, кроме увеличения размера снимка TIP при старте snapshot. А TIP линейный, и его сканирование или изготовление снимка не сильно тормозит сервер.

На текущий момент все проблемы с производительностью, которые мы наблюдаем, заключаются в основном
- в неоптимизированных запросах - либо большое кол-во натуральных чтений, либо большое кол-во индексных чтений
- слишком частое выполнение коротких запросов, которые "задалбывают" сервер, убивая до 60% производительности.

Проблем с застреванием oit, или еще чем-то мы тут не наблюдаем вообще. Да, бывают случаи, когда "админ заснул в ИБЭксперте" на пару суток, тогда накапливаются версии и получаются тормоза. Но это решается скриптами "убиения" подобных коннектов через mon$. Еще бывает "внезапная репликация" программными средствами, тогда да, количество page writes превышает page reads в десятки раз. Но это всё экзотика. И опять же, влияние старта транзакций RC/Snapshot тут вообще никакое.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118829
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаА через 15 лет понёс противоположную ахинею
што??? че-то вы, господин хороший, меня обвиняете непонятно в чём. Я пока насчет read committed read consistency вообще никак не выражался, совсем. Ибо у меня нет данных о полезности этого режима. Я хотел (на днях) его потестить, но меня отговорили. И я пока не придумал, как ЭТО тестировать. На реальных системах у нас пока нет перешедших на 4.0. Но мы попробуем организовать "предтесты", чтобы понять, насколько измененная сборка мусора работает. Однако, не могу обещать, когда такое получится. Нет у нас еще клиентов на 4.0. Хотя есть, которые уже хотят перейти.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118831
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Я на курсах регулярно говорю, что количество версий и количество транзакций никак не связано.
Я и не говорил про прямую зависимость. Я говорил про
kdv
на пару суток, тогда накапливаются версии и получаются тормоза

Не надо додумывать.
Я понимаю, что я враг народа, но тем не менее.
Всего лишь предлагал доделать минимальную доработку, которая, по моему мнению (мне - точно) облегчила бы переход на 4-ку.
Ну, раз "такие, как я, не нужны" - ладно, будем пользоваться всё равно :)
А шо, не расслабляйтесь
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118832
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаПлюнь в меня плиз TPB от этого чуда RC RC
чем плевать-то, если в 4.0 старая RC теперь стала RC со стабильными курсорами. Ась?
Так что с точки зрения приложений ничего не меняется. Просто они начинают при селектах в RC получать более "консистентные" результаты. И фсё.
(вернуть можно в firebird.conf).
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118833
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Старый плюшевый мишкаА через 15 лет понёс противоположную ахинею

што??? че-то вы, господин хороший, меня обвиняете непонятно в чём.

Ай, да я не про тебя, а про этого старого осла. Спросил человек как каскад выполняется и он на голубом глазу запел что сначала детали удаляются.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118834
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockВсего лишь предлагал доделать минимальную доработку, которая, по моему мнению (мне - точно) облегчила бы переход на 4-ку.
Ну, раз "такие, как я, не нужны" - ладно, будем пользоваться всё равно :)
либо я чего-то не понимаю, либо тут какая-то ересь. Каким образом read committed read consistency может ЗАТРУДНИТЬ переход на 4ку? Вам вообще какая половая разница? Вы либо материтесь на "рост базы данных" с вашим нынешним управлением транзакциями, либо вообще ничего не замечаете.
С точки зрения приложений вам вообще ничего менять не надо. Не понравится rc rc - ну поменяйте в конфиге обратно. Что вообще за гонево какое-то про "облегчение перехода". Там с переходом основное это типы данных и их совместимость. Которая опять же, решается документом от Симонова.
https://www.ibase.ru/files/articles/firebird4/fb4migrationguide_rus.html
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118836
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Насколько я понимаю, самая легкая транзакция - это ro rc без read consistency. Вот я такие люблю. И хочу не менять конфиг. Только и всего. Нет - так нет, мне уже этот разговор надоел, повторять одно и тоже десятый раз.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118838
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv

Каким образом read committed read consistency может ЗАТРУДНИТЬ переход на 4ку? Вам вообще какая половая разница?


Да очень простым. Несколько тысяч программных модулей приложения пользуются ОДНОЙ транзакцией на чтение для всякой фигни до начала редактирования. Геологическую эпоху, с 2001 года. Которая стартуется на старте приложения и помирает вместе с ним. Патамушта её на самом деле нет и она ничего не кушает. И вдруг оказывается что извини-подвинься, начинает кушать и чем больше читающих транзакций в каждом модуле тем дешевле будет. А модулей сорок бочек арестантов и хотелось бы не втупую прогрепить, а получить с этого гемору какой-то таки цимес, иначе херли вообще в эту гору катить очередной камень. Очень даже половая получается разница. Другое дело что это новое можно проигнорировать. Ну да, страуса не пугать, пол бетонный. Может так и надо, может в этом и есть... мнэээ... слезаю с дивана. Вариантов много. Забить и дожить до пенсии, упереться и преодолеть, найти какой-то промежуточный вариант из многих возможных. Для меня лично просто вызов - сумею понять или нет.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118839
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
Несколько тысяч программных модулей приложения пользуются ОДНОЙ транзакцией на чтение для всякой фигни до начала редактирования. Геологическую эпоху, с 2001 года. Которая стартуется на старте приложения и помирает вместе с ним.


Это было актуально во времена BDE, когда компоненты не умели более одной транзакции в коннекте.
После появления компонентов прямого доступа, типа IBX/FIB и т.п., реализующих много транзакционность, транзакции стало возможно делать в том месте и времени когда они нужны.

У примеру, на BDE у меня было 3 коннекта в приложении, что бы получить возможность иметь 3 транзакции, и приходилось париться, каким же модулем занята транзакция, что бы не пересечься в другом модуле.

Сейчас у меня в каждом модуле и окне собственные транзакции.
Какие-то общие транзакции делаются только если это требуется по логике.

Думал что у многих так.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118842
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
YuRockЯ говорил, что concurrency тяжелее для сегвера

у меня есть статистика сервера, где у людей через 3 дня после рестора отвалилась транзакция роллбэком (застрял OIT), и там через год (при sweep interval 0 и незапуске вручную свипа) на на каждый снапшот (на классике) выделялось 27мб TIP. Никто ничего не заметил.
было бы 1000 параллельных снапшотов - заметили бы
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118843
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Не понравится rc rc - ну поменяйте в конфиге обратно

перечитай тему с начала. Он не контролирует конфиг.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118915
avp_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо, в параметры транзакций надо было добавить опцию no_read_consistency которая бы была более приоритетной чем значение конфига..
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118917
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp_
Имхо, в параметры транзакций надо было добавить опцию no_read_consistency которая бы была более приоритетной чем значение конфига..
об том и тянется весь сыр-бор, уже аж на 11-й странице
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118925
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp_,

это глупость иметь две противоречащих друг другу опции

Мимопроходящийоб том и тянется весь сыр-бор, уже аж на 11-й странице

да нет страниц 5. До этого совсем о другом разговор был
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118930
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
avp_,

это глупость иметь две противоречащих друг другу опции
ога
isc_tpb_rec_version и isc_tpb_no_rec_version ,
isc_tpb_wait и isc_tpb_nowait
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118931
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
да нет страниц 5. До этого совсем о другом разговор был

"До этого" теория шла. Лентяи-прикладники не углублялись, а тут, углубившись и получив по шарам, стали судорожно пытать разработчиков: "за какие грехи вы нас так"...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118938
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПМkdv> 1447129
Вот же ж вездессущий крендель, где только ни нагадил
Там и Лентяй участвует, и Диля ещё есть, паразит... Эх...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118940
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockНасколько я понимаю, самая легкая транзакция - это ro rc без read consistency.

Нет, нинасколько ты не понимаешь. Попробуй ещё раз.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118943
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Симонов Денис
да нет страниц 5. До этого совсем о другом разговор был

"До этого" теория шла. Лентяи-прикладники не углублялись, а тут, углубившись и получив по шарам, стали судорожно пытать разработчиков: "за какие грехи вы нас так"...


Ай, жизнь воообще устроена по типу

Леди звонит своему лорду.

- Сэр, Вы знаете что Ваша горничная беременна?
- Это её проблема.
- А Вы в курсе что она беременна от Вас?
- Нннуу... Это моя проблема.
- А Вы догадываетесь что мне это не нравится?
- А вот это Ваша проблема.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118946
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

ты не прав, ибо

isc_tpb_rec_version и isc_tpb_no_rec_version и isc_tpb_read_consistency

стоят в одном ряду и не совместимы между собой. Просто по дефолту делается так что на isc_tpb_[no_]rec_version кладётся болт, а вместо них всегда используется isc_tpb_read_consistency
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118949
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp_
Имхо, в параметры транзакций надо было добавить опцию no_read_consistency которая бы была более приоритетной чем значение конфига..
Расскажи как ты хочешь её использовать и чем это лучше изменения конфига (напрямую или через DPB).
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118950
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr
перечитай тему с начала. Он не контролирует конфиг.
Ему и не надо.
Сисадмин может править firebird.conf, даже если он в этом ОгнеПтице - вообще не копенгаген.

P.S.
Да, есть разница между "не контролирует" и "вообще ничего не хочет делать".
Во втором случае переход на FB40 противопоказан, но совсем не из-за умалчиваемых значений.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118955
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
avp_
Имхо, в параметры транзакций надо было добавить опцию no_read_consistency которая бы была более приоритетной чем значение конфига..
Расскажи как ты хочешь её использовать и чем это лучше изменения конфига (напрямую или через DPB).
я не он, но слово имею.
дозвольте слово молвить.
всем компонентописателям и компонентоюзателям, действительно удобнее управлять параметрами транзакций через transaction parameter buffer (TPB), а не через левую ноздрю.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118957
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПМ> Ай, жизнь воообще устроена по типу
СПМ> Леди звонит своему лорду.

Сэр Джон звонит домой из клуба, чтобы предупредить жену, что он задержится. К телефону подходит дворецкий:
– Да?
– Любезный, будь добр, зайди в комнату леди и скажи ей, что я задержусь в клубе.
– Но леди уже пошла спать, сэр.
– Тем не менее пойди к ней и доложи, что я просил.
Через некоторое время.
– Сэр, я доложил, но ваш голос ответил мне из-за двери, чтобы я убирался.
– Немедленно возьми ружье и застрели мою жену и человека, который находится с ней в спальне!
В трубке слышны выстрелы, топот.
– Сэр, я сделал все, как вы сказали, но мужчина выскочил в окно спальни и убежал в сад.
– Но возле нашего дома нет сада!
– Значит вы ошиблись номером, сэр...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118963
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
hvlad
пропущено...
Расскажи как ты хочешь её использовать и чем это лучше изменения конфига (напрямую или через DPB).
я не он, но слово имею.
дозвольте слово молвить.
всем компонентописателям и компонентоюзателям, действительно удобнее управлять параметрами транзакций через transaction parameter buffer (TPB), а не через левую ноздрю.


Особенно, если на этом же сервере окажется база нового поколения.

Надо забить настройку в базу. Вместе со свип интервалом и пользователями.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118965
avp_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Расскажи как ты хочешь её использовать и чем это лучше изменения конфига (напрямую или через DPB).

В основном для плавного портирования старого ПО.
Что то я про новые возможности DPB не нашёл где написано...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118968
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastor,

не в коем случае. Во первых добавление нового флага в заголовок БД это изменение ODS, а значит такое изменение в рамках 4.0 не применимо
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118969
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp_В основном для плавного портирования старого ПО.

Какой именно функционал Вашего старого ПО требует зацикливания insert..select?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118970
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp_,

куда уж плавней один параметр в конфиге поправить.

isc_dpb_config появился ещё в 3.0. Он позволяет установить любой параметр конфигурации который в файле конфигурации помечен как per connection
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118971
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
avp_В основном для плавного портирования старого ПО.
Какая именно часть портирования старого ПО требует зацикливания insert..select?прими уже таки успокоительного.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118975
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Дима ты совсем не о том. Эта фигня была ещё в 3.0 исправлена. И она относится к стабильности курсора, а не к read consistency.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118977
avp_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Какой именно функционал Вашего старого ПО требует зацикливания insert..select?

Речь была про долгоживущие читающие транзакции RC RO. У меня например полно таких.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118978
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисДима ты совсем не о том. Эта фигня была ещё в 3.0 исправлена.

Вообще-то, кажется, ещё в 2.5, но вопрос-то не в этом, а в "есть ли претензии к
read consistency серьёзнее чем "база вырастает до гигабайта и место на винте
кончается".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118979
avp_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
avp_,

куда уж плавней один параметр в конфиге поправить.

Это сразу на все транзакции коннекта действует. Не совсем удобно.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118980
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dimitr
перечитай тему с начала. Он не контролирует конфиг.
Ему и не надо.
Сисадмин может править firebird.conf, даже если он в этом ОгнеПтице - вообще не копенгаген.
Ну да, в каждом ларьке же сисадмин сидит, в каждом терминале самообслуживания.

P.S. Не стоит предлагать идею менять конфиги автоматизировано. Она на поверхности лежит. Но она даже хуже, чем изменение конфига в момент коннекта через dpb.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118982
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
всем компонентописателям и компонентоюзателям, действительно удобнее управлять параметрами транзакций через transaction parameter buffer (TPB), а не через левую ноздрю.
Тут не в компонентах дело даже.
Предлагается "управлять" параметрами транзакций в момент коннекта к базе, хоть через какое хочешь апи.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118983
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Ну да, в каждом ларьке же сисадмин сидит, в каждом терминале самообслуживания.
"Работает? Ничего не трогай".
Ваша проблема - совсем не умалчиваемые параметры четвёрки.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118984
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 выдавать согласованный набор данных.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118985
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
куда уж плавней один параметр в конфиге поправить.
Ты что, троллишь? В чём тут плавность, если до изменения этого параметра требуется переделать/перетестить всё?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118986
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денискуда уж плавней один параметр в конфиге поправить.

Можно и ещё плавней. Налаживается синхронная репликация хоть Экспертом, хоть
таким вот плагином и
можно работать с сервером любой версии по выбору.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118988
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
потому что для приложений где нет старта одной глобальной RO RC транзакции
это лучше, ибо позволяет абсолютно безо всяких переделок транзакциям READ COMMITTED выдавать согласованный набор данных.
Т.е. сделали параметр по умолчанию таким, который хорош только для новых проектов. А все старые делятся на два типа, грубо говоря:
1. Есть старт одной глобальной RO RC
2. Для запросов, где была важна консистентность, и так уже использовался снапшот. И, как мы выяснили вчера, RCRC не даст тут никаких преимуществ.

Спорное решение, говоршь? Да ладно.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118991
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

ну я не знаю как вы там программу свою распространяете. Но вообще есть два варианта. Ставить свой ФБ нужной версии и вместе с ним сразу формировать/поставлять конфиг. Или писать инструкцию для тех кто сам ставил ФБ какие параметры надо прописать в конфиг. И да для того чтобы записать одну строчку в текстовый файл не надо быть гуру в администрировании.

И да параметр кстати через databases.conf тоже доступен, так что для каждой БД можно индивидуально поставить
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118992
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockА все старые делятся на два типа, грубо говоря:

Есть ещё третий тип: проекты вообще не написанные на Дельфи или написанные без
дурацкой вечноживущей транзакции. Самые многочисленные, наверное.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118993
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock, а не вариант распространять твой софт с твоим же дистрибутивом Firebird? Мало ли что там у клиента стоит и какие порты заняты.
Я вот именно так делаю. Совсем простенький скрипт inno setup. Конфиг настроен как надо мне, демобазы, диагностика доступности порта, что хочешь.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118994
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
YuRockА все старые делятся на два типа, грубо говоря:

Есть ещё третий тип: проекты вообще не написанные на Дельфи или написанные без
дурацкой вечноживущей транзакции. Самые многочисленные, наверное.
Это где так?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118995
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockRCRC не даст тут никаких преимуществ.

даст, только ты не правильные кейсы рассматриваешь.

Да, да ты не видишь дальше своего приложения ничего.
А ведь есть приложения которые написаны на Java, PHP, Python, JavaScript, C# ... которые изначально не держали никаких глобальных транзакции на всё приложение. И прикинь в них RC начнёт сразу правильно работать без переделки. Да и на Delphi так можно писать. И между прочим об этом разговор шёл давно, время подрихтовать было
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118996
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъЭто где так?

За пределами Рустамовского загончика. Только не говори, что "там жизни нет"...

PS: У Натальи Хлопотун (tm) времени никогда нет.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40118997
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
YuRock, а не вариант распространять твой софт с твоим же дистрибутивом Firebird? Мало ли что там у клиента стоит и какие порты заняты.
Я вот именно так делаю. Совсем простенький скрипт inno setup. Конфиг настроен как надо мне, демобазы, диагностика доступности порта, что хочешь.


+1

для распространяемых маленьких прикладух именно так и надо. Ибо не только мы Firebird в своих прогах используем.
Когда мне заявляют извините, но у нас тут уже стоит Firebird 2.0 я его что сносить что ли должен?

Для крупняка уже админы есть
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119008
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
всем компонентописателям и компонентоюзателям, действительно удобнее управлять параметрами транзакций через transaction parameter buffer (TPB)
Им этого никто не мешает делать.
Но ты не ответил на мой вопрос.
Похоже, даже не понял его.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119010
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
ъъъъъ
Dimitry Sibiryakov
...
Есть ещё третий тип: проекты вообще не написанные на Дельфи или написанные без
дурацкой вечноживущей транзакции. Самые многочисленные, наверное.

Это где так?

За пределами Рустамовского загончика. Только не говори, что "там жизни нет"...

Рекурсия.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119012
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp_
hvlad
Расскажи как ты хочешь её использовать и чем это лучше изменения конфига (напрямую или через DPB).

В основном для плавного портирования старого ПО.
Что то я про новые возможности DPB не нашёл где написано...
Я не спросил для чего, я спросил - как.

Для портирования старого ПО:
- оставляем ReadConsistency = 1 и проверяем работу старого ПО
- если что-то не так, ставим ReadConsistency = 0, разбираемся и либо применяем isc_tpb_read_consistency в конкретных местах, либо добиваемся чтобы всё правильно работало с ReadConsistency = 1

Про "новые" возможности DPB - isc_dpb_config должен быть описан в RN ещё в fb3. Настолько он новый, да.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119013
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastor
Надо забить настройку в базу.
Для этого есть databases.conf
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119016
avp_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В старом ПО от долгих глобальных транзакций не так просто избавиться, т.к. это потребует существенной переделки. А вот поставить им флаг no_consistency как раз просто. Остальные транзакции пущай будут работать по новому.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119021
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp_
В старом ПО от долгих глобальных транзакций не так просто избавиться, т.к. это потребует существенной переделки. А вот поставить им флаг no_consistency как раз просто. Остальные транзакции пущай будут работать по новому.
Оставь "долгие глобальные транзакции" в покое и поставь read_consistency остальным.

PS реальный вред от "долгой глобальной транзакции" RC RW должен быть пересмотрен для 4-ки.
Искуственный тест insert\delete по кругу - не показатель, реальные программы чуть сложнее и разнообразнее.
Я проверял работу tpcc с полностью заблокированной традиционной сборкой мусора и знаю, о чём говорю.
А кто тут проверял что-то более-менее реальное ?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119022
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp_В старом ПО от долгих глобальных транзакций не так просто избавиться, т.к. это
потребует существенной переделки.

Вообще-то довольно просто. Тупой рефакторинг по "Search in Files". В самый раз
работа для юниоров.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119023
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avp_> А вот поставить им флаг no_consistency как раз просто.
avp_> Остальные транзакции пущай будут работать по новому.

Можно наоборот - изменить ключик в конфиге, а
"новым" транзакциям ставить isc_tpb_read_consistency.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119024
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
avp_В старом ПО от долгих глобальных транзакций не так просто избавиться, т.к. это
потребует существенной переделки.

Вообще-то довольно просто. Тупой рефакторинг по "Search in Files". В самый раз
работа для юниоров.
Совсем уж дичь попёрла.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119026
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Dimitry Sibiryakov
пропущено...

Вообще-то довольно просто. Тупой рефакторинг по "Search in Files". В самый раз
работа для юниоров.
Совсем уж дичь попёрла.
это побочный эффект от эспумизана.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119036
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эй, вы серьёзно считаете сложной задачей найти в коде каждое упоминание
глобальной транзакции и заменить его на локальную?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119040
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Дим это не решит всех проблем, там работы слегка побольше
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119043
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DS> найти в коде каждое упоминание
DS> глобальной транзакции и заменить его на локальную?..

Ну т.е. ты считаешь достаточно просто
Search and Replace GlobalTxVar LocalTxVar?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119048
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисДим это не решит всех проблем

Все проблемы решит только гильотина. Это решит проблему долгоживущей транзакции.
Время жизни сократится до времени жизни конкретного датасета, которое, конечно,
тоже может быть большим, но всё же не от запуска приложения до закрытия (скорее
всего).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119051
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRock,

ну я не знаю как вы там программу свою распространяете. Но вообще есть два варианта. Ставить свой ФБ нужной версии и вместе с ним сразу формировать/поставлять конфиг. Или писать инструкцию для тех кто сам ставил ФБ какие параметры надо прописать в конфиг. И да для того чтобы записать одну строчку в текстовый файл не надо быть гуру в администрировании.

И да параметр кстати через databases.conf тоже доступен, так что для каждой БД можно индивидуально поставить
Спасибо, не надо меня уговаривать управлять поведением транзакций через .conf файлы. Уж лучше при коннекте тогда.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119052
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
YuRock, а не вариант распространять твой софт с твоим же дистрибутивом Firebird? Мало ли что там у клиента стоит и какие порты заняты.
Я вот именно так делаю. Совсем простенький скрипт inno setup. Конфиг настроен как надо мне, демобазы, диагностика доступности порта, что хочешь.
Варианты бывают разные.
Давайте еще скатимся сейчас в вопросы распространения и обновления софта.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119054
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
YuRockRCRC не даст тут никаких преимуществ.


даст, только ты не правильные кейсы рассматриваешь.

Да, да ты не видишь дальше своего приложения ничего.
А ведь есть приложения которые написаны на Java, PHP, Python, JavaScript, C# ... которые изначально не держали никаких глобальных транзакции на всё приложение. И прикинь в них RC начнёт сразу правильно работать без переделки. Да и на Delphi так можно писать. И между прочим об этом разговор шёл давно, время подрихтовать былоВсе эти приложения (повторяю в очередной рез - не важно - на делфи, js или 1С они написаны) делятся на два вида:
1. Те, кому не нужны были консистентные запросы. Для таких RCRC будет бесполезен.
2. Те, кому нужны были консистентные запросы, но такие уже написаны через снапшот, и потому RCRC для них будет бесполезен.

Логично, что он будет полезен только для новых, еще не написанных.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119060
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это всё kdv виноват, со своими статьями. И примкнувший к ним писатель Ковязин-Востриков.
А теперь Дмитрий Валерьевич довольно улыбается, как тот полякофоб Сусанин, он бы и лапки потирал, да заняты они снифтером с коньякЬ-ом, и дымящейся кохибой...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119102
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прочитал и вспомнил товарища...
kdv
у меня есть статистика сервера, где у людей через 3 дня после рестора отвалилась транзакция роллбэком (застрял OIT), и там через год (при sweep interval 0 и незапуске вручную свипа) на на каждый снапшот (на классике) выделялось 27мб TIP. Никто ничего не заметил.
Вы когда говорите "тяжелее", выражайтесь точнее, с конкретными примерами "тяжелости".

...товарища у которого до 7к коннектов к классику
дисконнекты не редкость, и если дисконнект пришелся на активную пишущую транзакцией, стопудово все станет колом
тч все относительно
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119105
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений
прочитал и вспомнил товарища...
...товарища у которого до 7к коннектов к классику
И серверов у этого товарища, конечно же, каждый третий среди установок Firebird?
Или, может быть, товарищ уже ломанулся со своим классиком на четвёрку?

P.S.
Понятно, что "ты спросил - я ответил" (ц) "Уральские пельмени", но даже в этом ответе только одно число и оно всё равно не показывает, насколько тяжело станет товарищу в "новой архитектуре" (тм) супротив старой.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119117
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
только одно число и оно всё равно не показывает, насколько тяжело станет товарищу в "новой архитектуре" (тм) супротив старой.
Раньше, помню, при выходах новых версий, списки были типа туду, что надо проверить и что сделать, если надо.
Сейчас же - говорят: "ставь, попробуй, если что пойдет не так - попробуй подпилить, если не получится - поставь в настройках совместимость и дальше пили".
Жизнь меняется.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119153
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Раньше, помню, при выходах новых версий, списки были типа туду, что надо проверить и что сделать, если надо.
Вы не поверите, но раздел по совместимости из примечаний к выпуску - вообще никуда не пропал.
И (раз пошла такая пьянка), то предлагаю вспомнить сколько вою было из-за необходимости создавать sysdba для Srp-плагина в тройке. Хотя, казалось бы ...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119155
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
И (раз пошла такая пьянка), то предлагаю вспомнить сколько вою было из-за необходимости создавать sysdba для Srp-плагина в тройке. Хотя, казалось бы ...
Не помню. И вообще проблем не помню, связанных с сисдба, на тысячах установок. Что-то такое было, читал, но меня не касалось и не коснулось.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119224
dennis-r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
... да заняты они снифтером с коньякЬ-ом, и дымящейся кохибой...
К ко и бе полагается ром. Есть даже специальный Havana Club Cohiba Atmosphere Union.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119228
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dennis-r,

коньякь.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119234
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я зануда.

Если не лень, вправьте мне пожалуйста мозги насчёт терминологии. Моему складу ума вообще нужен хороший сторож. Я, конечно, понимаю, что правильным ответом будет - поставь FB4, примени метод научного тыка и не полоскай больше людЯм мозги. Но, начитавшись здесь за администрирование-конфигурирование нынешних Огнептиц, я боюся что в моих кривых руках дело кончится переустановкой винды.

Первое.
Что есть понятие "уровень изоляции consistency read" для недотранзакции, организуемой внутри транзакции read_commited read для выполнения селективного запроса. Для полноценной транзакции с резервированием таблиц, упомянутых в запросе, это означает конфликт для транзакций, пытающихся писать в эти таблицы пока наша транзакция так или иначе не закрыта. Мне что-то не верится в применимость массированного применения такого уровня изоляции в многопользовательской среде. Значит, термин надо трактовать как-то иначе. Как - я не понимаю, он, термин, прибит в голове гвоздём.

Второе.
Если чтение выполняется в транзакции read_commited write, то никаких недотранзакций не применяется? То есть read_commited write consistency ещё не придумали? А если придумали, то как обстоят дела с внутренним чтением при update?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119239
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаэто означает конфликт для транзакций, пытающихся писать в эти таблицы пока наша
транзакция так или иначе не закрыта.

Просто при чтении используется не самая свежая версия записи. И всё.

Как именно определяется нужная версия - многа букафф, ниасилил, так что будем
считать, что тут порылась магия.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119243
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Старый плюшевый мишкаэто означает конфликт для транзакций, пытающихся писать в эти таблицы пока наша
транзакция так или иначе не закрыта.

Просто при чтении используется не самая свежая версия записи. И всё.

Как именно определяется нужная версия - многа букафф, ниасилил, так что будем
считать, что тут порылась магия.


Тогда это, то есть уровень изоляции недотранзакции, в привычной терминологии скорее concurrency read с резервированием. Я чего интересовался TPB-то. Подумал - вот все пишут RC_RC. Если read_commited read_consistency - это один коленкор, мичуринская прививка веточки, а если read_commited read consistency - что-то совсем другое, незнакомое, обозначающее не уровень изоляции недотранзакции, а намёк на достигаемый результат. И тогда уместнее было бы, во избежание путаницы, во всяком случае, в содержимом моей лично кости, в которую я ем, что-то типа stability или ещё что-то в этом роде.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119244
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

ты всё попутал.
1. если раньше rc ro типа "не существовала" после своего старта (сразу была якобы committed), то в 4.0 - нет. Она просто транзакция, существующая, как и RC RW.
2. в read consistency каждый запрос "обрамляется" снапшотом. То есть, между запросами в RC у тебя RC, а во время выполнения запроса (от начала до конца выфетчивания) - snapshot.

Всё.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119246
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Старый плюшевый мишка,

ты всё попутал.
1. если раньше rc ro типа "не существовала" после своего старта (сразу была якобы committed), то в 4.0 - нет. Она просто транзакция, существующая, как и RC RW.
2. в read consistency каждый запрос "обрамляется" снапшотом. То есть, между запросами в RC у тебя RC, а во время выполнения запроса (от начала до конца выфетчивания) - snapshot.

Всё.


Во. Я тут как раз о том же поправил предыдущий пост. Ишь, есть ещё ягоды в ягодицах, с помощью ДС допёр. Терминология - страшная сила для закостеневшего ума.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119247
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаТогда это в привычной терминологии скорее concurrency с резервированием.

Грязное чтение: нужная версия - последняя.
Старый read committed: нужная версия - последняя из принадлежащих закоммиченным
конкурентам.
Concurrency: нужная версия - последняя из принадлежащих закоммиченным
конкурентам на момент старта.
Новый read consistency: нужная версия где-то между вторым и третьим.

То есть разница уровней изоляции только в формуле вычисления сколько версий
записи надо пропустить перед выдачей "наверх". Я так понимаю.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119251
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 тр-ция).
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119252
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Старый read committed: нужная версия - последняя из принадлежащих закоммиченным
конкурентам.
Concurrency: нужная версия - последняя из принадлежащих закоммиченным
конкурентам на момент старта.
Новый read consistency: нужная версия где-то между вторым и третьим.
Уточню

Concurrency: нужная версия - последняя из принадлежащих закоммиченным
конкурентам на момент старта тр-ции .

Read consistency: нужная версия - последняя из принадлежащих закоммиченным
конкурентам на момент старта запроса .
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119255
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
Что есть понятие "уровень изоляции consistency read" для недотранзакции, организуемой внутри транзакции read_commited read для выполнения селективного запроса.
Нет никакой "недотранзакции", есть механизм снимков состояния БД, который до fb4 был основан на копии TIP, а в fb4 - на commit order.

Старый плюшевый мишка
Для полноценной транзакции с резервированием таблиц, упомянутых в запросе, это означает конфликт для транзакций, пытающихся писать в эти таблицы пока наша транзакция так или иначе не закрыта. Мне что-то не верится в применимость массированного применения такого уровня изоляции в многопользовательской среде. Значит, термин надо трактовать как-то иначе. Как - я не понимаю, он, термин, прибит в голове гвоздём.
Нет никаких изменений в резервировании таблиц - ты скорее всего путаешь Read Committed Read Consistency и SNAPSHOT (concurrency) тр-ции c CONSISTENCY тр-циями, которые действительно повышают уровни мета-блокировок таблиц.
Ещё раз - RC всех видов и SNAPSHOT тр-ции резервируют таблицы совершенно одинаково и оное резервирование никак не мешает конкурентной работе.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119258
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119260
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

и ещё одно уточнение. Я вижу путаницу в употреблении понятий cursor stability и read consistency .

cursor stability не имеет отношения к конкурентной работе, это про то, что данный конкретный курсор не должен учитывать собственные изменения записи при её повторном чтении.
Типичный пример не стабильного курсора: insert into t select * from t
Эта болячка была вылечена в fb3, задолго до появления read consistency.

read consistency - как раз о конкурентной работе и говорит о том, что запрос должен видеть согласованное ( consistent ) состояние БД в течение всего времени своей (запроса) работы.
Т.е. если в начале работы запроса он мог видеть N записей таблицы, то в любой последующий момент он должен видеть ровно те же самые N записей, независимо от работы конкурентов.
Есс-но, изменения своей тр-ции должны быть видны.
Это требование всегда выполнялось для SNAPSHOT (concurrency) тр-ций, но нарушалось для RC тр-ций.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119261
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
То есть если в TPB указать read_committed rec_version, то
read_consistency там не будет?
Не будет.

Если только не выставить ReadConsistency = 1 в конфиге. В этом случае движок положит на rec_version и стартует read_consistency.

Dimitry Sibiryakov
Или эти режимы не взаимоисключающие?
Взаимоисключающие, конечно.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119264
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТ.е. если в начале работы запроса он мог видеть N записей таблицы, то в любой
последующий момент он должен видеть ровно те же самые N записей, независимо от
работы конкурентов.

В "классике" это обычно называется "отсутствием фантомных чтений" и считается
реквизитом "repeatable read".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119265
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВ этом случае движок положит на rec_version

А, точно, говорилось же, что он на них кладёт... Склероз-с...

PS: Стоило не мелочиться и сразу объявить rec_version и no_rec_version deprecated, причём сразу в заголовках, чтобы при компиляции глаза мозолило.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119271
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
PS: Стоило не мелочиться и сразу объявить rec_version и no_rec_version deprecated, причём сразу в заголовках, чтобы при компиляции глаза мозолило.
Что бы уровень воя в этой теме показался цветочками ? Спасибо, мне и этого хватает.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119272
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЧто бы уровень воя в этой теме показался цветочками ?

Да ну, кто там станет выть на предупреждения-то? Вон, сама птица годами их
сыплет на isc_expand_dpb и ничего.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119278
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаете, джентльмены, тогда я вообще не понимаю зачем надо было затевать всю эту свистопляску с фанфарами насчёт мировой революции. Ввели бы два, как здесь говорили, параметра для TPB и дело с концом, пусть каждый будет кузнецом своего счастья. Влад, это не к тебе лично, разумеется, я догадываюсь.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119285
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаВвели бы два, как здесь говорили, параметра для TPB и дело с концом, пусть
каждый будет кузнецом своего счастья.

Теоретицки, на основании вышеупомянутого соответствия требованиям отсутствия
фантомных чтений, его можно было вообще объявить новым TIL Repeatable Read с
нашлёпкой "ANSI compatible". Но желание причинить добро старым приложениям победило.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119327
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
Ввели бы два, как здесь говорили, параметра для TPB и дело с концом
Какие два параметра ? read_consistency и no_read_consistency ?
Что второй обозначает ? Как его использовать ? В каких случаях он необходим ?
Или речь о чём-то другом ? О чём ?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119331
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Старый плюшевый мишка
Ввели бы два, как здесь говорили, параметра для TPB и дело с концом
Какие два параметра ? read_consistency и no_read_consistency ?
Что второй обозначает ? Как его использовать ? В каких случаях он необходим ?
Или речь о чём-то другом ? О чём ?


Один для стабильного курсора с удержанием версий на время фетча, а он нужен процентах в 10 мест приложений и заметно легче снапшота, удерживающего их до конца жизни транзакции, другой по старинке - фиг с ней со стабильностью в портянке из 30 тыщ заголовков счетов или какого-нибудь архива, но версий не держит.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119333
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
другой по старинке - фиг с ней со стабильностью в
Чем два старых не угодили ?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119336
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Старый плюшевый мишка
другой по старинке - фиг с ней со стабильностью в
Чем два старых не угодили ?


В смысле RC_RO и снапшот? Да всем угодили, только местами RC_RC оптимальнее снапшота и почему бы и не воспользоваться. Если в смысле установить RC_RO в конфиге по умолчанию и где надо включать безальтернативно RC_RC, то чиста эстетически, считаю что параметрами транзакции следует управлять осмысленно при создании транзакции, а не надеяться на умолчания. Впрочем, что хотел понять, я понял, а учить жить не моё собачье дело.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119340
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
hvladпропущено...
Чем два старых не угодили ?


В смысле RC_RO и снапшот?Нет, record_version и no_record_version
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40119347
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Старый плюшевый мишка
пропущено...


В смысле RC_RO и снапшот?
Нет, record_version и no_record_version


Если честно, мне никогда в жизни не приходило в голову использовать no_record_version. Для чтения списков документов-событий оно не надо, а действия, не справочный просмотр, со строкой всегда выполнял в снапшоте. Возможно я что-то упустил в этой жизни :)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128251
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
Ибо у меня нет данных о полезности этого режима.


В процессе изучения работы с тамаутом транзакций (isc_tpb_lock_timeout) обнаружил интересную особенность READ CONSISTENCY в случае обновления одной и той же записи в двух конкурирующих транзакциях.

Пример. Транзакция 1 обновила запись, не завершилась. Транзакция 2 обновляет, встает в ожидание. Транзакция 1 делает COMMIT (успевает до времени таймаута). После этого транзакция 2 продолжает работу.

В 3-ке после коммита транзакции 1 транзакция 2 завершается с deadlock-ом, что делает использование таймаута абсолютно бесполезным. И лишь no_rec_version позволяет работать с таймаутом так, как от него ожидаешь.

Получается, что READ CONSISTENCY с одной стороны, не имеет минусов no_rec_version, а с другой логично работает с таймаутом.

Если это не так, поправьте...
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128253
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там мини-откат и повторение оператора внутри, как у оракула.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128331
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory,

- таймаут, как я его понимаю, нужен для того чтобы транзакция не висела бесконечно "в случае чего". Допустим, если инициировавший транзакцию 1 ушел на обед, то без таймаута транзакция 2 висела бы пока первый не вернулся с обеда. Так что про "бесполезность" таймаута не надо.

- при конкурирующих апдейтах и коммите первой транзакции вторая ДОЛЖНА получить deadlock. Потому что обновляемая второй транзакцией запись "уже не та". Собственно, по правилам версионника у записи может существовать только ОДНА не-коммиттед версия. И апдейт из второй транзакции может пройти без дедлока только если первая завершилась роллбэком, т.е. отменила свои изменения.

как-то так.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128397
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv

- таймаут, как я его понимаю, нужен для того чтобы транзакция не висела бесконечно "в случае чего". Допустим, если инициировавший транзакцию 1 ушел на обед, то без таймаута транзакция 2 висела бы пока первый не вернулся с обеда. Так что про "бесполезность" таймаута не надо.


У меня в 3-ке транзакция isc_tpb_lock_timeout=1 живет бесконечно долго (см.картинку). Всё-таки в названии параметра ключевым является слово lock . Т.е., как я понимаю, если запустили и никаких блокировок нет, то транзакция не завершается. А таймаут используется тогда, когда возникает конфликт.

Я планировал использовать транзакции с таймаутом для устранения блокировок при обновлении хранимых агрегатов. Знаю и на форуме есть примеры, как можно обходить блокировки для решения этой задачи. Но в целом это громоздко. Лучше, если бы эту проблему решал сервер.

kdv

- при конкурирующих апдейтах и коммите первой транзакции вторая ДОЛЖНА получить deadlock. Потому что обновляемая второй транзакцией запись "уже не та". Собственно, по правилам версионника у записи может существовать только ОДНА не-коммиттед версия. И апдейт из второй транзакции может пройти без дедлока только если первая завершилась роллбэком, т.е. отменила свои изменения.


Для Snapshot-а абсолютно согласен, но для Read Committed немного не логично (в 3-ке и более старых версиях, в 4-ке гуд!)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128422
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 имеет специальный алгоритм для обработки конфликтов обновления.
Если почитать документацию, то многое может стать более ясным.
Если это сложно или там непонятно написано - задавай вопросы, будем уточнять.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128424
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory,

странная логика.
Код: plaintext
1.
2.
3.
      - MON$LOCK_TIMEOUT (lock timeout)
          -1: infinite wait
          0: no wait
          N: timeout N

Вот у нас было nowait и wait (бесконечный), а теперь wait на N секунд. Т.е. при блокировке wait через N секунд превращается (однократно) в nowait, выдает ошибку, и опять переключается в wait N.
И всё.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128426
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
таймаут, как я его понимаю, нужен для того чтобы транзакция не висела бесконечно "в случае чего". Допустим, если инициировавший транзакцию 1 ушел на обед, то без таймаута транзакция 2 висела бы пока первый не вернулся с обеда. Так что про "бесполезность" таймаута не надо.
Зачем путаешь человека ? Нет никакого "таймаута тр-ции" в вышеизложенном понимании.
Есть ограничение времени ожидания завершения конкурирующей тр-ции (lock_timeout) и это совсем другой таймаут.
kdv
при конкурирующих апдейтах и коммите первой транзакции вторая ДОЛЖНА получить deadlock. Потому что обновляемая второй транзакцией запись "уже не та". Собственно, по правилам версионника у записи может существовать только ОДНА не-коммиттед версия. И апдейт из второй транзакции может пройти без дедлока только если первая завершилась роллбэком, т.е. отменила свои изменения.
После оного дедлока вторая тр-ция обычно повторяет операцию, что включает в себя перечитывание свежих данных перед обновлением.
Что и делает fb4 в режиме read committed read consistency - совершенно автоматически и прозрачно для приложения.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128466
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНет никакого "таймаута тр-ции" в вышеизложенном понимании.
я имел в виду конфликт конкурентного обновления в wait-транзакции.
hvladЕсть ограничение времени ожидания завершения конкурирующей тр-ции (lock_timeout) и это совсем другой таймаут.
про него мы тут и пишем. и ggreggory, и я.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128478
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

значит я тебя не так понял ;)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128570
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
kdv
таймаут, как я его понимаю, нужен для того чтобы транзакция не висела бесконечно "в случае чего". Допустим, если инициировавший транзакцию 1 ушел на обед, то без таймаута транзакция 2 висела бы пока первый не вернулся с обеда. Так что про "бесполезность" таймаута не надо.
Зачем путаешь человека ? Нет никакого "таймаута тр-ции" в вышеизложенном понимании.
Есть ограничение времени ожидания завершения конкурирующей тр-ции (lock_timeout) и это совсем другой таймаут.
kdv
при конкурирующих апдейтах и коммите первой транзакции вторая ДОЛЖНА получить deadlock. Потому что обновляемая второй транзакцией запись "уже не та". Собственно, по правилам версионника у записи может существовать только ОДНА не-коммиттед версия. И апдейт из второй транзакции может пройти без дедлока только если первая завершилась роллбэком, т.е. отменила свои изменения.
После оного дедлока вторая тр-ция обычно повторяет операцию, что включает в себя перечитывание свежих данных перед обновлением.
Что и делает fb4 в режиме read committed read consistency - совершенно автоматически и прозрачно для приложения.


Скажите мне ради бога что я всё неправильно понял и что вторая транзакция не перекроет обновление в первой автоматически.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128572
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
Скажите мне ради бога что я всё неправильно понял и что вторая транзакция не перекроет обновление в первой автоматически.
Считай, что вторая началась после коммита первой. Так лучше ?
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128590
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Старый плюшевый мишка
Скажите мне ради бога что я всё неправильно понял и что вторая транзакция не перекроет обновление в первой автоматически.
Считай, что вторая началась после коммита первой. Так лучше ?


Баба Яга категорически против если решение о перекрытии принимает не пользователь, поглядевши - а что там изменилось. И речь не только об изменении одного поля двумя транзакциями. На принятие решения в общем случае влияют и другие поля.

Да, есть случаи когда это не только допустимо, но и удобно. Но не меньше случаев и когда недопустимо. На фоне управления типом RC транзакций чохом через конфиг это поле граблей в стране не только мнэээ... нубов.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128603
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка
Баба Яга категорически против если решение о перекрытии принимает не пользователь, поглядевши - а что там изменилось
Каким образом пользователь вообще влияет на порядок старта и коммита параллельных тр-ций ?
Если значения других полей важны - их указывают в where и проверяют rows affectted.

PS Не нужно искать чёрную кошку там, где её нет.
PPS Я всегда готов рассмотреть конкретные проблемные случаи и выяснить их реальную [не]допустимость.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128608
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
Было бы полезно озвучить ожидания. Боюсь, они несколько не соответствуют реальности :)


Ожидание - решить проблемы блокировок не напрягаясь. Как я уже писал выше - страдания происходят при использовании каких-либо хранимых агрегатов, как-то: текущая задолженность клиента, остаток товара на складе, оборот по кассе за январь и т.п. Если одновременно два пользователя отгрузят один и тот же товар, один получит сообщение о блокировке.

Решение. Так как все обновления делаются в коротких пишущих транзакциях, которые успеваю сделать свою работу за 1-2 сек (я думаю у большинства так же), то можно поставить в параметрах пишущей транзакции таймаут 3 секунды и забыть о блокировках навсегда.

Как я пока вижу из тестов, в 4-ке с READ CONSISTENCY это возможно. А в 3-ке такой финт не работает:
  • при rec_version read committed ожидающая транзакция всё равно получает deadlock при commit-е первой
  • при no_rec_version read committed работа ожидающей транзакции продолжается и всё работает как ожидаешь... но блокировок становится в 10 раз больше на чтениях
hvlad
После оного дедлока вторая тр-ция обычно повторяет операцию, что включает в себя перечитывание свежих данных перед обновлением.
Что и делает fb4 в режиме read committed read consistency - совершенно автоматически и прозрачно для приложения.


Да-да! В 4-ке это как раз и работает как надо. А в 3-ке вместо повтора операции происходит отлуп.

Старый плюшевый мишка
Но не меньше случаев и когда недопустимо.


Тогда используйте Snapshot (isc_tpb_concurrency) - он работает как вы хотите. Как в 3-ке, так и в 4-ке. А вот read committed стал работать логичнее. Мои доводы см.выше.

Старый плюшевый мишка
На фоне управления типом RC транзакций чохом через конфиг это поле граблей в стране не только мнэээ... нубов.


Уже несколько раз писали тут, что на уровне коннекта старый вариант можно задать и работать как и прежде.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128617
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Старый плюшевый мишка
Баба Яга категорически против если решение о перекрытии принимает не пользователь, поглядевши - а что там изменилось
Каким образом пользователь вообще влияет на порядок старта и коммита параллельных тр-ций ?
Если значения других полей важны - их указывают в where и проверяют rows affectted.

PS Не нужно искать чёрную кошку там, где её нет.
PPS Я всегда готов рассмотреть конкретные проблемные случаи и выяснить их реальную [не]допустимость.


Пользователь влияет на решение - актуальны его изменения после конфликта или нет. Когда речь о регистрации уже свершившегося факта - как говорится, нравится, не нравится, спи, моя красавица. Я тут как-то упоминал затяжное завершение много-много-позиционной складской операции. Если программировал гомосапиенс, то есть все изменения идут в приращениях, то применение для этого такой RC_RC вместо снапшота - это просто конфетка, снимающая серьёзный гемор. В руках же гомоэректуса - разрушительная сила. Когда же о планировании каких-то действий - бабушка надвое для всех гом. Скажем, резервирование товара на складе под планирующиеся отгрузки. Превышение количества резервов над имеющимся в наличии количеством - штука не так чтоб недопустимая, но нежелательная и требующая вдумчивого подхода. Скажем, отгрузка послезавтра, сегодня получается превышение. Но если человек знает, что завтра крест на пузе придёт ещё партия, то можно и рискнуть. Не каждый день фуры под Выборгом разбиваются. А если точно знает что не придёт, то утрётся или согласует с коллегой кому нужнее. Простейшее влияние другого поля - один формирует количество в отгрузке, другой меняет дату по объективным, не зависящим ни от одного ни от другого причинам. Правда, если он её изменит после формирования, то первый этого тоже не заметит или заметит поздно :) Ну, в общем-то, да, можно конечно по старинке вести все изменения в снапшотах и Read Commited как таковой пользовать для изменений в исключительных, хорошо продуманных случаях, тут вы с Григорием правы, но те же хранимые агрегаты если ведутся на лету, то триггерами в снапшотах, изменяющих "первичку". Короче, без переформатирования мозгов не обойтись, надо с этой мыселью переспать :)
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128622
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Старый плюшевый мишка
Превышение количества резервов над имеющимся в наличии количеством - штука не так чтоб недопустимая, но нежелательная и требующая вдумчивого подхода.


При READ CONSISTENCY если у вас выполняется не группа запросов, а один единственный, например, update или вызов процедуры, то он целиком будет как-бы в снапшоте, т.к. снимок создается на каждый статмент верхнего уровня. Всё что он порождает (все запросы внутри процедуры, все вызываемые ими триггеры) будут выполняться в этом снапшоте. При конфликтах рестартуется статмент самого верхнего уровня. Т.е. если у вас не верхнем уровне вызывается процедура, и процедура делает 100 updat-ов и на 100-ом updat-е встала, то после разблокировки предыдущие 99 откатятся и вся процедура выполнится заново. И логика не будет нарушена.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40128985
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory
Как я уже писал выше - страдания происходят при использовании каких-либо хранимых агрегатов
Используй разделение записи. С ним значительно полегче.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40129026
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WildSery
ggreggory
Как я уже писал выше - страдания происходят при использовании каких-либо хранимых агрегатов
Используй разделение записи. С ним значительно полегче.


Если вы про это , то в этих методиках тоже есть минусы. Да и хотелось бы, чтобы проблемы блокировок решались легко и без затей на уровне сервера, а не на уровне разработчика.
...
Рейтинг: 0 / 0
ANN Выпущен Firebird 4!
    #40129029
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory
Да и хотелось бы, чтобы проблемы блокировок решались легко и без затей на уровне сервера, а не на уровне разработчика.
а жопу вареньем не намазать?
...
Рейтинг: 0 / 0
371 сообщений из 371, показаны все 15 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ANN Выпущен Firebird 4!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (7): Анонимы (4), Bing Bot, Yandex Bot 2 мин., Google Bot 5 мин.
x
x
Закрыть


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