Що таке рівень ізоляції "Хаос" і коли його слід використовувати?


26

Документація ADO.NET показує можливість встановлення рівня транзакції транзакції SQL в Хаос. Це звучить неприємно, але якщо функція є, імовірно, вона має деяке законне використання.

Команда SET TRANSACTION ISOLATION LEVEL в BOL (ах! Бач, я можу використовувати google та BOL) ніщо не називається "хаосом", а ADO.NET має 5 режимів, які добре підходять до документально підтверджених рівнів на додаток до "хаосу"

Для чого або для кого цей рівень Хаосу? (А чому воно має недоброзичливе ім’я?)

Відгуки: Перелік ADO.NET

Відповіді:


11

Відповідно до документації DB2, це дивний рівень ізоляції, коли зміни вносяться до бази даних, як тільки ви їх виконайте (щоб інші бачили).

Це не говорить прямо, але, наскільки я можу сказати, немає і відкоту. В основному, це означає, що взагалі немає транзакцій . "Ви кажете" транзакція ", але мене це зовсім не хвилює". Таким чином -> хаос.

Насправді я виявив у деякому списку електронних листів, що "Хаос" насправді відображає рівень транзакції "* NONE" у "DB2 для i".


Хаос - це ступінь 0 ізоляції, як пояснили Ройтер та Грей в їхній теорії транзакційної обробки. Якщо ви думаєте, що Read Uncommitted дійсно стосується ізоляції даних, що читаються (і, до речі, це не те саме, що хаос). Хаос (як і будь-який інший ступінь ізоляції) має безліч властивостей - однією з найцікавіших з яких є його здатність порушувати ступінь 3 (серіалізабельний повторюваний зчитування). Суть полягає в тому, що Хаос слід використовувати тільки в потрібному контексті (тобто я б запропонував запускатись лише у повній ізоляції для наборів даних, які не потребують відкату).
Марк Бродбент

11

Ви не можете використовувати його проти SQL Server.

Це було в DTS:

І є в SSIS:

Більше посилань, спочатку додав Нік Чаммас у коментарі:


7

DB2 має рівень ізоляції транзакцій під назвою "Хаос":

Властивість DB2Connection.ConnectionString - Центр знань IBM

Можливо, це призначено для цього використовувати. Я дійсно не впевнений, але я б припустив, що це означає відсутність визначеної ізоляції угод.


2
Видається лише для системи i. Ви знаєте, що це означає? Я не можу знайти багато інформації про це, він говорить, що немає фіксації, тому я припускаю, що це означає, що кожне твердження робиться миттєво. Але це здається ортогональним до рівня ізоляції, тому, мабуть, є щось інше
Леннарт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.