|
04.08.2011, 14:40 | #1 |
Сам.AX
|
Поддержание быстродействия растущей БД
AX 4.0, MSSQL 2008
В условиях постоянно растущей базы возникает вопрос: как сделать так, чтобы общая скорость работы системы и отдельных операций не увеличивалась? Каждый год удалять "лишние" документы (различные заказы, проводки..)? Средствами MSSQL дробить данные БД горизонтально на файлы и старые (с реже используемыми данными) файлы кидать на отдельный диск? Каждый год покупать новый сервак? Что делаете вы?
__________________
ѣ |
|
04.08.2011, 15:21 | #2 |
Участник
|
|
|
04.08.2011, 15:57 | #3 |
Участник
|
Цитата:
Во-вторых, четко различать документы/проводки и черновики. Документы/проводки влияют на итоги. Черновики на итоги не влияют (или влияют только на прогнозные итоги). Заказы и журналы - суть черновики. Черновики можно удалять в любой момент. Никогда не храните данные в заказах и в журналах - их могут удалить в любой момент. Всегда переносите данные в документы и проводки. В-третьих, Четко следите за проводками, которые можно безболезненно удалить. Например, InventSettlement (where InventSettlement.Cancelled==NoYes::Yes) В-четвертых, обратите внимание на стандартные отчеты, которые работают от конца или от промежуточных итогов. Постарайтесь делать и свои отчеты таким образом, чтобы они не работали от начала времен. В-пятых, если все-таки у вас будет отчет "от начала времен" (как стандартный по клиентам/поставщикам) сделайте так, чтобы в выборку не попадала огромная куча данных. Так отчет по клиентам/поставщикам строится по каждому клиенту/поставщику отдельно. А в такую выборку почти никогда не попадает много-тыщ записей. Насчет сегментирования. В целом, штука хорошая. И я часто пропагандировал этот способ. Однако вынужден признать, что и русская функциональность, и на большинстве кастомизаций умудряются сделать отчеты "от начала времен". В этом случае сегментирование мало помогает. Насчет архивирования. Дело в том, что перенос данных в архив и свертка данных неизбежно приводит к тому, что потребуется два набора отчетов - один для нормальных данных, другой для архивных. Затраты на создание таких отчетов с лихвой перекроют всю выгоду от архивирования. Поэтому не думаю, что архивирование поможет. Другое дело - свертка данных. Такая штука есть в Навике. Штука забавная. Но очень плохо дружит с локализацией. В Аксапте свертка есть в одном месте - операция свертки InventSum в периодических операциях \ Очистка \ Очистка складских сопоставлений. Нужно проверять как эта свертка дружит с последними "расширениями" складской аналитики в русском функционале. В целом, свертка данных - очень тягомотное занятие. ============= Резюме: Если вы смотрите на брутто-рост вашей базы в enterprise manager, то не пугайтесь. быстрый рост дают как правило логи. Просто регулярно чистите их. В старых версиях аксапты реальный рост базы происходил в таблице InventSettlement при списании по среднему. Это да. Но допиленная очистка складских сопоставлений вполне помогала. В последних версиях эту фичу победили. |
|
|
За это сообщение автора поблагодарили: Electrician (1). |
08.08.2011, 16:17 | #4 |
Сам.AX
|
Цитата:
А вообще вопрос актуальный у клиентов? Или все кластеры закупили с запасом на лет 10?
__________________
ѣ |
|
08.08.2011, 16:22 | #5 |
Moderator
|
Цитата:
Ну а 5 лет продержаться тупо апгрейдя железо - вполне реально... На крайняк - можно без перевнедрения с нового года поставить новую БД и перенести туда одни остатки... P.S. Замечу что аксапта изначально не разрабатывалась и не проектировалась под архивацию и свертку. И разработка подобного механизма с ноля может оказаться дороже перевнедрения с вводом одних остатков... Последний раз редактировалось fed; 08.08.2011 в 16:29. |
|
08.08.2011, 17:04 | #6 |
Участник
|
Если же используется ОЛАП, то зачастую настраивается два источника данных - старая система для старых данных и новая для новых. Хотя готов согласится, что это тот еще гемор...
|
|
09.08.2011, 13:34 | #7 |
Сам.AX
|
Мы так и делаем)) И это еще хорошо, что у нас одна валюта
__________________
ѣ |
|
08.08.2011, 18:15 | #8 |
Модератор
|
У Вас интерес чисто академический (обо всем и ни о чем конкретно) или практический ? Задачу \ проблему можете сформулировать ?
__________________
-ТСЯ или -ТЬСЯ ? |
|
09.08.2011, 10:25 | #9 |
Сам.AX
|
4 года жили на железе, которое не справлялось с объемом данных за полгода, поэтому каждый год почти под нуль чистили базу. Недавно купили хорошее железо, работает удовлетворительно, но кто его знает, как оно себя поведет через с большими данными...
__________________
ѣ |
|
09.08.2011, 16:22 | #10 |
Участник
|
Цитата:
Опять же, зависит от того, что Вы вкладываете в понятие "не справлялось". Может, Вам всего-лишь тюнинг индексов надо было провести... |
|
10.08.2011, 14:17 | #11 |
Участник
|
Параметры серверов в студию! :-))
|
|
Теги |
бд, быстродействие |
|
Похожие темы | ||||
Тема | Ответов | |||
Установка текущего SID-а в БД | 0 | |||
Получить параметры соединения с БД | 5 | |||
Подключение АОС к новой БД | 4 | |||
2 AOS + 2 БД = 1 сервер | 2 | |||
Создание точной копии БД для анализа ошибок | 1 |
|