Читаем вместе. PostgreSQL 16 изнутри. Стр. 49 — 54

PostgreSQLПродолжаю читать книгу «PostgreSQL Изнутри».

Будет рассмотрены только один раздел:

2.2. Уровни изоляции и аномалии в стандарте SQL

Для начала, приведу историю версий SQL стандарта и ссылки на первые его тексты:

Год Название Примечание
1986 SQL-86 Не являлся международным стандартом
1989 SQL-89 SQL-1 text_en
1992 SQL-92 SQL-2 text_ru
1999 SQL:1999 SQL-3 text_en
2003 SQL:2003    
2006 SQL:2006    
2008 SQL:2008    
2011 SQL:2011    
2016 SQL:2016    
2023 SQL:2023    

Начиная с SQL:2003 перестали присваивать нумерацию версиям стандарта. Наверное, стали использовать годовую нумерацию.

Интересно что про уровни изоляции говорится только в версии стандарта от 1992 года. А до этого аж две версии было выпущено! Да и в проекте POSTGRES вышла уже четвёртая версия.

Интересно что в первой версии стандарта было чуть больше ста страниц. В текущей версии 2023 года — уже более нескольких тысяч страниц!

Уровни изоляций в соответствии со стандартом:

  • чтение незафиксированных данных (READ UNCOMMITED)
  • чтение зафиксированных данных (READ COMMITED)
  • повторимое чтение (REPEATABLE READ)
  • сериализуемость (SERIALIZABLE)

Если эта тема интересна, рекомендую ещё ознакомиться со статьей:

либо перевод её на русский:

Пока стандарты искал, несколько раз встретил отсылку на эту статью.

И, скажем так, краткое описание стандарта 1992 года:

В книге показаны аномалии:

  • потерянное обновление (lost update)
  • грязное чтение (dirty read)
  • неповторяющееся чтение (non-repeatable read)
  • фантомное чтение (phantom read)

А вот это предложение я отдельно отмечу:

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


Be the first to comment

Leave a Reply

Ваш Mail не будет опубликован.


*