SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Введение в транзакционные
блокировки
Транзакция
Транзакция – это неделимая с точки зрения воздействия на базу данных,
последовательность операций манипулирования данными, выполняющаяся по
принципу: «или все, или ничего».
Ошибки которые могут произойти в рамках транзакции подразделяются на:
• Не восстановимые (система откатывает транзакцию назад и прекращает свою
работу)
• Восстановимые (система в принципе остается работоспособной)
Восстановимые ошибки в свою очередь делятся на:
• Ошибки связанные с базой данных (в этом случае в обязательном порядке будет
произведен откат транзакции)
• Ошибки не связанные с базой данных (разработчик может проанализировать эту
ошибку в конструкции «Попытка/Исключение» и решить будет транзакция
продолжаться или будет прервана).
Система осуществляет неявный вызов транзакций при выполнении любых действий,
связанных с изменением данных, хранящихся в информационной базе.
Режим работы с данными вне транзакции допускает только операции чтения данных, т.к.
выполняется «не глядя» на блокировки (например, получение данных отчетом).
Наряду с этим разработчик может использовать возможность определять транзакции в явном
виде, с помощью средств встроенного языка.
Конкурентный ресурс
«Конкурентный ресурс», это некий ресурс системы (остаток товара
на складе, величина задолженности контрагента и т.п., который
используется в системе для реализации прикладной логики. По
значению данного ресурса система с точки зрения прикладной
логики принимает решение: фиксировать данную транзакцию или
нет. Для обеспечения этой логики нужно обеспечить
«неизменность» значения «конкурентного» ресурса на время
течения прикладной транзакции.
Уровни изоляции транзакций
• «Read Uncommited» - так называемое «грязное чтение». Используется при
чтении данных. В результат чтения могут войти данные внесенные
(измененные) еще не зафиксированной транзакцией.
• «Read Commited» - решает проблему грязного чтения. В результат чтения
входят наиболее актуальные данные. Результат не содержит не
зафиксированных изменений.
• «Repeatable Read» - воспроизводимое чтение. При установке данного
уровня изоляции на прочитанные данные накладывается блокировка,
препятствующая их изменению из другой транзакции. Т.е. если данные будут
прочитаны в начале транзакции (и установлен такой уровень изоляции), то
при чтении данных в конце транзакции они будут точно такими же.
• «Serializable» - решает так называемую «фантомную» проблему. Проблема
заключается в том, что когда в начале транзакции считывается некий набор
данных, то если произвести чтение этого набора в конце транзакции он
будет содержать лишние записи.
Сравнительная таблица режимов работы с транзакционными
блокировками:
Повышение уровня блокировки
Суть данной ситуации: две транзакции первоначально параллельно накладывают на одни и те же данные
разделяемую блокировку, а потом пытаются разделяемую переключить на исключительную. В результате возникает
взаимоблокировка.
Начало транзакций
Чтение данных
Чтение данных
Разделяемая Разделяемая
Обработка
данных Обработка
данных
Запись данных
Исключительная
Запись данных
Исключительная
Взаимоблокировка
|ДЛЯ ИЗМЕНЕНИЯ
| РегистрНакопления.ОстаткиНоменклатуры.Остатки";
Начало транзакций
Чтение данных
Чтение данных
Обработка
данных
Обработка
данных
Запись данных
Исключительная
Запись данных
Исключительная
Обращение к данным в разном порядке
Начало транзакций
Чтение данных
(ост.)
Чтение данных
(рез.)
Исключительная
(ост)
Исключительная
(рез.)
Чтение данных
(рез.) Чтение данных
(ост.)
Взаимоблокировка
Другие причины, сказывающиеся на
параллельности работы системы:
• Неоптимальное написание (работа) запросов
• Большая вложенность подзапросов, соединения с подзапросами
• Несоответствие индексов и условий запроса
• Некорректное использование параметров виртуальных таблиц
• Отсутствие функции ВЫРАЗИТЬ для полей составного типа
• Получение лишних полей через точку
Видео канал KoderLine: goo.gl/eqGWK1
Управляемый режим работы с
транзакционными блокировками
Режим разделения итогов
Совместное использование
автоматического и управляемого режимов
Режим существующей
транзакции
Режим начинаемой транзакции Результат
Автоматический Автоматический Начинаемая транзакция будет
выполнена в автоматическим
режиме
Управляемый Управляемый Начинаемая транзакция будет
выполнена в управляемом
режиме
Автоматический Управляемый Начинаемая транзакция будет
выполнена в автоматическим
режиме
Управляемый Автоматический Будет вызвана исключительная
ситуация
Свойство «Удаление движений»
Записывать выбранные
Суть значения «Записывать выбранные» в том, что записываются только те наборы, для которых вы явно это укажите. У коллекции «Движения.ИмяРегистра» появилось свойство
«Записывать». При выходе из обработки проведения в регистры сбрасываются данные только тех коллекций, у которых свойство «Записывать» установлено в значение «Истина».
Движения.ОстаткиТоваров.Записывать = Истина;
Также у свойства документа «Движения» появился метод «Записать()».
Он «принудительно сбрасывает» данные в регистры только по тем наборам,
у которых свойство «Записывать» установлено в значение «Истина».
Движения.Записать();
Важно отметить, что метод «принудительной» записи, который использовался
ранее, значение флага «Записывать» не сбрасывает.
Движения.ОстаткиНоменклатуры.Записать();
Блокировать для изменения
Движения.ОстаткиТоваров.БлокироватьДляИзменения=Истина;
На записываемые данные в момент записи будет установлена
исключительная блокировка. Важно понимать, что блокирование
данных происходит именно в момент записи и то, что указанное
свойство работает в «тандеме» с режимом разделения итогов
регистров накопления и бухгалтерии
Контакты
Есть вопросы? Мы поможем! Свяжитесь с нами удобным для нас способом.
Прямые контакты
Андрей Бербека
Руководитель проектного направления
Телефон:
+7 (495) 135-22-96
Email:
aberbeka@koderline.ru
Skype:
andrijberbeka
Игорь Шлепанов
Руководитель Департамента по работе
с корпоративными клиентам
Телефон:
+7 (495) 135-22-96
Email:
ishlepanov@koderline.ru
Skype:
igor_shlepanov
Владимир Костюк
Руководитель отдела разработки
Email:
vkostyuk@koderline.ru
Skype:
vkostyuk.koderline
Юлия Зорева
Руководитель коммерческой службы
Email:
uzoreva@koderline.ru
Skype:
uzoreva-koderline

Weitere ähnliche Inhalte

Ähnlich wie вебинар транзакционные блокировки

SQL Saturday #377 Kyiv 2015 (Transaction log – how it works)
SQL Saturday #377 Kyiv 2015 (Transaction log – how it works)SQL Saturday #377 Kyiv 2015 (Transaction log – how it works)
SQL Saturday #377 Kyiv 2015 (Transaction log – how it works)Vitaliy Popovych
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, ParallelsNikolay Samokhvalov
 
Инструменты командной работы
Инструменты командной работыИнструменты командной работы
Инструменты командной работыSergey Nechaev
 
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностейПакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностейCisco Russia
 
Спецкурс 2014, занятие 8. Транзакции в БД
Спецкурс 2014, занятие 8. Транзакции в БДСпецкурс 2014, занятие 8. Транзакции в БД
Спецкурс 2014, занятие 8. Транзакции в БД7bits
 
Static Analysis of Transactions Management in Applications for Java EE Platform
Static Analysis of Transactions Management in Applications for Java EE PlatformStatic Analysis of Transactions Management in Applications for Java EE Platform
Static Analysis of Transactions Management in Applications for Java EE PlatformIosif Itkin
 
Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6Dima Dzuba
 
СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9Technopark
 
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".Badoo Development
 
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...7bits
 
26 27_28_29_30_процедуры и тригеры
26  27_28_29_30_процедуры и тригеры26  27_28_29_30_процедуры и тригеры
26 27_28_29_30_процедуры и тригерыEvgeniy Golendyhin
 
CodeFest 2013. Русанов П. — Есть ли жизнь в оффлайне? Кеш, транзакционный лог...
CodeFest 2013. Русанов П. — Есть ли жизнь в оффлайне? Кеш, транзакционный лог...CodeFest 2013. Русанов П. — Есть ли жизнь в оффлайне? Кеш, транзакционный лог...
CodeFest 2013. Русанов П. — Есть ли жизнь в оффлайне? Кеш, транзакционный лог...CodeFest
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresProit-people
 
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьСергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьTanya Denisyuk
 

Ähnlich wie вебинар транзакционные блокировки (16)

SQL Saturday #377 Kyiv 2015 (Transaction log – how it works)
SQL Saturday #377 Kyiv 2015 (Transaction log – how it works)SQL Saturday #377 Kyiv 2015 (Transaction log – how it works)
SQL Saturday #377 Kyiv 2015 (Transaction log – how it works)
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
 
Инструменты командной работы
Инструменты командной работыИнструменты командной работы
Инструменты командной работы
 
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностейПакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
Пакетное ядро мобильного оператора: ASR5k, поиски устранение неисправностей
 
Спецкурс 2014, занятие 8. Транзакции в БД
Спецкурс 2014, занятие 8. Транзакции в БДСпецкурс 2014, занятие 8. Транзакции в БД
Спецкурс 2014, занятие 8. Транзакции в БД
 
Static Analysis of Transactions Management in Applications for Java EE Platform
Static Analysis of Transactions Management in Applications for Java EE PlatformStatic Analysis of Transactions Management in Applications for Java EE Platform
Static Analysis of Transactions Management in Applications for Java EE Platform
 
Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6Проектирование программных систем. Занятие 6
Проектирование программных систем. Занятие 6
 
СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9СУБД осень 2012 лекция 9
СУБД осень 2012 лекция 9
 
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
 
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
 
26 27_28_29_30_процедуры и тригеры
26  27_28_29_30_процедуры и тригеры26  27_28_29_30_процедуры и тригеры
26 27_28_29_30_процедуры и тригеры
 
CodeFest 2013. Русанов П. — Есть ли жизнь в оффлайне? Кеш, транзакционный лог...
CodeFest 2013. Русанов П. — Есть ли жизнь в оффлайне? Кеш, транзакционный лог...CodeFest 2013. Русанов П. — Есть ли жизнь в оффлайне? Кеш, транзакционный лог...
CodeFest 2013. Русанов П. — Есть ли жизнь в оффлайне? Кеш, транзакционный лог...
 
Multithreading in go
Multithreading in goMultithreading in go
Multithreading in go
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro
"Мультимастер для PostgreSQL" Кельвич Станислав, Книжник Константин, PostgresPro
 
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьСергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
 

Mehr von Helen Kopteva

"Финансовое планирование в УНФ 1.6.4"
"Финансовое планирование в УНФ 1.6.4""Финансовое планирование в УНФ 1.6.4"
"Финансовое планирование в УНФ 1.6.4"Helen Kopteva
 
"1С:Управление небольшой фирмой. Расчет зарплаты в ред. 1.6"
"1С:Управление небольшой фирмой. Расчет зарплаты в ред. 1.6""1С:Управление небольшой фирмой. Расчет зарплаты в ред. 1.6"
"1С:Управление небольшой фирмой. Расчет зарплаты в ред. 1.6"Helen Kopteva
 
Презентация "Назначение решения "1С управление холдингом". Управление финансами"
Презентация "Назначение решения "1С управление холдингом". Управление финансами"Презентация "Назначение решения "1С управление холдингом". Управление финансами"
Презентация "Назначение решения "1С управление холдингом". Управление финансами"Helen Kopteva
 
Презентация "Назначение подсистемы МСФО в "1С: Управление холдингом"
Презентация "Назначение подсистемы МСФО в "1С: Управление холдингом"Презентация "Назначение подсистемы МСФО в "1С: Управление холдингом"
Презентация "Назначение подсистемы МСФО в "1С: Управление холдингом"Helen Kopteva
 
"Организация доставки средствами 1С:ERP Управление предприятием 2.1 и 1С:Упра...
"Организация доставки средствами 1С:ERP Управление предприятием 2.1 и 1С:Упра..."Организация доставки средствами 1С:ERP Управление предприятием 2.1 и 1С:Упра...
"Организация доставки средствами 1С:ERP Управление предприятием 2.1 и 1С:Упра...Helen Kopteva
 
"Управление доставкой в 1С:Управление торговлей 11 и 1С:ERP Управление предпр...
"Управление доставкой в 1С:Управление торговлей 11 и 1С:ERP Управление предпр..."Управление доставкой в 1С:Управление торговлей 11 и 1С:ERP Управление предпр...
"Управление доставкой в 1С:Управление торговлей 11 и 1С:ERP Управление предпр...Helen Kopteva
 
"Переход на МСФО (IFRS) 15 "Выручка по договорам с клиентами"
"Переход на МСФО (IFRS) 15 "Выручка по договорам с клиентами""Переход на МСФО (IFRS) 15 "Выручка по договорам с клиентами"
"Переход на МСФО (IFRS) 15 "Выручка по договорам с клиентами"Helen Kopteva
 
"Учет многооборотной и возвратной тары в "1С:Управление торговлей 8", "1С:ERP...
"Учет многооборотной и возвратной тары в "1С:Управление торговлей 8", "1С:ERP..."Учет многооборотной и возвратной тары в "1С:Управление торговлей 8", "1С:ERP...
"Учет многооборотной и возвратной тары в "1С:Управление торговлей 8", "1С:ERP...Helen Kopteva
 
Компания "Кодерлайн". Вебинар "Договорчики - новое решение от 1С"
Компания "Кодерлайн". Вебинар "Договорчики - новое решение от 1С"Компания "Кодерлайн". Вебинар "Договорчики - новое решение от 1С"
Компания "Кодерлайн". Вебинар "Договорчики - новое решение от 1С"Helen Kopteva
 
Презентация "Производство, оперативное планирование и ценообразование в УНФ 1...
Презентация "Производство, оперативное планирование и ценообразование в УНФ 1...Презентация "Производство, оперативное планирование и ценообразование в УНФ 1...
Презентация "Производство, оперативное планирование и ценообразование в УНФ 1...Helen Kopteva
 
Методики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сМетодики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сHelen Kopteva
 
Презентация «1С и мобильные приложения»
Презентация «1С и мобильные приложения»Презентация «1С и мобильные приложения»
Презентация «1С и мобильные приложения»Helen Kopteva
 
"Презентация "Ценообразование в 1С:Управление торговлей 11 и 1С:ERP 2.2"
"Презентация "Ценообразование в 1С:Управление торговлей 11 и 1С:ERP 2.2""Презентация "Ценообразование в 1С:Управление торговлей 11 и 1С:ERP 2.2"
"Презентация "Ценообразование в 1С:Управление торговлей 11 и 1С:ERP 2.2"Helen Kopteva
 
Компания "Кодерлайн" провела вебинар "Договорчики - новое решение от 1С"
Компания "Кодерлайн" провела вебинар "Договорчики - новое решение от 1С"Компания "Кодерлайн" провела вебинар "Договорчики - новое решение от 1С"
Компания "Кодерлайн" провела вебинар "Договорчики - новое решение от 1С"Helen Kopteva
 
"Битрикс24 или 1С - какую платформу для CRM выбрать?"
"Битрикс24 или 1С - какую платформу для CRM выбрать?""Битрикс24 или 1С - какую платформу для CRM выбрать?"
"Битрикс24 или 1С - какую платформу для CRM выбрать?"Helen Kopteva
 
автоматизация мто предприятия на базе платформы 1спредприятие
автоматизация мто предприятия на базе платформы 1спредприятиеавтоматизация мто предприятия на базе платформы 1спредприятие
автоматизация мто предприятия на базе платформы 1спредприятиеHelen Kopteva
 
Презентация "Использование механизмов управления проектами с помощью функцион...
Презентация "Использование механизмов управления проектами с помощью функцион...Презентация "Использование механизмов управления проектами с помощью функцион...
Презентация "Использование механизмов управления проектами с помощью функцион...Helen Kopteva
 
Кодерлайн. Вебинар "Управление договорной работой с помощью программы 1С:Доку...
Кодерлайн. Вебинар "Управление договорной работой с помощью программы 1С:Доку...Кодерлайн. Вебинар "Управление договорной работой с помощью программы 1С:Доку...
Кодерлайн. Вебинар "Управление договорной работой с помощью программы 1С:Доку...Helen Kopteva
 
"Практический опыт внедрения WMS системы на предприятии оптовой торговли"
"Практический опыт внедрения WMS системы на предприятии оптовой торговли""Практический опыт внедрения WMS системы на предприятии оптовой торговли"
"Практический опыт внедрения WMS системы на предприятии оптовой торговли"Helen Kopteva
 
Презентация "1С:Документооборот на интерфейсе ТАКСИ – легкое решение"
Презентация "1С:Документооборот на интерфейсе ТАКСИ – легкое решение"Презентация "1С:Документооборот на интерфейсе ТАКСИ – легкое решение"
Презентация "1С:Документооборот на интерфейсе ТАКСИ – легкое решение"Helen Kopteva
 

Mehr von Helen Kopteva (20)

"Финансовое планирование в УНФ 1.6.4"
"Финансовое планирование в УНФ 1.6.4""Финансовое планирование в УНФ 1.6.4"
"Финансовое планирование в УНФ 1.6.4"
 
"1С:Управление небольшой фирмой. Расчет зарплаты в ред. 1.6"
"1С:Управление небольшой фирмой. Расчет зарплаты в ред. 1.6""1С:Управление небольшой фирмой. Расчет зарплаты в ред. 1.6"
"1С:Управление небольшой фирмой. Расчет зарплаты в ред. 1.6"
 
Презентация "Назначение решения "1С управление холдингом". Управление финансами"
Презентация "Назначение решения "1С управление холдингом". Управление финансами"Презентация "Назначение решения "1С управление холдингом". Управление финансами"
Презентация "Назначение решения "1С управление холдингом". Управление финансами"
 
Презентация "Назначение подсистемы МСФО в "1С: Управление холдингом"
Презентация "Назначение подсистемы МСФО в "1С: Управление холдингом"Презентация "Назначение подсистемы МСФО в "1С: Управление холдингом"
Презентация "Назначение подсистемы МСФО в "1С: Управление холдингом"
 
"Организация доставки средствами 1С:ERP Управление предприятием 2.1 и 1С:Упра...
"Организация доставки средствами 1С:ERP Управление предприятием 2.1 и 1С:Упра..."Организация доставки средствами 1С:ERP Управление предприятием 2.1 и 1С:Упра...
"Организация доставки средствами 1С:ERP Управление предприятием 2.1 и 1С:Упра...
 
"Управление доставкой в 1С:Управление торговлей 11 и 1С:ERP Управление предпр...
"Управление доставкой в 1С:Управление торговлей 11 и 1С:ERP Управление предпр..."Управление доставкой в 1С:Управление торговлей 11 и 1С:ERP Управление предпр...
"Управление доставкой в 1С:Управление торговлей 11 и 1С:ERP Управление предпр...
 
"Переход на МСФО (IFRS) 15 "Выручка по договорам с клиентами"
"Переход на МСФО (IFRS) 15 "Выручка по договорам с клиентами""Переход на МСФО (IFRS) 15 "Выручка по договорам с клиентами"
"Переход на МСФО (IFRS) 15 "Выручка по договорам с клиентами"
 
"Учет многооборотной и возвратной тары в "1С:Управление торговлей 8", "1С:ERP...
"Учет многооборотной и возвратной тары в "1С:Управление торговлей 8", "1С:ERP..."Учет многооборотной и возвратной тары в "1С:Управление торговлей 8", "1С:ERP...
"Учет многооборотной и возвратной тары в "1С:Управление торговлей 8", "1С:ERP...
 
Компания "Кодерлайн". Вебинар "Договорчики - новое решение от 1С"
Компания "Кодерлайн". Вебинар "Договорчики - новое решение от 1С"Компания "Кодерлайн". Вебинар "Договорчики - новое решение от 1С"
Компания "Кодерлайн". Вебинар "Договорчики - новое решение от 1С"
 
Презентация "Производство, оперативное планирование и ценообразование в УНФ 1...
Презентация "Производство, оперативное планирование и ценообразование в УНФ 1...Презентация "Производство, оперативное планирование и ценообразование в УНФ 1...
Презентация "Производство, оперативное планирование и ценообразование в УНФ 1...
 
Методики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сМетодики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1с
 
Презентация «1С и мобильные приложения»
Презентация «1С и мобильные приложения»Презентация «1С и мобильные приложения»
Презентация «1С и мобильные приложения»
 
"Презентация "Ценообразование в 1С:Управление торговлей 11 и 1С:ERP 2.2"
"Презентация "Ценообразование в 1С:Управление торговлей 11 и 1С:ERP 2.2""Презентация "Ценообразование в 1С:Управление торговлей 11 и 1С:ERP 2.2"
"Презентация "Ценообразование в 1С:Управление торговлей 11 и 1С:ERP 2.2"
 
Компания "Кодерлайн" провела вебинар "Договорчики - новое решение от 1С"
Компания "Кодерлайн" провела вебинар "Договорчики - новое решение от 1С"Компания "Кодерлайн" провела вебинар "Договорчики - новое решение от 1С"
Компания "Кодерлайн" провела вебинар "Договорчики - новое решение от 1С"
 
"Битрикс24 или 1С - какую платформу для CRM выбрать?"
"Битрикс24 или 1С - какую платформу для CRM выбрать?""Битрикс24 или 1С - какую платформу для CRM выбрать?"
"Битрикс24 или 1С - какую платформу для CRM выбрать?"
 
автоматизация мто предприятия на базе платформы 1спредприятие
автоматизация мто предприятия на базе платформы 1спредприятиеавтоматизация мто предприятия на базе платформы 1спредприятие
автоматизация мто предприятия на базе платформы 1спредприятие
 
Презентация "Использование механизмов управления проектами с помощью функцион...
Презентация "Использование механизмов управления проектами с помощью функцион...Презентация "Использование механизмов управления проектами с помощью функцион...
Презентация "Использование механизмов управления проектами с помощью функцион...
 
Кодерлайн. Вебинар "Управление договорной работой с помощью программы 1С:Доку...
Кодерлайн. Вебинар "Управление договорной работой с помощью программы 1С:Доку...Кодерлайн. Вебинар "Управление договорной работой с помощью программы 1С:Доку...
Кодерлайн. Вебинар "Управление договорной работой с помощью программы 1С:Доку...
 
"Практический опыт внедрения WMS системы на предприятии оптовой торговли"
"Практический опыт внедрения WMS системы на предприятии оптовой торговли""Практический опыт внедрения WMS системы на предприятии оптовой торговли"
"Практический опыт внедрения WMS системы на предприятии оптовой торговли"
 
Презентация "1С:Документооборот на интерфейсе ТАКСИ – легкое решение"
Презентация "1С:Документооборот на интерфейсе ТАКСИ – легкое решение"Презентация "1С:Документооборот на интерфейсе ТАКСИ – легкое решение"
Презентация "1С:Документооборот на интерфейсе ТАКСИ – легкое решение"
 

вебинар транзакционные блокировки

  • 2. Транзакция Транзакция – это неделимая с точки зрения воздействия на базу данных, последовательность операций манипулирования данными, выполняющаяся по принципу: «или все, или ничего». Ошибки которые могут произойти в рамках транзакции подразделяются на: • Не восстановимые (система откатывает транзакцию назад и прекращает свою работу) • Восстановимые (система в принципе остается работоспособной) Восстановимые ошибки в свою очередь делятся на: • Ошибки связанные с базой данных (в этом случае в обязательном порядке будет произведен откат транзакции) • Ошибки не связанные с базой данных (разработчик может проанализировать эту ошибку в конструкции «Попытка/Исключение» и решить будет транзакция продолжаться или будет прервана).
  • 3. Система осуществляет неявный вызов транзакций при выполнении любых действий, связанных с изменением данных, хранящихся в информационной базе. Режим работы с данными вне транзакции допускает только операции чтения данных, т.к. выполняется «не глядя» на блокировки (например, получение данных отчетом). Наряду с этим разработчик может использовать возможность определять транзакции в явном виде, с помощью средств встроенного языка.
  • 4. Конкурентный ресурс «Конкурентный ресурс», это некий ресурс системы (остаток товара на складе, величина задолженности контрагента и т.п., который используется в системе для реализации прикладной логики. По значению данного ресурса система с точки зрения прикладной логики принимает решение: фиксировать данную транзакцию или нет. Для обеспечения этой логики нужно обеспечить «неизменность» значения «конкурентного» ресурса на время течения прикладной транзакции.
  • 5. Уровни изоляции транзакций • «Read Uncommited» - так называемое «грязное чтение». Используется при чтении данных. В результат чтения могут войти данные внесенные (измененные) еще не зафиксированной транзакцией. • «Read Commited» - решает проблему грязного чтения. В результат чтения входят наиболее актуальные данные. Результат не содержит не зафиксированных изменений. • «Repeatable Read» - воспроизводимое чтение. При установке данного уровня изоляции на прочитанные данные накладывается блокировка, препятствующая их изменению из другой транзакции. Т.е. если данные будут прочитаны в начале транзакции (и установлен такой уровень изоляции), то при чтении данных в конце транзакции они будут точно такими же. • «Serializable» - решает так называемую «фантомную» проблему. Проблема заключается в том, что когда в начале транзакции считывается некий набор данных, то если произвести чтение этого набора в конце транзакции он будет содержать лишние записи.
  • 6. Сравнительная таблица режимов работы с транзакционными блокировками:
  • 7. Повышение уровня блокировки Суть данной ситуации: две транзакции первоначально параллельно накладывают на одни и те же данные разделяемую блокировку, а потом пытаются разделяемую переключить на исключительную. В результате возникает взаимоблокировка. Начало транзакций Чтение данных Чтение данных Разделяемая Разделяемая Обработка данных Обработка данных Запись данных Исключительная Запись данных Исключительная Взаимоблокировка
  • 8. |ДЛЯ ИЗМЕНЕНИЯ | РегистрНакопления.ОстаткиНоменклатуры.Остатки"; Начало транзакций Чтение данных Чтение данных Обработка данных Обработка данных Запись данных Исключительная Запись данных Исключительная
  • 9. Обращение к данным в разном порядке Начало транзакций Чтение данных (ост.) Чтение данных (рез.) Исключительная (ост) Исключительная (рез.) Чтение данных (рез.) Чтение данных (ост.) Взаимоблокировка
  • 10. Другие причины, сказывающиеся на параллельности работы системы: • Неоптимальное написание (работа) запросов • Большая вложенность подзапросов, соединения с подзапросами • Несоответствие индексов и условий запроса • Некорректное использование параметров виртуальных таблиц • Отсутствие функции ВЫРАЗИТЬ для полей составного типа • Получение лишних полей через точку Видео канал KoderLine: goo.gl/eqGWK1
  • 11. Управляемый режим работы с транзакционными блокировками
  • 13. Совместное использование автоматического и управляемого режимов Режим существующей транзакции Режим начинаемой транзакции Результат Автоматический Автоматический Начинаемая транзакция будет выполнена в автоматическим режиме Управляемый Управляемый Начинаемая транзакция будет выполнена в управляемом режиме Автоматический Управляемый Начинаемая транзакция будет выполнена в автоматическим режиме Управляемый Автоматический Будет вызвана исключительная ситуация
  • 15. Записывать выбранные Суть значения «Записывать выбранные» в том, что записываются только те наборы, для которых вы явно это укажите. У коллекции «Движения.ИмяРегистра» появилось свойство «Записывать». При выходе из обработки проведения в регистры сбрасываются данные только тех коллекций, у которых свойство «Записывать» установлено в значение «Истина». Движения.ОстаткиТоваров.Записывать = Истина; Также у свойства документа «Движения» появился метод «Записать()». Он «принудительно сбрасывает» данные в регистры только по тем наборам, у которых свойство «Записывать» установлено в значение «Истина». Движения.Записать(); Важно отметить, что метод «принудительной» записи, который использовался ранее, значение флага «Записывать» не сбрасывает. Движения.ОстаткиНоменклатуры.Записать();
  • 16. Блокировать для изменения Движения.ОстаткиТоваров.БлокироватьДляИзменения=Истина; На записываемые данные в момент записи будет установлена исключительная блокировка. Важно понимать, что блокирование данных происходит именно в момент записи и то, что указанное свойство работает в «тандеме» с режимом разделения итогов регистров накопления и бухгалтерии
  • 17. Контакты Есть вопросы? Мы поможем! Свяжитесь с нами удобным для нас способом.
  • 18. Прямые контакты Андрей Бербека Руководитель проектного направления Телефон: +7 (495) 135-22-96 Email: aberbeka@koderline.ru Skype: andrijberbeka Игорь Шлепанов Руководитель Департамента по работе с корпоративными клиентам Телефон: +7 (495) 135-22-96 Email: ishlepanov@koderline.ru Skype: igor_shlepanov Владимир Костюк Руководитель отдела разработки Email: vkostyuk@koderline.ru Skype: vkostyuk.koderline Юлия Зорева Руководитель коммерческой службы Email: uzoreva@koderline.ru Skype: uzoreva-koderline