13.01.2009, 14:20 | #1 |
Участник
|
DAX 3.0 SP5FP2 - Архивация прошлых лет
Расскажите пожалуйста, как мне можно от рабочей базы отделить прошлые года и положить их в отдельный архив, и при необходимости данные читались оттуда, а основная база включала в себя только текущий год - как, например, это реализовано в 1С Бухгалтерии.
|
|
13.01.2009, 14:25 | #2 |
Участник
|
Может Вам подойдет партиционирование таблиц средствами СУБД?
|
|
13.01.2009, 14:29 | #3 |
Участник
|
Может быть подойдет, но я плохо знаю каким образом это реализовать. Если Вам не трудно, расскажите.
|
|
13.01.2009, 15:12 | #4 |
Модератор
|
Прочитайте про сегментирование. Раньше поддерживалось только на Oracle, но, кажется, в SQL 2005 тоже появилась такая возможность. Идея в том, что таблицу можно по некому признаку разбить на части - и, например, за последний год оставить на быстром диске, а остаток - убрать на обычный и медленный. Однако не работает при использовании локализованных отчетов.
Обсуждалось. С Уважением, Георгий |
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
13.01.2009, 15:32 | #5 |
MCITP
|
Цитата:
Сообщение от George Nordic
Прочитайте про сегментирование. Раньше поддерживалось только на Oracle, но, кажется, в SQL 2005 тоже появилась такая возможность. Идея в том, что таблицу можно по некому признаку разбить на части - и, например, за последний год оставить на быстром диске, а остаток - убрать на обычный и медленный. Однако не работает при использовании локализованных отчетов.
Мне кажется этот вариант не очень жизнеспособным, ну разве что если у вас абсолютно статичная система без малейших модификаций...
__________________
Zhirenkov Vitaly |
|
13.01.2009, 16:12 | #6 |
Участник
|
Вкраце коллеги уже написали, дополню: Partitioned Tables and Indexes in SQL Server 2005
Какая у Вас СУБД используется? Какой размер БД? Вообще как пришли к решению что надо разделить данные? |
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
13.01.2009, 16:32 | #7 |
Участник
|
СУБД - Microsoft SQL Server 2000 Standart.
Размер БД - 23Гб. С ростом базы система работает все медленнее и медленее, и в добавок мы делаем ежедневные бэкапы и каждый день бэкапить старые года, по сути одно и тоже, бессмысленная трата дискового пространства. Один бэкап = 3,5Гб. |
|
13.01.2009, 16:40 | #8 |
Участник
|
По поводу бэкапов просто - делайте полные бэкапы еженедельно, а ежедневно - дифференциальные.
По поводу скорости - секционирование не изменит размер базы данных и не даст коренного прироста скорости. 23 гигабайта - это еще не критичный размер для базы - либо у вас проблемы в железе (память, диски), либо если допустить что с железом все нормально - у вас были доработки, которые плохо масштабируются. |
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
13.01.2009, 16:40 | #9 |
Moderator
|
В общем - на мой взгляд на 3ей версии это не решить в приниципе. Для DAX2009 поддерживается back-end partitioning (хотя сам не проверял - только слайды презентации смотрел). Коротко говоря - если ты ручками отпартиционировал таблицу за пределами аксапты, то при дальнейших синхронизациях это партиционирование будет сохраняться.
|
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
13.01.2009, 19:13 | #10 |
Модератор
|
Цитата:
Цитата:
мы делаем ежедневные бэкапы и каждый день бэкапить старые года, по сути одно и тоже, бессмысленная трата дискового пространства. Один бэкап = 3,5Гб
Цитата:
СУБД - Microsoft SQL Server 2000 Standart
Цитата:
В общем - на мой взгляд на 3ей версии это не решить в приниципе
Цитата:
Да, но не забывайте, что при этом подходе при любом изменении таблицы в Аксапте и её синхронизации таблица в БД будет пересоздана как несекционированная. (по крайней мере в Оракле так)
Мне кажется этот вариант не очень жизнеспособным, ну разве что если у вас абсолютно статичная система без малейших модификаций... BokarevSS, я бы на Вашем месте
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
14.01.2009, 00:01 | #11 |
MCITP
|
Цитата:
Как говорится, "можно сделать всё - вопрос времени и целесообразности".
__________________
Zhirenkov Vitaly |
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
14.01.2009, 15:18 | #12 |
Пенсионер
|
Немного поделюсь опытом:
(Огромное спасибо Torin за помощь на начальном этапе) 1. база ~200 гиг. 2. партицирование делалось по дате только для огромных таблиц 3. при партицировании, главное условие: значимое поле (дата в моем случае) должно входить в кластерный индекс (что косвенно увеличивает размер базы) 4. приведенный скрипт by Torin, не подошел, т.к. я не все таблицы партицировал. 5. я создал отдельные filegroup, files, функцию и схему партицирования по полю типа "дата" 6. для каждой таблицы (12 штук) был отдельный скрипт 7. вручную удалял кластерный индекс для таблицы 8. добавлял в кластерный индекс поле "дата" если это требовалось 9. запускал скрипт из п.6. 10. затем filegroup делал readonly и средствами NTFS сжимал фалы этой группы. (мне хотелось именно это сделать) В итоге база стала 110 гиг из них 20 занимает на диске (реально 60) созданная партиция. Проверял отчеты по данным таблицам, работают без проблемм и снижения производительности не заметил. Конечно это не серьезное исследование, но кое какие выводы сделал, например, то что в моем случае, никакие структурные изменения для партицированных таблиц невозможны (ибо readonly)
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
|
За это сообщение автора поблагодарили: BokarevSS (1). |
21.01.2009, 14:36 | #13 |
Moderator
|
Ну и чтобы завершить тему рекомендую зайти по ссылке:
https://emea.msconvergence.com/Publi...?categories=ax и внимательно посмотреть на презентацию AX10. На всякий случай - дисклеймер: Страница найдена гуглом, никакого разглашения инсайда, никого не трогаю - починяю примус |
|
|
За это сообщение автора поблагодарили: Poleax (1). |
21.01.2009, 16:06 | #14 |
Модератор
|
Цитата:
SQL Server databases not supported on compressed volumes
__________________
-ТСЯ или -ТЬСЯ ? |
|
21.01.2009, 20:39 | #15 |
Пенсионер
|
Цитата:
Сообщение от Vadik
На всякий случай.. (хорошо что ветку подняли, сразу не ответил, потом забыл)
SQL Server databases not supported on compressed volumes
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
22.01.2009, 16:48 | #16 |
Модератор
|
Цитата:
Сообщение от fed
Ну и чтобы завершить тему рекомендую зайти по ссылке:
https://emea.msconvergence.com/Publi...?categories=ax и внимательно посмотреть на презентацию AX10. На всякий случай - дисклеймер: Страница найдена гуглом, никакого разглашения инсайда, никого не трогаю - починяю примус |
|
22.01.2009, 19:47 | #17 |
Moderator
|
Ой - извиняюсь- неверно выразился. Речь шла о том чтобы посмотреть на тему презентации и сделать выводы. Например о том что, вероятно, механизм архивации данных для аксы все-таки разрабатывается в Микрософте
|
|
22.01.2009, 21:47 | #18 |
Banned
|
|
|
22.01.2009, 22:53 | #19 |
MCITP
|
В 2.5 была такая вещь уже как Axapta Oracle Company partitioning option... Цитата:
Сообщение от Microsoft Business Solutions-Axapta V3.0 Databases Advanced
Partitioning of data possible based on company (beginning in version 2.5 and only for version 3.0 for those database and applications that have been upgraded from version 2.5). .... Partitioning support has been turned off in version 3.0 since it did not have the expected effect.
__________________
Zhirenkov Vitaly |
|
22.01.2009, 23:01 | #20 |
Участник
|
|
|
Теги |
ax3.0, partition, архивирование, сегментирование, crm2011 |
|
|