powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
25 сообщений из 156, страница 5 из 7
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877259
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исключительно ради копи-паста. У меня когнетивный диссонанс

chpashaLeonid KudryavtsevНачинает ли команда SELECT новую транзакцию

конечно, ведь ....

Leonid KudryavtsevIMHO не все так очевидно


Basil A. SidorovНеправильное у вас ИМХО.
Выборка обязана подчиняться общим правилам просто потому.....

Basil A. Sidorov..."Концепт-гада" не очень с вами согласен.... Или хотите предоставить классификацию, в которой оператор select не принадлежит к D(ata)M(anipulation)L(anguage) ?

Basil A. Sidorov... только select в курсоре PSQL - вообще ни разу не DML и в этом случае надо читать другие разделы документации.

Basil A. Sidorov... дальше можно не теоретизировать, поскольку БД .... для чтения - крайне узкий сегмент



по поводу SELECT и DML. Тут уже не для флуда, а справедливости ради

ИнтернетСтрого говоря существует пять DML команд

SELECT
INSERT
UPDATE
DELETE
MERGE

На практике профессионалы в области баз данных SELECT обычно не рассматривают как часть DML. Обычно SELECT рассматривается отдельно и это становится понятно когда ....



Ну и напомню, что я и говорил, что INSERT,UPDATE,DELETE транзакцию точно начинает, а вот про SELECT'ом - я не уверен,

И пример 21995440 , который IMHO вполне показывает, что в ряде случаев (пусть и редких) Oracle вполне со мной согласен.

Определение "Active Transactions" из того же концепта "An active transaction has started but not yet committed or rolled back"

блок с автономной транзацией, SELECT есть, а "has started" нет

UPDATE, SELECT FOR UPDATE - "has started" есть
SELECT - нет

Практика. Oracle 11g. Автономные транзакции.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877262
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ради справедливости к документации Oracle
Leonid Kudryavtsev...Мне кажется, есть два разных механизма СУБД...
и тут Oracle Co. вполне со мной согласен

глава N 9 - Data Concurrency and Consistency
глава N 10 - Transactions

если бегло просмотреть главу 10, то ничего про SELECT там нет. Одни сплошные INSERT / UPDATE. Что подразумевают авторы под "executable SQL statement" то лично для меня великая тайна. Судя по всему, некоторые разновидности команды SELECT они не подразумевали.

И да, бегло данную главу перед началом дискуссии я прочитал. Но, повторюсь, в главе Transactions никаких явных слов про SELECT нет.

P.S.
Добавил в автономный блок команду
TRANSACTION NAME 'my_transaction';
как и обещал концепт - транзакция (автономная) началась (ошибка), а вот просто SELECT - нифига )))
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877264
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ради справедливости к Basil A. Sidorov )))

В главе N 9 Data Concurrency and Consistency есть понятие Transaction-Level Read Consistency которое each statement in a transaction sees data from the same point in time, which is the time at which the transaction began.

Но тут у нас уже происходит зацикливание: Командир всегда прав, если командир не прав - смотри пункт 1.

:=)

IMHO
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877282
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
"DML оператор select" и "select в PSQL курсоре" - сильно разные вещи, хотя и там и там есть одинаковые буквы.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877284
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevВ главе N 9 Data Concurrency and Consistency есть понятие Transaction-Level Read ConsistencyТранзакция и уровень изоляции транзакции - тоже разные вещи, хотя тоже совпадают некоторые буквы.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877295
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevКогда есть UPDATE/DELETE/INSERT мы транзакцию всегда можем "пощупать" т.к. работа механизма N2 вполне себе видна

Если же изменений нет - то транзакция становится чисто призрачным теоретическим термином. Есть она, нет ее.... есть ли ангелы, нет ангелов... сколько их может уместиться на кончике иглы?
наркоманы, прочтите концептс уже. там же три странички.
после set transaction isolation level serializable; первый же селект стартанет транзакцию. и ее замечательно можно пощупать, т.к. все следующие селекты вернут данные на момент старта первого DML, на момент старта первого селекта.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877311
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наркоманы все что свзяно с БД ,это удел хибера и ИИ
все что не укладывается в crud =cпроектировано как говно=это слова Джоша Лонга
забудье уже про ващи селекты и хранимые процедуры

кто хочет приходите в питер на joker,чтобы понять насколько вы устарели в рамках современой разработки приложений
я вам вангую вы прозрете насоколько ваши знания устарели
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877316
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

Для oracle есть ещё два способа.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877327
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,
Наркоман. Тип изоляции в бд никто не меняет.
Это ты так, для справки сказал что в африке бывают семиголовые чудища.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877330
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpH5N1,
Наркоман. Тип изоляции в бд никто не меняет.
Это ты так, для справки сказал что в африке бывают семиголовые чудища.
это для деревенских, что не слышали, что такое уровень изоляции простой способ взять и убедится что селект это DML и вполне себе стартует транзакцию.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877338
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,
Плохо когда теретики спорят с практиками.
Одни говорят - транзакция стартует!!!
А другие говорят - что значит стартует, если абсолютно ничего не меняется. Откатить даже нельзя))).
Тут пришел ты и для доказательства предложил изменить НУ (начальные условия).
В общем весело отдыхаем.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877397
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpА другие говорят - что значит стартует, если абсолютно ничего не меняется. Откатить даже нельзя)))Жили-были три поросёнка: Ниф-Ниф, Нуф-Нуф и Нах-Нах.
Заканчивай, Петро, выделываться.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877398
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
Не боись. Я не много)
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877449
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Варианты получения консистентных селектов.

Код: plsql
1.
2.
3.
4.
SQL> set transaction read only;
SQL> select ..... (first select)
SQL> select ..... (second consistent select)
commit;



Еще вариант. С помощью flashback query
Код: plsql
1.
2.
3.
4.
5.
(запомиаем текущий scn)
SELECT current_scn FROM V$DATABASE;

SQL> select ..... (first select) as of scn .....
SQL> select ..... (second consistent select) as of scn .....


+ тоже самое через current timestamp.

Можно еще рассмотреть через materialized views (в старых версиях это называлось snapshot) или temporary tables.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877479
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да. Но как говорят фаулеры и им подобные, на сервере это не применяется.
А советуют прменять " read-first — транзакционная стратегия высокого параллелизма".
Это когда сначала все читающие, а потом пишем.
Пишет контейнер в прграммной транзакции.
....
Это не решает конечно твою проблему с двумя select, но зато не тормозит и высокий параллелизм.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877482
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
То есть ты привел решение от админа и в субд. А фаулер решает не трогая механизмы бд.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877486
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я и есть бывший админ БД.

А что топик запрещает нам обсуждать механику БД. Кажется мы уже достаточно далеко ушли от Фаулера.
А он - чортов теоретик и говорит как нужно сажать клубнику квадратным способом. Только сам он никогда
в колхозе не был. И не знает сельхоза.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877497
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДа я и есть бывший админ БД.У меня отличная память. Я знаю конечно.
Просто ты с одной стороны посмотрел, я с другой стороны.
Это здорово смотреть с разных сторон.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877515
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
То есть по концепции выше, для высокого параллелизма и масштабирования, предлагается вообще вывести чтение ЗА ТРАНЗАКЦИИ.
Компромисс в архитектуре неизбежная вещь (с)
Поэтому то что сутки обсуждаем предлагается вообще не обсуждать и забыть.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877527
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Топик не про параллелизм а про блокировки.

Я-бы различал эти понятия хотя-бы чтоб не скатываться в прочие вопросы типа перформанса.
Какой перформанс если оператор "ушла на обед" и оставила открытой форму редактирования
клиента?

Это другая задача.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877531
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТопик не про параллелизм а про блокировки.тут админы пишут.
"если много транзакций и они длинные, то блокировка на запись переходит на страничную...."
Связь прямая параллелизма и транзакции.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877534
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
То есть если select пихаем в транзакцию, она будет 5 сек. Если убираем - 5миллисек.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877535
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpmaytonТопик не про параллелизм а про блокировки.тут админы пишут.
"если много транзакций и они длинные, то блокировка на запись переходит на страничную...."
Связь прямая параллелизма и транзакции.
Какие админы? С какой DBMS?
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877537
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpmayton,
То есть если select пихаем в транзакцию, она будет 5 сек. Если убираем - 5миллисек.
Покажи макет кода. Я хочу обсуждать предметно.
...
Рейтинг: 0 / 0
Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
    #39877539
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКакие админы? С какой DBMS?с веба. Они не правы что ли?
...
Рейтинг: 0 / 0
25 сообщений из 156, страница 5 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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