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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2017, 11:01   #1  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Промежуточное резюме: все упирается в синхронизацию - от 20 минут. Готовых стандартных решений для 2012 нет, в 7ке есть надежда на лучшее.
Не только в синхронизацию. В CIL, который надо пересобирать если кастомизации проектами переносить, в AIF/сервисы/SSRS которые будут недоступны пока CIL перестраивается или могут "не подняться" если его целиком не перестроить. Это и AOS-ы живущие на разной бизнес-логике и DDL вроде CREATE INDEX который при работающих пользователях запускается

В принципе, у нас есть клиент 24x7 "от Гуама до Панамы", вот что он делает
a) начинаем заранее drain-ить часть AOS-ов с клиентскими сессиями
b) перенос изменений проектом на выделенный AOS, автоматическая синхронизация
c) CIL
d) перезапуск выделенного AOS-а (сбрасываем метки)
e) перезапуск рабочих AOS-ов по мере освобождения от клиентских сессий с параллельным drain-ом работающих

Формально - у них полного 100% даунтайма нет. По факту - есть ограниченная недоступность на время перестройки CIL (те же 20 минут), вероятность блокировок и "отвала" батчей (особенно это любит делать workflow во время обновления CIL). При инкрементальном обновлении CIL есть ненулевая вероятность отвала SSRS, тогда все бегают с круглыми глазами и все заканчивается часовым простоем с полной компиляцией и CIL. Ну и собственно вопрос - а оно того стоит, и может все-таки выделить 45-60 минут в неделю и сделать все спокойно и без экстрима ?

P.S. В семерке пока что "хуже" (в Вашей постановке задачи) - там простой обязателен и пока что дольше если сравнивать с 2012
__________________
-ТСЯ или -ТЬСЯ ?

Последний раз редактировалось Vadik; 20.02.2017 в 14:15.
За это сообщение автора поблагодарили: EVGL (10).
Старый 20.02.2017, 13:43   #2  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от Vadik Посмотреть сообщение
Не только в синхронизацию. В CIL, который надо пересобирать если кастомизации проектами переносить, в AIF/сервисы/SSRS которые будут недоступны пока CIL перестраивается или могут "не подняться" если его целиком не перестроить. Это и AOS-ы живущие на разной бизнес-логике и DDL вроде CREATE INDEX который при работающих пользователях запускается
Два варианта:
1. отдельная БД с полным CIL, восстановление БД модели на Prod, перезапуск выделенного АОС, на нем же синхронизация, перезапуск АОСов.
2. перенос проектами на выделенный АОС, синхронизация, CIL (инкр / иногда полный), перезапуск по очереди всех АОСов.

Из неудобств - обеспечить не падаемость пакетов - более менее возможно; минимальная синхронизация - вот тут решений особо нет.
__________________
Ivanhoe as is..
Старый 20.02.2017, 22:18   #3  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
отдельная БД с полным CIL, восстановление БД модели на Prod.
Я надеюсь речь все же про импорт modelstore, а не восстановление БД - а то нам и рабочие подключения AOS-ов к model отстреливать придется, и все HA сценарии (database mirroring / availability groups) идут лесом
Так что (1) - не вариант
Цитата:
Из неудобств - обеспечить не падаемость пакетов - более менее возможно
Да, с дополнительными телодвижениями.
Я это все к чему - может, с мегакорпорацией можно как-то договориться об обеспечении полноценного даунтайма, скажем раз в неделю ? Минут в 45 можно уложиться
__________________
-ТСЯ или -ТЬСЯ ?
Старый 21.02.2017, 03:11   #4  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,129 / 916 (35) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от Vadik Посмотреть сообщение
Я это все к чему - может, с мегакорпорацией можно как-то договориться об обеспечении полноценного даунтайма, скажем раз в неделю ? Минут в 45 можно уложиться
Можно-то оно можно, если деваться некуда. Только надо понимать что это может стоить мега-корпорации несколько десятков тысяч за каждый простой. Издержки от 50 простоев в год легко могут переваливать за миллион.
Разумо было бы выделять регионы в отдельные инстансы. Тогда ночной простой в Бразилии никак не скажется на работе китайского продразделения.
__________________
Isn't it nice when things just work?
Старый 21.02.2017, 23:14   #5  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от Vadik Посмотреть сообщение
Я надеюсь речь все же про импорт modelstore, а не восстановление БД - а то нам и рабочие подключения AOS-ов к model отстреливать придется, и все HA сценарии (database mirroring / availability groups) идут лесом
Так что (1) - не вариант
Если не нужна длинная синхронизация, то иногда и просто выключить на пару минут все аосы - вариант. А HA не так уж прям и часто в полный рост настраивают.
__________________
Ivanhoe as is..
Старый 29.06.2019, 12:16   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Промежуточное резюме: все упирается в синхронизацию - от 20 минут. Готовых стандартных решений для 2012 нет, в 7ке есть надежда на лучшее.
Попробовал уменьшить нижнюю границу "от 20 минут". Пока неуспешно.
https://www.sql.ru/forum/1314237/ind...ror-kak-oboyti

Может есть идеи?
Старый 21.08.2019, 13:54   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Промежуточное резюме: все упирается в синхронизацию - от 20 минут. Готовых стандартных решений для 2012 нет, в 7ке есть надежда на лучшее.
Кое-что появилось

Ax 2012 ускорение синхронизации базы в 3-5 раз.

Можно попробовать попинговать техподдержку. Думаю, внести это в ядро не очень-то и сложно.
За это сообщение автора поблагодарили: Ivanhoe (10), 6a6kin (1).
Старый 20.02.2017, 22:28   #8  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Интересно, а как в других ерп эта проблема решается?
Если тот же сап крутится на sql, то синхронизация займет схожее время. Или нет?
Старый 21.02.2017, 00:52   #9  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от Logger Посмотреть сообщение
Интересно, а как в других ерп эта проблема решается?
Если тот же сап крутится на sql, то синхронизация займет схожее время. Или нет?
https://blogs.sap.com/2015/03/11/min...-of-an-update/

In principle two approaches are used:
  • Clone
  • In place
...
The clone approach needs a full copy of the productive system but it is very flexible regarding maintenance activities.
...
nZDT (near Zero Downtime Service)
The nZDT is a service offered by SAP. It is a customer specific procedure that is technically a clone approach.
When using the nZDT service, the maintenance is performed on the clone of the production system. All changes are recorded and transferred to the clone after the maintenance tasks are completed. During the final downtime, only a few activities are executed, including a switch of the production to the new system (clone).
....
ABAP applications, especially the ERP system with DB sizes in range of several terabytes. Therefore the SAP standard tools use the in place approach for ABAP systems in general to minimize the planned downtime. The in place approach uses the DB and needs a minimum of additional Hardware. The downtime minimization capabilities of SUM, e.g. nZDM, use a separate DB schema (shadow).
За это сообщение автора поблагодарили: Logger (3).
Старый 21.02.2017, 23:08   #10  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Поменяем мега корпорацию на нормальный интернет-магазин или b2b с кучей проверок при создании заказов. Ну вот не понимают клиенты, почему нужен почти час простоя. Днем офис работает, по ночам склад.
__________________
Ivanhoe as is..
Старый 23.02.2017, 22:08   #11  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Поменяем мега корпорацию на нормальный интернет-магазин
Работал я в одном нормальном интернет магазине (>10K заказов в день). Так там не было синхронной интеграции сайта с AX. И у сайта интеграция (асинхронная) строилась так, что не требовала постоянной доступности AX и прочих внутренних приложений. Люди, которые все это строили, знали толк в извращениях интернет-торговле
Цитата:
или b2b с кучей проверок при создании заказов
Ну, B2B тоже в принципе не предполагает наличия людей, нажимающих кнопку на одной стороне и ждущих когда она "отожмется" на другой, так что за нормально сделанный B2B я спокоен
Цитата:
Если не нужна длинная синхронизация
Вот вы привязались к этой синхронизации. Over 90% всех изменений в схеме данных - это добавление полей и создание/изменение индексов. Эти изменения можно делать на выделенном AOS-е без остановки рабочих AOS-ов и при известной доле везения - без "нахлестов" с работающими пользователями. Не нравится / не получается - значит, Вам для полноценного релиза нужен полноценный простой (и совсем не долгий кстати)
Цитата:
А HA не так уж прям и часто в полный рост настраивают
Часто-часто, особенно мегакорпорпорации На самом деле если будете слишком сильно проталкивать схему с восстановлением model из бэкапа, наживете себе кровников в лице БД админов и они же Вас в случае чего сделают крайним - а оно Вам надо ? Импорт modelstore во временную схему делает в итоге то же самое, а переключение схем работает быстрее чем restore database
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: trud (2), gl00mie (2).
Старый 04.10.2017, 14:23   #12  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от Vadik Посмотреть сообщение
Вот вы привязались к этой синхронизации. Over 90% всех изменений в схеме данных - это добавление полей и создание/изменение индексов. Эти изменения можно делать на выделенном AOS-е без остановки рабочих AOS-ов и при известной доле везения - без "нахлестов" с работающими пользователями. Не нравится / не получается - значит, Вам для полноценного релиза нужен полноценный простой (и совсем не долгий кстати)
А можно подробнее, как сделать синхронизацию таблицы SalesLine или CustInvoiceTrans на выделенном AOS при работающих пользователях?
__________________
Ivanhoe as is..
Старый 04.10.2017, 15:04   #13  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
А можно подробнее, как сделать синхронизацию таблицы SalesLine или CustInvoiceTrans на выделенном AOS при работающих пользователях?
А сделать это не на выделенном AOS, а в БД, с опцией ONLINE у команды CREATE INDEX? (я говорю конечно же про SQL Server)
Ну т.е. запустили и оно себе работает. Понятное дело - ДБА должны выбрать момент запуска скрипта, но это уже второй вопрос - формально простоя не будет. А АХ уже при обновлении подумает, что этот индекс уже создан.

Глобальная идея состоит в том, чтобы все длительные процедуры, которые выполняются при синхронизации вынести на момент до начала обновления.
Максимальный вариант - это "закат солнца вручную", т.е. выполнение всех процедур, которая делает синхронизация - заранее, до начала обновления. Но обычно хватает "золотой середины", а именно построение долгостроящихся индексов, которые как правило всем известны и для каждой компании можно составить свой список наиболее объемных таблиц
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 04.10.2017 в 15:08.
Старый 04.10.2017, 18:04   #14  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
А сделать это не на выделенном AOS, а в БД, с опцией ONLINE у команды CREATE INDEX? (я говорю конечно же про SQL Server)
Ну т.е. запустили и оно себе работает. Понятное дело - ДБА должны выбрать момент запуска скрипта, но это уже второй вопрос - формально простоя не будет. А АХ уже при обновлении подумает, что этот индекс уже создан.
к сожалению на практике вы получите что создание индексов по популярным таблицам не очень то и возможно, т.е. завесится вначале или в конце потянув за собой останов системы

Цитата:
ONLINE = ON
В начале операции совмещаемая блокировка (S) удерживается на исходном объекте в течение очень короткого времени. В конце операции на источнике на короткое время удерживается совмещаемая блокировка (S), если создается некластеризованный индекс
За это сообщение автора поблагодарили: Alexius (3), Logger (1).
Старый 11.10.2017, 21:35   #15  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
А можно подробнее, как сделать синхронизацию таблицы SalesLine или CustInvoiceTrans на выделенном AOS при работающих пользователях?
А что конкретно синхронизуем? ALTER TABLE ADD COLUMN NOT NULL DEFAULT() на SQL 2012 (если мне не изменяет память) EE и выше делается влет (на уровне метаданных). Да, ценник на EE редакцию конский но так оно почти всегда бывает при хотелках enterprise уровня. С индексами - да, возни и накладок больше
Либо - плановая остановка на обслуживание
__________________
-ТСЯ или -ТЬСЯ ?
Старый 04.10.2017, 15:36   #16  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Для совсем нагруженных систем других вариантов, кроме синхронизации скриптами прямо на SQL не видно, это понятно.

Но в рамках темы хочется понять, как штатными средствами максимально сократить downtime?
__________________
Ivanhoe as is..
Старый 04.10.2017, 23:22   #17  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
в рамках темы хочется понять, как штатными средствами максимально сократить downtime?
Использовать SSD-диски под базу моделей и AOS'ы, чтобы последние перезапускались как можно быстрее
За это сообщение автора поблагодарили: Ivanhoe (2).
Теги
ax2012, как правильно, обновление, синхронизация

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Перенос пакета и Перекрытие neopl DAX: Функционал 7 15.03.2012 23:12
Финансовые проводки по журналу "Перенос" (AX 2009) MrVlasoff DAX: Функционал 16 22.03.2010 11:32
Перенос конфигурации без данных rwx DAX: Администрирование 9 01.10.2009 10:15
Перенос переменной в конфигураторе продукции Serg DAX: Функционал 0 09.12.2005 13:43
Перенос номенклатуры со склада на склад efim DAX: Функционал 4 04.04.2003 13:56

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

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

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