AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: За рубежом > DAX in English
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.11.2006, 23:16   #1  
gb is offline
gb
Участник
 
42 / 15 (1) ++
Регистрация: 31.03.2005
? New programming standards in regards to OCC
Hi,

does anybody know if MS released any white paper type document on new standards for programming in X++ regarding OCC ( Optimistic Concurrency )?

What has to be changed with SP5 for 3.0 release? And what needs to be changed with 4.0 upgrade?

I would appreciate any comments.
Thanks,
gb
Старый 22.11.2006, 00:59   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от gb Посмотреть сообщение
does anybody know if MS released any white paper type document on new standards for programming in X++ regarding OCC (Optimistic Concurrency )?
Afaik there are no official white papers on this topic. Google doesn't know any either.
Цитата:
What has to be changed with SP5 for 3.0 release? And what needs to be changed with 4.0 upgrade?
As I understand OCC should be taken into consideration by DBAs rather then X++ programmers as Axapta kernel takes care about making OCC usage transparent for a developer. Let me translate a part of an article by Alexei Eremenko on OCC support in DAX 3.0/4.0
Цитата:
Optimistic Concurrency Control (OCC) mechanism support has been introduced in Axapta 3.0 Kernel Rollup. Strictly speaking OCC is used in KR only in form data sources while leaving unoptimized other areas that cause database requests. The RecVersion field is used in KR to support OCC, namely to support record versions. Within Dynamics AX the OCC model implemented in 4.0 consists of these parts:
  • Hints like 'forupdate' are deleted (excluded) from X++ source code on a kernel level;
  • When one or several rows of a record are updated, a check is performed to see if the record has been changed since the time it had been read in the transaction. In case it has been changed an exception is thrown by the kernel (Exception::UpdateConflict);
  • X++ code is changed to support such exceptions in try/catch handlers.
OCC assumes optimistic and pessimistic scenarios (see SQL Books online). The pessimistic one is much like what was implemented in Axapta 3.0 before Kernel Rollup. OCC can work in one of these ways in Axapta 4.0:
  • Optimistic for those tables where it's explicitly set;
  • Optimistic for all tables;
  • Pessimistic.
You can also use READ UNCOMMITED isolation level for all read requests. For an optimal OCC support you need to turn on Read Committed Snapshot Isolation (RCSI) isolation level in SQL Server 2005, e.g. this way:
PHP код:
ALTER DATABASE <Microsoft Dynamics Ax database>
SET READ_COMMITTED_SNAPSHOT ON
This isolation level is turned off by default which makes SQL Server 2005 fully compatible with pervious versions although you can turn it on even in the compatibility mode, i.e. for the compatibility level 80 databases. People often ask if READ_COMMITTED_SNAPSHOT can improve DAX 3.0 performance. Well in fact DAX 3.0 doesn't support Read Committed Snapshot Isolation (RCSI) in SQL Server 2005.
Here is a presentation on SQL Server 2005 performance improvements that can give you more details on RCSI.

Последний раз редактировалось gl00mie; 22.11.2006 в 15:55. Причина: typo...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Kashperuk Ivan: The future of programming languages or Anders Hejlsberg/Steve Ballmer Tech-Pep-Talk Blog bot DAX Blogs 4 09.10.2008 16:43
Ruslan Goncharov: From Microsoft Dynamics AX Programming newsgroup tricks Blog bot DAX Blogs 0 24.05.2008 00:08
Arijit Basu: Microsoft Dynamics AX 2009 Programming Blog bot DAX Blogs 1 18.02.2008 01:04
axaptabuilder: How to learn Axapta programming: “MorphXIT: an introduction to Axapta and the MorphX Development Suit” Blog bot DAX Blogs 0 12.04.2007 16:10
axaptabuilder: How to learn Axapta programming: “MorphXIT: an introduction to Axapta and the MorphX Development Suit” Blog bot DAX Blogs 0 28.10.2006 16:47

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:48.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.