Оптимистический параллелизм (Optimistic concurrency)

Второй этап реализации оптимистического параллелизма направлен на сокращение конфликтов при блокировках в бизнес-функциях Axapta, не основанных на формах (выполненных на X++). Изменения производятся на уровне платформы, что позволяет реализовать модель оптимистического параллелизма и повысить параллелизм практически во всех бизнес-функциях.

Почему эта функция так хороша?

  • В рамках подобной инфраструктуры блокировка в базе данных происходит только в отношении строк, требующих обновления.
  • Данные блокируются до момента фактического обновления серверной базы данных.
  • В результате чтение не блокируется записью; это особенно актуально, когда пользователи обращаются к разным строкам, а оптимальный для данного запроса индекс в таблице отсутствует.
  • Поддержка платформ SQL2000, SQL2005.
  • Существенная гибкость настройки оптимистического параллелизма обеспечивает корректное взаимодействие с пользовательским и партнерским кодом. Оптимистический параллелизм можно задействовать на глобальном или табличном уровне, а также на уровне операторов.
  • Структурированная инфраструктура обработки исключений позволяет фильтровать конфликты обновления исходя из экземпляров объектов в транзакциях.
  • Обратная синтаксическая совместимость дает программистам X++ возможность реализовывать оптимистическую блокировку, не переписывая код.
  • Новые ключевые слова X++ обеспечивают последовательное поведение, которое исключает корректировку требований бизнес-логики в режиме оптимистического параллелизма.
  • Разработчики X++ получают возможность, если это необходимо, сокращать продолжительность транзакций.

К началу страницы

Как это выглядит?

Изменения происходят на уровне платформы и в минимальной степени отражаются на пользовательском интерфейсе. Они затрагивают код, внутренние элементы на уровне доступа к данным (AOS), интерпретатор, компилятор и блок исполнения.

К началу страницы