Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7   вперед  Ctrl      все
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8001
Исключительно ради копи-паста. У меня когнетивный диссонанс
+

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

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


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


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. Автономные транзакции.
16 окт 19, 18:41    [21995808]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8001
Ради справедливости к документации 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 - нифига )))
16 окт 19, 18:53    [21995812]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8001
Ради справедливости к 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
16 окт 19, 18:59    [21995815]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9504
Leonid Kudryavtsev,
"DML оператор select" и "select в PSQL курсоре" - сильно разные вещи, хотя и там и там есть одинаковые буквы.
16 окт 19, 20:16    [21995842]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9504
Leonid Kudryavtsev
В главе N 9 Data Concurrency and Consistency есть понятие Transaction-Level Read Consistency
Транзакция и уровень изоляции транзакции - тоже разные вещи, хотя тоже совпадают некоторые буквы.
16 окт 19, 20:17    [21995844]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 249
Leonid Kudryavtsev
Когда есть UPDATE/DELETE/INSERT мы транзакцию всегда можем "пощупать" т.к. работа механизма N2 вполне себе видна

Если же изменений нет - то транзакция становится чисто призрачным теоретическим термином. Есть она, нет ее.... есть ли ангелы, нет ангелов... сколько их может уместиться на кончике иглы?

наркоманы, прочтите концептс уже. там же три странички.
после set transaction isolation level serializable; первый же селект стартанет транзакцию. и ее замечательно можно пощупать, т.к. все следующие селекты вернут данные на момент старта первого DML, на момент старта первого селекта.
16 окт 19, 20:53    [21995856]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2732
наркоманы все что свзяно с БД ,это удел хибера и ИИ
все что не укладывается в crud =cпроектировано как говно=это слова Джоша Лонга
забудье уже про ващи селекты и хранимые процедуры

кто хочет приходите в питер на joker,чтобы понять насколько вы устарели в рамках современой разработки приложений
я вам вангую вы прозрете насоколько ваши знания устарели
16 окт 19, 21:51    [21995879]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
mayton
Member

Откуда: loopback
Сообщений: 42941
H5N1,

Для oracle есть ещё два способа.
16 окт 19, 22:15    [21995888]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
H5N1,
Наркоман. Тип изоляции в бд никто не меняет.
Это ты так, для справки сказал что в африке бывают семиголовые чудища.
16 окт 19, 23:21    [21995924]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 249
PetroNotC Sharp
H5N1,
Наркоман. Тип изоляции в бд никто не меняет.
Это ты так, для справки сказал что в африке бывают семиголовые чудища.

это для деревенских, что не слышали, что такое уровень изоляции простой способ взять и убедится что селект это DML и вполне себе стартует транзакцию.
16 окт 19, 23:41    [21995929]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
H5N1,
Плохо когда теретики спорят с практиками.
Одни говорят - транзакция стартует!!!
А другие говорят - что значит стартует, если абсолютно ничего не меняется. Откатить даже нельзя))).
Тут пришел ты и для доказательства предложил изменить НУ (начальные условия).
В общем весело отдыхаем.
16 окт 19, 23:54    [21995938]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9504
PetroNotC Sharp
А другие говорят - что значит стартует, если абсолютно ничего не меняется. Откатить даже нельзя)))
Жили-были три поросёнка: Ниф-Ниф, Нуф-Нуф и Нах-Нах.
Заканчивай, Петро, выделываться.
17 окт 19, 07:03    [21996001]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
Basil A. Sidorov,
Не боись. Я не много)
17 окт 19, 07:09    [21996003]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
mayton
Member

Откуда: loopback
Сообщений: 42941
Варианты получения консистентных селектов.

SQL> set transaction read only;
SQL> select ..... (first select)
SQL> select ..... (second consistent select)
commit;


Еще вариант. С помощью flashback query
(запомиаем текущий 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.
17 окт 19, 10:03    [21996113]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
mayton,
Да. Но как говорят фаулеры и им подобные, на сервере это не применяется.
А советуют прменять " read-first — транзакционная стратегия высокого параллелизма".
Это когда сначала все читающие, а потом пишем.
Пишет контейнер в прграммной транзакции.
....
Это не решает конечно твою проблему с двумя select, но зато не тормозит и высокий параллелизм.
17 окт 19, 10:39    [21996165]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
mayton,
То есть ты привел решение от админа и в субд. А фаулер решает не трогая механизмы бд.
17 окт 19, 10:40    [21996171]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
mayton
Member

Откуда: loopback
Сообщений: 42941
Да я и есть бывший админ БД.

А что топик запрещает нам обсуждать механику БД. Кажется мы уже достаточно далеко ушли от Фаулера.
А он - чортов теоретик и говорит как нужно сажать клубнику квадратным способом. Только сам он никогда
в колхозе не был. И не знает сельхоза.
17 окт 19, 10:44    [21996179]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
mayton
Да я и есть бывший админ БД.
У меня отличная память. Я знаю конечно.
Просто ты с одной стороны посмотрел, я с другой стороны.
Это здорово смотреть с разных сторон.
17 окт 19, 10:51    [21996199]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
mayton,
То есть по концепции выше, для высокого параллелизма и масштабирования, предлагается вообще вывести чтение ЗА ТРАНЗАКЦИИ.
Компромисс в архитектуре неизбежная вещь (с)
Поэтому то что сутки обсуждаем предлагается вообще не обсуждать и забыть.
17 окт 19, 11:06    [21996236]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
mayton
Member

Откуда: loopback
Сообщений: 42941
Топик не про параллелизм а про блокировки.

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

Это другая задача.
17 окт 19, 11:12    [21996252]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
mayton
Топик не про параллелизм а про блокировки.
тут админы пишут.
"если много транзакций и они длинные, то блокировка на запись переходит на страничную...."
Связь прямая параллелизма и транзакции.
17 окт 19, 11:15    [21996258]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
mayton,
То есть если select пихаем в транзакцию, она будет 5 сек. Если убираем - 5миллисек.
17 окт 19, 11:17    [21996261]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
mayton
Member

Откуда: loopback
Сообщений: 42941
PetroNotC Sharp
mayton
Топик не про параллелизм а про блокировки.
тут админы пишут.
"если много транзакций и они длинные, то блокировка на запись переходит на страничную...."
Связь прямая параллелизма и транзакции.

Какие админы? С какой DBMS?
17 окт 19, 11:17    [21996262]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
mayton
Member

Откуда: loopback
Сообщений: 42941
PetroNotC Sharp
mayton,
То есть если select пихаем в транзакцию, она будет 5 сек. Если убираем - 5миллисек.

Покажи макет кода. Я хочу обсуждать предметно.
17 окт 19, 11:18    [21996265]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Оптимистическая блокировка в рамках бизнес-транзакции охватывающей несколько систе  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
mayton
Какие админы? С какой DBMS?
с веба. Они не правы что ли?
17 окт 19, 11:18    [21996267]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7   вперед  Ctrl      все
Все форумы / Java Ответить