Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Выбор БД для быстрой работы с большими таблицами.
|
|||
|---|---|---|---|
|
#18+
Случайно заглянулЗачем версионнику ISOLATION LEVEL SERIALIZABLE. У него есть версионные механизмы поддержания целосности данных. Как вы понимате "версионные механизмы поддержания целосности данных" ??? Если вы имеете ввиду непротиворечимость то это и есть ISOLATION LEVEL. Вне зависимости версионники это или блокировочник. Только в версионнике непротиворечимость достигается без блокировок по чтению. Случайно заглянулДаже само понятие ISOLATION LEVEL противоречит понятию версионности , не так ли? Не так. Случайно заглянулАвтоматическое управление блокировками это не версионность. А кто-то называл это версионостью ? Случайно заглянулГрязное чтение тоже никого не блокирует, но это не версионность. Вот когда ISOLATION LEVEL >= Read Committed и никто не блокируется по чтению, вот тогда это версионность. А Грязное чтение говорит об отсутствии версионности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 10:10 |
|
||
|
Выбор БД для быстрой работы с большими таблицами.
|
|||
|---|---|---|---|
|
#18+
Случайно заглянул Не кажется ли вам что вы противоречите концепции версионности и и предидущему оратору. Что говорит о том, что oracle не совсем версионник. Зачем версионнику ISOLATION LEVEL SERIALIZABLE. У него есть версионные механизмы поддержания целосности данных. Даже само понятие ISOLATION LEVEL противоречит понятию версионности , не так ли? В документации по oracle я нигде не встречал описание понятия версионности. Может процитируете для меня? 1) Нет единой "концепции версионности", которой можно противоречить, система контроля версий может быть добавлена к любому типу менеджера транзакций, в том числе и "блокировочному", целью введения такого механизма является попытка избежать ожиданий при чтении или лишних откатов, за счет затрат на хранение версий данных. Если рассматривать типы планировщиков транзакций то можно выделить следующие группы: Код: plaintext 1. 2. 3. 4. 5. Механизм контроля версий (MVCC) может быть добавлен к любому планировщику транзакций в целях минимизации количества конфликтных ситуаций требующих ожидания/отката за счет затрат на необходимость хранить версии данных. Напримеры: TO+MVCС : InterBase (Этот подвид обычно и называют "версионник" в противопоставлении "версионник" vs "блокировочник" на форумах и в научно-популярных;) статьях ). (2PL + TO) + MVCС : Oracle (смешанный механизм шедулера, можно рассматривать как TO для чтения и 2PL для записи). В Yukon, на сколько я пологаю, "Версионность" это как и в Oracle смешанный механизм шедулера (2PL + TO) + MVCС, но тут я могу ошибаться. [1] Concurrency Control & Recovery in Database Systems, By Ph. Bernstein . [2]/topic/94928&pg=8#708730 Случайно заглянулOracle кстате версиониик только внешне, внутри он все такой же блокировочник. ИХМО постоянное возникновенни ошибки ORA-1555 Snapshot too old коственно говорит о кривости рук проектировщика базы. 2) Как уже написано выше в Oracle применен гибридный механизм управления паралельными заданиями и поддержания целостности (2PL + TO) + MVCС. ORA-1555 Snapshot too old это результат некоторого компромиса в угоду скорости взамен на некоторую вероятность не выполнить транзакцию. Случайно заглянул Зачем версионнику ISOLATION LEVEL SERIALIZABLE. У него есть версионные механизмы поддержания целосности данных. 3) То что в Oracle называется ISOLATION LEVEL SERIALIZABLE, не является SERIALIZABLE в полном понимании (т.е. не обеспечивает удовлетворения критерию упорядоченности), в теории такой уровень изоляции обычно называют SNAPSHOT. SERIALIZABLE в Oracle его назвали благодаря нечеткому определению этого уровня в ANSI стандарте ( через отсутствие некоторого набора феноменов, которые SNAPSHOT как раз и предотвращает). Для обеспечения реальной сериализации требуется ставить дополнительные блокировки. Случайно заглянул В документации по oracle я нигде не встречал описание понятия версионности. Может процитируете для меня? 4) Oracle® Database Concepts 10g Release 1 (10.1). 1 Introduction to the Oracle Database. Concurrency ... Oracle resolves such issues by using various types of locks and a multiversion consistency model . These features are based on the concept of a transaction Read Consistency, Undo Records, and Transactions To manage the multiversion consistency model , Oracle must create a read-consistent set of data when a table is queried (read) and simultaneously updated (written). When an update occurs, the original data values changed by the update are recorded in the database undo records. As long as this update remains part of an uncommitted transaction, any user that later queries the modified data views the original data values. Oracle uses current information in the system global area and information in the undo records to construct a read-consistent view of a table\'s data for a query. Only when a transaction is committed are the changes of the transaction made permanent. Statements that start after the user\'s transaction is committed only see the changes made by the committed transaction. The transaction is key to Oracle\'s strategy for providing read consistency. This unit of committed (or uncommitted) SQL statements: Dictates the start point for read-consistent views generated on behalf of readers Controls when modified data can be seen by other transactions of the database for reading or updating 5) В Вашем примере c дебетовыми транзакциями Oracle на уровне ISOLATION LEVEL SERIALIZABLE (snapshot) одну транзакцию откатит. На уровне изоляции READ COMITTED ( опять же несколько не соответствующем ANSI уровню), разработчику надо принимать дополнительные меры по блокированию счета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 11:28 |
|
||
|
|

start [/forum/topic.php?fid=35&gotonew=1&tid=1554045]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 338ms |

| 0 / 0 |
