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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.01.2012, 15:28   #1  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
А не проще ли переписать отчеты через "прямые" SQL-запросы непосредственно из АХ, через SSRS или другой отчетник ? При грамотной реализации они будут выполнять значительно быстрее, нежели при варианте с копией.

Если уж очень хочется реплицировать, то определите список таблиц, требуемых для ваших отчетов и гоняйте только его. Если перетаскивать все таблицы, то можно нарваться на системные, которые изменяются даже при запуске и выполнении отчетов, например SysLastValue.
Если в них просходит изменение структуры, то придется переливать полный бэкап, для 50Гб это должно занять в районе получаса на нормальном железе.

PS. Синхронизация приложений на разных АОСах у меня вызывает очень большие сомнения из-за непонятного кэширования
Старый 25.01.2012, 21:58   #2  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Alexius Посмотреть сообщение
А не проще ли переписать отчеты через "прямые" SQL-запросы непосредственно из АХ, через SSRS или другой отчетник ?
Если отчетов много, а нужно - то не проще.Можно постепенно переносить отчетность в SSRS, можно говорить о том, что это правильнее, но это не проще.

Цитата:
Сообщение от Alexius Посмотреть сообщение
При грамотной реализации они будут выполнять значительно быстрее, нежели при варианте с копией.
Т.е., Вы считаете, что отчеты изначально не грамотно построены? или SSRS имеет какие - то преимущества перед существующими отчетами в плане быстродействия? Если второе, то это конечно большой плюс.

Цитата:
Сообщение от Alexius Посмотреть сообщение
Если уж очень хочется реплицировать, то определите список таблиц, требуемых для ваших отчетов и гоняйте только его. Если перетаскивать все таблицы, то можно нарваться на системные, которые изменяются даже при запуске и выполнении отчетов, например SysLastValue.
Если в них просходит изменение структуры, то придется переливать полный бэкап, для 50Гб это должно занять в районе получаса на нормальном железе.
С этим полностью согласен.

Цитата:
Сообщение от Alexius Посмотреть сообщение
PS. Синхронизация приложений на разных АОСах у меня вызывает очень большие сомнения из-за непонятного кэширования
Живем уже много лет, единственное неудобство : попросить пользователя перезапустить аксапту, если изменения производились днем и они нужны прямо сейчас (достаточно редкая процедура, в разрезе одного пользователя).
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 25.01.2012 в 22:10.
Старый 26.01.2012, 09:02   #3  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
Цитата:
Сообщение от Pustik Посмотреть сообщение
Если отчетов много, а нужно - то не проще.Можно постепенно переносить отчетность в SSRS, можно говорить о том, что это правильнее, но это не проще.
Давным-давно я проводил исследования на тему онлайн репликации, до практической реализации дело не дошло, т.к. я посчитал это достаточно трудоемким, как создание так и поддержку. Если это кому-нибудь удалось, то с интересом послушаю.
Цитата:
Сообщение от Pustik Посмотреть сообщение
Т.е., Вы считаете, что отчеты изначально не грамотно построены? или SSRS имеет какие - то преимущества перед существующими отчетами в плане быстродействия? Если второе, то это конечно большой плюс.
Более менее серьезные отчеты штатными ср-ми в АХ грамотно построить принципиально невозможно в виду гигантских ограничений языка запросов, поэтому построение отчетов прямыми запросами к серверу БД (использование SSRS частный случай) в большинстве случаев дает существенный прирост быстродействия.
Старый 26.01.2012, 11:02   #4  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Alexius Посмотреть сообщение
Давным-давно я проводил исследования на тему онлайн репликации, до практической реализации дело не дошло, т.к. я посчитал это достаточно трудоемким, как создание так и поддержку. Если это кому-нибудь удалось, то с интересом послушаю.
Дак я тоже не за репликацию в режиме онлайн. Я предлогал копирование логики и синхронизацию(она быстрее чем поднятие базы данных) ночью, с данными на вчерашний день.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 26.01.2012, 11:29   #5  
Marik is offline
Marik
Участник
 
31 / 10 (1) +
Регистрация: 25.01.2012
Цитата:
Сообщение от Pustik Посмотреть сообщение
Дак я тоже не за репликацию в режиме онлайн. Я предлогал копирование логики и синхронизацию(она быстрее чем поднятие базы данных) ночью, с данными на вчерашний день.
Каким образом копировать логику таблиц SQL? и синхронизировать её без репликации?
Старый 26.01.2012, 11:47   #6  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Marik Посмотреть сообщение
Каким образом копировать логику таблиц SQL? и синхронизировать её без репликации?
Не логику таблиц, а логику ВСЕГО приложения путем простого копирования файлов из папки в папку. А отсинхронизировав ее на резервном приложении автоматически добавятся необходимые поля в нужные таблицы на резервном сервере. И уже после этого делать репликацию.
Но поскольку
Цитата:
Сообщение от Marik Посмотреть сообщение
Актуальность данных нужна максимум с отставанием в пол часа.
то этот вариант Вам не подойдет.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 26.01.2012, 12:22   #7  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
На сколько я понял используется MS SQL и репликация транзакций. На память при таком раскладе не удастся изменить структуру копии БД вслед за оригиналом, все равно придется делать полный снимок (или полный бэкап) и поверх него уже пойдут транзакции. Для минимизации перерыва в работе могу предложить только использовать две копии, т.е. одна используется для доступа к отчетам и как резерв, а вторая для восстановления репликации после изменения структуры основной БД :
1. Копия 1 - работает как отчетная, Копия 2 - в запасе
2. Внесены изменения в структуру данных основной БД
3. Копия 2 - создаем репликацию с основной БД, Копия 1 продолжает работать
4. Как только на Копии 2 восстановилась БД и заработала репликация - перенастраиваем отчеты на Копию 2, а Копию 1 - выводим в резерв
5. см. п. 5, только Копия 1 и 2 меняются местами

PS 1. Задачу создания горячей резервной копии БД я решал через бэкап/восстановление полное/транзакций.
PS 2. Оперативная отчетность всегда делалась на основном сервере, проблемы с производительностью решались там-же.
PS 3. "Генеральская" отчетность делалась на копии БД, создаваемой ночью, ей высокая оперативность не требовалась. В крайнем случае БД развертывалась руками посредине дня.
Теги
sql server, репликация

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axinthefield: New DMVs in SQL Server 2008 R2 SP1 and SQL 2012 ('Denali') and Performance Analyzer for Microsoft Dynamics Blog bot DAX Blogs 0 14.01.2012 05:33
Connection к другому SQL Server Poleax DAX: Программирование 5 19.10.2010 10:49
Как посмотреть параметры коннекта АОС -> SQL ? egorych DAX: Администрирование 2 28.08.2007 13:39
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:47.