Главная страница


su.dbms

 
 - SU.DBMS ----------------------------------------------------------------------
 From : Vladimir Pavlikov                    2:5020/400     23 Dec 2002  22:32:36
 To : Dmitry V. Liseev
 Subject : Re: Синхронизация доступа к БД
 -------------------------------------------------------------------------------- 
 
 Hello, Dmitry V. Liseev!
 You wrote to  on Mon, 23 Dec 2002 17:20:17 +0000 (UTC):
 
  DVL> Собственно, возникли вопросики. Вот, есть в учебниках такая задача,
  DVL> как перевод денег с одного счета на другой. Типа, запускаем
  DVL> транзакцию, снимаем с одного счета, кладем на другой, затем
  DVL> коммитим или откатываем.
  DVL> Вроде, все надежно, как в танке и целостность гарантирована. Теперь
  DVL> допустим, что несколько желающих попытались провести несколько
  DVL> подобных транзакций над пересекающимся множеством счетов.
 
 Лучше одну (банковскую) операцию делать отдельной транзакцией.
 Время выполнения близко к нулю так же, как и вероятность конф-
 ликта с другой транзакцией. Если же не повезет - вторую можно
 и повторить.
 
  DVL> Транзакции обычно ассоциируются с модификацией данных. А как быть с
  DVL> чтением?
 
 Транзакции должны ассоциироваться с любыми действиями с данными :)
 
  DVL> Предположим, некто пытается построить отчет по данным, которые
  DVL> постоянно меняются. Тут тоже применимо понятие целостности. То
  DVL> есть, пока некто строит отчет, требуемые для него данные можно
  DVL> читать (для других аналогичных отчетов), но нельзя изменять. В
  DVL> противном случае отчет будет некорректным.
 
 Он не будет некорректным, если проводить его на требуемом (высоком)
 уровне изоляции. Правда, на блокирующем сервере возможен завис на
 блокировке с последующим откатом по таймауту. Если это начнет дос-
 тавать, то - либо "таймшер" (раздвиг по времени модификаций и отчетов)
 либо использование отдельного (синхронизируемого) сервера для отчетов.
 
  DVL> В приведенной модельной задаче просто не сведется баланс, то есть будет
  DVL> нарушена целостность данных, ибо получается, что баланс сводится после
  DVL> того,
 
 Целостность данных (в базе) нарушена не будет, будет неверен отчет.
 Этого можно гарантированно избежать при уровне изоляции "снапшот".
 
  DVL> Получается, что реализация сабжа полностью зависит от прикладной
  DVL> задачи и делается руками. Hафига тогда уровни изоляции транзакций и
  DVL> чем они могут помочь?
 
 Выше написано. А вот руками-то это сделать как раз нельзя. Разве что -
 административным разведением пользователей по времени до состояния
 singleuser :)
 
  DVL> Я нигде не видел сколь-нибудь глубокого обсуждения проблем
  DVL> многопользовательского доступа и сам не особо над этим задумывался
  DVL> раньше, считая, что все делает умный сервер.
 
 Делает, если умный программер указывает правильные уровни изоляции.
 Другое дело, что высокие уровни тяжелы, особенно для блокировщиков.
 Дальше - лишь методы, указанные в третьем "параграфе". Hу и предва-
 рительная оптимизация запросов с целью уменьшения продолжительности
 выполнения транзакций и незахватом ими данных сверх необходимого.
 ---------------------------------------------
           Владимир Павликов.
 -- 
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Mail.Ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Синхронизация доступа к БД   Dmitry V. Liseev   23 Dec 2002 21:20:17 
 Re: Синхронизация дос тупа к БД   Sergey Vlasov   23 Dec 2002 21:45:17 
 Re: Синхронизация дос тупа к БД   Sergey Prach   24 Dec 2002 02:07:46 
 Re: Синхронизация дос тупа к БД   Andrew Lesnichenko   24 Dec 2002 12:36:45 
 Re: Синхронизация дос тупа к БД   Sergey Prach   24 Dec 2002 16:27:17 
 Re: Синхронизация дос тупа к БД   Vladimir Pavlikov   24 Dec 2002 16:57:23 
 Re: Синхронизация доступа к БД   Vladimir Pavlikov   23 Dec 2002 22:32:36 
 Re: Синхронизация доступа к БД   Sergey Prach   24 Dec 2002 02:07:46 
 Re: Синхронизация доступа к БД   Vladimir Pavlikov   24 Dec 2002 17:16:44 
 Re: Синхронизация доступа к БД   Sergey Prach   25 Dec 2002 00:58:39 
 Re: Синхронизация доступа к БД   Dmitry Kuzmenko   26 Dec 2002 16:01:16 
 Re: Синхронизация доступа к БД   Oleg Bokanov   26 Dec 2002 16:31:01 
 Re: Синхронизация доступа к БД   Sergey Prach   26 Dec 2002 17:23:29 
 Re: Синхронизация доступа к БД   Vladimir Pavlikov   26 Dec 2002 17:44:27 
 Re: Синхронизация доступа к БД   Dmitry Kuzmenko   26 Dec 2002 17:39:52 
 Re: Синхронизация доступа к БД   Sergey Prach   27 Dec 2002 03:16:01 
 Re: Синхронизация доступа к БД   Dmitry Kuzmenko   08 Jan 2003 15:13:39 
 Re: Синхронизация доступа к БД   Vladimir Pavlikov   26 Dec 2002 18:44:25 
 Re: Синхронизация доступа к БД   Sergey Prach   27 Dec 2002 03:16:01 
 Re: Синхронизация доступа к БД   Dmitry Novikov   27 Dec 2002 14:18:44 
 Re: Синхронизация доступа к БД   Sergey Prach   27 Dec 2002 16:49:12 
 Re: Синхронизация доступа к БД   Ilya Zvyagin   27 Dec 2002 17:10:11 
 Re: Синхронизация доступа к БД   Dmitry Novikov   27 Dec 2002 17:35:43 
 Re: Синхронизация доступа к БД   Sergey Prach   28 Dec 2002 00:12:49 
 Re: Синхронизация доступа к БД   tengiz.kharatishvili   28 Dec 2002 02:21:31 
 Re: Синхронизация доступа к БД   Vladimir Pavlikov   04 Jan 2003 19:11:00 
 Re: Синхронизация доступа к БД   Sergey Prach   05 Jan 2003 01:29:32 
 Re: Синхронизация доступа к БД   Liliya Huff   05 Jan 2003 04:53:40 
 Re: Синхронизация доступа к БД   Sergey Prach   05 Jan 2003 14:10:14 
 Re: Синхронизация доступа к БД   Liliya Huff   06 Jan 2003 22:42:14 
 Re: Синхронизация доступа к БД   Vladimir Pavlikov   09 Jan 2003 19:27:13 
 Re: Синхронизация доступа к БД   Dmitry Kuzmenko   08 Jan 2003 14:40:44 
 Re: Синхронизация доступа к БД   Tolik Tentser   30 Dec 2002 20:16:04 
 Re: Синхронизация доступа к БД   Vladimir Pavlikov   04 Jan 2003 19:11:00 
 Re: Синхронизация доступа к БД   Tolik Tentser   04 Jan 2003 19:55:40 
 Re: Синхронизация доступа к БД   Ilya Zvyagin   25 Dec 2002 11:20:12 
 Re: Синхронизация доступа к БД   Dmitry Kuzmenko   26 Dec 2002 15:56:07 
 Re: Синхронизация доступа к БД   Ilya Zvyagin   27 Dec 2002 17:03:32 
 Re: Синхронизация доступа к БД   Vladimir Pavlikov   26 Dec 2002 18:44:24 
 Re: Синхронизация доступа к БД   Liliya Huff   26 Dec 2002 20:29:23 
 Re: Синхронизация доступа к БД   Vladimir Pavlikov   26 Dec 2002 20:56:05 
 Re: Синхронизация доступа к БД   Liliya Huff   26 Dec 2002 22:04:15 
 Re: Синхронизация доступа к БД   Sergey Prach   24 Dec 2002 02:07:41 
 Синхpонизация доступа к БД   Dmitri Zakharov   24 Dec 2002 11:00:57 
 Re: Синхpонизация доступа к БД   Dmitry V. Liseev   25 Dec 2002 00:11:40 
 Re: Синхpонизация доступа к БД   Oleg Bokanov   25 Dec 2002 12:13:22 
 Re: Синхpонизация доступа к БД   Sergey Prach   25 Dec 2002 12:39:06 
 Re: Синхpонизация доступа к БД   Vladimir Pavlikov   26 Dec 2002 17:44:26 
 Re: Синхpонизация доступа к БД   Oleg Bokanov   26 Dec 2002 18:21:05 
 Re: Синхpонизация доступа к БД   Vladimir Pavlikov   26 Dec 2002 20:01:48 
 Re: Синхpонизация доступа к БД   Oleg Bokanov   26 Dec 2002 20:30:25 
 Re: Синхpонизация доступа к БД   Vladimir Pavlikov   26 Dec 2002 20:56:04 
 Re: Синхpонизация доступа к БД   Oleg Bokanov   26 Dec 2002 21:52:59 
 Re: Синхpонизация доступа к БД   Vladimir Pavlikov   04 Jan 2003 18:15:13 
 Re: Синхpонизация доступа к БД   Tolik Tentser   30 Dec 2002 20:27:44 
 Re: Синхpонизация доступа к БД   Vladimir Pavlikov   04 Jan 2003 18:15:14 
 Re: Синхpонизация доступа к БД   Tolik Tentser   04 Jan 2003 20:15:03 
 Re: Синхpонизация доступа к БД   Vladimir Pavlikov   04 Jan 2003 21:19:54 
 Re: Синхpонизация доступа к БД   Tolik Tentser   08 Jan 2003 20:10:44 
 Re: Синхpонизация доступа к БД   Vladimir Pavlikov   09 Jan 2003 19:40:22 
 Re: Синхpонизация доступа к БД   Tolik Tentser   09 Jan 2003 20:32:32 
 Re: Синхpонизация доступа к БД   Vladimir Pavlikov   10 Jan 2003 17:39:59 
 Re: Синхpонизация доступа к БД   Tolik Tentser   10 Jan 2003 19:53:45 
 Re: Синхpонизация доступа к БД   Vladimir Pavlikov   13 Jan 2003 18:28:09 
 Re: Синхpонизация доступа к БД   Tolik Tentser   13 Jan 2003 20:19:36 
 Re: Синхpонизация доступа к БД   Artem Khomenko   14 Jan 2003 23:36:00 
 Re: Синхpонизация доступа к БД   Dankov   15 Jan 2003 16:19:21 
 Re: Синхpонизация доступа к БД   Vova Aksionov   05 Jan 2003 10:56:12 
 Re: Синхpонизация доступа к БД   Sergey Prach   05 Jan 2003 14:10:14 
 Re: Синхpонизация доступа к БД   Vova Aksionov   05 Jan 2003 14:34:10 
 Re: Синхpонизация доступа к БД   Tolik Tentser   08 Jan 2003 20:12:16 
 Re: Синхpонизация доступа к БД   Vova Aksionov   05 Jan 2003 10:52:38 
 Re: Синхpонизация доступа к БД   Vladimir Pavlikov   09 Jan 2003 19:27:12 
 Re: Синхронизация доступа к БД   Ilya Zvyagin   24 Dec 2002 10:56:07 
 Re: Синхронизация доступа к БД   Dmitry V. Liseev   25 Dec 2002 00:11:41 
 Синхpонизация доступа к БД   Dmitri Zakharov   25 Dec 2002 11:18:52 
 Re: Синхронизация доступа к БД   Ilya Zvyagin   25 Dec 2002 11:42:39 
 Re: Синхронизация доступа к БД   Vladimir Pavlikov   26 Dec 2002 18:44:24 
Архивное /su.dbms/6488056dcdfe.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional