|
su.dbms
- SU.DBMS ----------------------------------------------------------------------
From : Tengiz Kharatishvili 2:5020/400 25 Aug 2002 22:09:51
To : All
Subject : Отчёты, сериализуемость, фантомы и MS SQL
--------------------------------------------------------------------------------
При уровне изоляции serializable фантомов не бывает никогда (т.е. вообще
никогда - никаких исключений, никаких очень небольших, но ненулевых
вероятностей: это всегда чистый zero) по определению этого уровня изоляции.
И, соответственно, на любом нормальном сервере, который реализует
serializable честно. MS SQL Server к таким относится.
Вне зависимости от количества и типа запросов или степени их параллельности
для serializable транзакции уже извлечённые строки не могут быть изменены
другими транзакциями, а новые строки от других транзакций, которые могли бы
удовлетворить уже запрошенным serializable транзакцией условиям отбора, не
появятся до конца транзакции, пусть даже и ценой задержки выполнения других
транзакций, когда это требуется.
Механика обеспечения отсутствия фантомов у блокировочников нехитрая: при
наличии подходящих индексов это key-range блокировки, при отсутствии -
табличные блокировки. И то, и другое, разумеется, может обходится довольно
дорого - либо с точки зрения потребления памяти (слишком много мелких
блокировок), либо с точки зрения concurrency (слишком крупные блокировки).
Hу, и требует осторожности от разработчика приложения, чтобы не нарываться
лишний раз на deadlock-и.
Если кто-то думает, что знает сценарий, когда serializable не спасает от
фантомов - сначала попробуйте на живом сервере и... убедитесь сами, что их
нет. Если, тем не менее, вы полагаете, что увидели фантом, тогда скорее
всего ваш сервер не поддерживает serializable (читайте внимательно
документацию), или, возможно, вы не совсем понимаете, что такое фантом,
сериализация, согласованные состояния, etc. (освежите в памяти теорию). Если
всё же сомнения остаются - давайте сценарий и результаты сюда. Даже если это
мысленный эксперимент в духе Эйнштейна. Разберёмся. Только давайте
конкретные сценарии, а не рассуждения вообще.
То же самое по поводу снапшотов: у блокировочников способ обеспечения
полноценного снимка один - транзакция должна быть serializable плюс read
only. Способ абсолютно железный и снимок всегда получится согласованным,
хотя для больших объёмов данных и может оказаться дорогим. Отличие от
снимка, который делается версионником в том, что у версионника ситуация
заморожена на момент начала читающей транзакции, а у блокировочника не
обязательно соответствует началу чтения.
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
| Тема: |
Автор: |
Дата: |
|
Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
25 Aug 2002 22:09:51 |
Re: Отчёты, сериализуемость, фантомы и MS SQL |
Liliya Huff |
26 Aug 2002 01:07:32 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Andrew Grachyov |
26 Aug 2002 22:10:00 |
Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
26 Aug 2002 16:25:42 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tolik Tentser |
26 Aug 2002 19:00:11 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
26 Aug 2002 20:29:37 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Igor Kuhtin |
27 Aug 2002 14:45:06 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Dmitry Novikov |
28 Aug 2002 11:59:17 |
   Re: Отчёты, сериализуемость, фантомы и MS SQL |
Igor Kuhtin |
28 Aug 2002 17:57:47 |
    Re: Отчёты, сериализуемость, фантомы и MS SQL |
Dmitry Novikov |
28 Aug 2002 21:17:05 |
     Re: Отчёты, сериализуемость, фантомы и MS SQL |
Igor Kuhtin |
29 Aug 2002 08:47:33 |
    Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
29 Aug 2002 15:39:43 |
    Re: Отчёты, сериализуемость, фантомы и MS SQL |
Igor Kuhtin |
30 Aug 2002 08:40:51 |
    Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
30 Aug 2002 14:40:09 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tolik Tentser |
28 Aug 2002 18:36:07 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Igor Kuhtin |
28 Aug 2002 18:31:01 |
  Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Sergey Pratch |
29 Aug 2002 01:40:47 |
  Re: Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Igor Kuhtin |
29 Aug 2002 09:01:11 |
  Hа: Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Sergey Pratch |
29 Aug 2002 15:29:30 |
   Hа: Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Petr Ageev |
30 Aug 2002 08:35:00 |
   Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Matsievsky |
30 Aug 2002 16:01:14 |
   Re: Hа: Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Igor Kuhtin |
30 Aug 2002 08:36:33 |
  Re: Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Matsievsky |
29 Aug 2002 15:17:11 |
  Re: Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Igor Kuhtin |
30 Aug 2002 08:45:27 |
  Re: Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Matsievsky |
31 Aug 2002 10:42:29 |
  Re: Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Igor Kuhtin |
31 Aug 2002 11:38:32 |
  Re: Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Tolik Tentser |
31 Aug 2002 19:47:07 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Liliya Huff |
26 Aug 2002 20:19:28 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
26 Aug 2002 20:52:12 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Liliya Huff |
27 Aug 2002 00:53:59 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
27 Aug 2002 16:30:40 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Andrew Grachyov |
26 Aug 2002 22:15:00 |
Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
26 Aug 2002 19:24:31 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
26 Aug 2002 20:29:36 |
  Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Sergey Pratch |
26 Aug 2002 22:42:03 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
27 Aug 2002 05:38:48 |
   Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Sergey Pratch |
27 Aug 2002 10:35:52 |
   Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
27 Aug 2002 17:01:17 |
   Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
27 Aug 2002 19:03:23 |
    Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Sergey Pratch |
27 Aug 2002 20:20:37 |
    Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
28 Aug 2002 11:36:45 |
    Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Sergey Pratch |
28 Aug 2002 13:51:09 |
    Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
28 Aug 2002 20:40:24 |
     Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Sergey Pratch |
29 Aug 2002 01:40:47 |
      Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
29 Aug 2002 05:33:15 |
    Re: Отчёты, сериализуемость, фантомы и MS SQL |
Liliya Huff |
28 Aug 2002 20:34:20 |
    Hа: Отчёты, сериализуемость, фантомы и MS SQL |
Sergey Pratch |
29 Aug 2002 01:40:46 |
    Re: Отчёты, сериализуемость, фантомы и MS SQL |
Liliya Huff |
30 Aug 2002 18:01:49 |
   Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
27 Aug 2002 16:30:40 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
27 Aug 2002 17:25:41 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Andrew Grachyov |
28 Aug 2002 00:03:00 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
28 Aug 2002 18:19:46 |
Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
26 Aug 2002 22:09:32 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Liliya Huff |
27 Aug 2002 00:41:49 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
27 Aug 2002 17:01:16 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
27 Aug 2002 17:25:41 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
27 Aug 2002 19:15:32 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
27 Aug 2002 19:40:04 |
  Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
27 Aug 2002 20:20:38 |
   Re: Отчёты, сериализуемость, фантомы и MS SQL |
Vladimir Pavlikov |
28 Aug 2002 17:41:03 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Liliya Huff |
27 Aug 2002 21:11:15 |
 Re: Отчёты, сериализуемость, фантомы и MS SQL |
Tengiz Kharatishvili |
28 Aug 2002 08:06:49 |
|
|