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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.12.2006, 02:09   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от spp16rus Посмотреть сообщение
На текущий момент у нас 40 магазинов.. Размер базы 40 Гиг.. В базе данные за 2 года.
Неогбходимо примерно расчитать насколько увеличится размер базы данных при увеличении магазинов до 500 штук..

...

И как это все просчитать.. прирост базы за 1 месяц при таком кол-ве магазинов..
Можно воспользоваться след методологией
Определить основные таблицы.. расчитать сколько записей в них относятся к отдельному магазину за период в 1 месяц.. исходя из этого расчитать прирост для 500 магазинов

Также есть вариант 2
Посмотреть на сколько увеличилась база за 1 месяц.. поделить на 40 (магазинов) и узнать прирост базы для одного магазина..
Для начала стоит посмотреть здесь http://axapta.mazzy.ru/lib/dbgrowthsolution/
Мы, вроде туда уже смотрели.

Думаю, что и первый и второй вариант примерно одинаковы по сути.
А второй выполнить быстрее и проще.

Только смотреть не на прирост базы, а на прирост таблиц.
Для начала посмотреть какие таблицы являются самыми прожорливыми
(в QA выполнить команду dbcc contig with tableresults)
Сравнить с бэкапом месячной давности.
Вычеркнуть таблицы-логи.

Поделить на 40 магазинов (получится усредненный результат).
Умножить на 500.

Но мы также говорили не только о технической стороне вопроса, но и о лицензиях.
Я бы все-таки порекомендовал озвучить руководству цену лицензий для 500 магазинов.
По крайней мере договорится с Майкрософтом о цене, поскольку для такого количества магазинов цена скорее всего будет индивидуальной.

Вопрос, конечно не отпадет, но планируемая скорость подключения новых магазинов наверняка уменьшится. И вы успеете нормально запланировать апгрейд оборудования, без криков "это должно быть уже вчера".
__________________
полезное на axForum, github, vk, coub.
Старый 07.12.2006, 11:30   #2  
gl00mie_imported is offline
gl00mie_imported
Участник
 
17 / 10 (1) +
Регистрация: 18.01.2006
Цитата:
Сообщение от mazzy Посмотреть сообщение
Думаю, что и первый и второй вариант примерно одинаковы по сути. А второй выполнить быстрее и проще. Только смотреть не на прирост базы, а на прирост таблиц.
Для начала посмотреть какие таблицы являются самыми прожорливыми
(в QA выполнить команду dbcc contig with tableresults) Сравнить с бэкапом месячной давности. Вычеркнуть таблицы-логи.
dbcc showcontig with tableresults.
На каком-то буржуйском сайте нашел в свое время скрипт для определения размеров таблиц. Вот его немного доработанная версия (размеры выводятся в kb, отсортированные по убыванию):
Код:
set nocount on
/*
DATABASE TABLE SPY SCRIPT
 Micheal Soelter
 1/24/03
DESCRIPTION
 returns table size information
SORTING USAGE
 @sort bit values
 0 = alphabetically by table name
 1 = sorted by total space used by table
*/
declare @cmdstr varchar(100)
declare @sort bit
select @sort = 1 /* edit this value for sorting options */
/* DO NOT EDIT ANY CODE BELOW THIS LINE */
--create temporary table
if object_id('tempdb..#temptable') is not null drop table #temptable
create table #temptable
 (  table_name varchar(100),
	row_count int,
	table_size_str char(15),
	data_space_used_str char(15),
	idx_space_used_str char(15),
	unused_space_str char(15),
	table_size int,
	data_space_used int,
	idx_space_used int,
	unused_space int
 )
--create stored procedure string
select @cmdstr = 'sp_msforeachtable ''sp_spaceused "?"'''
--populate tempoary table
insert into #temptable (table_name, row_count, table_size_str, data_space_used_str,
						idx_space_used_str, unused_space_str)
	exec(@cmdstr)
--determine sorting method
update #temptable
	set table_size	  = cast(replace(table_size_str,	  ' KB', '') as int),
		data_space_used = cast(replace(data_space_used_str, ' KB', '') as int),
		idx_space_used  = cast(replace(idx_space_used_str,  ' KB', '') as int),
		unused_space	= cast(replace(unused_space_str,	' KB', '') as int)
if @sort = 0
	begin
		--retrieve table data and sort alphabetically
		select table_name, row_count, table_size, data_space_used, idx_space_used, unused_space
		from #temptable order by table_name
	end
else
	begin
		--retrieve table data and sort by the size of the table
		select table_name, row_count, table_size, data_space_used, idx_space_used, unused_space
		from #temptable order by table_size desc
	end
--delete temporay table
drop table #temptable
 


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

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

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