powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
9 сообщений из 9, страница 1 из 1
почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
    #39926031
rawman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть DWH в 500Гб, проблема обновления стоит остро, хочется обновлять данные несколько раз в день, сделал 2 скрипта для обновления с ProcessFull и ProcessUpdate, смутило то что по времени они работают примерно одинаково. отчего так ?

кусок скрипта ProcessFull:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
	<ErrorConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
		<KeyErrorLimit>-1</KeyErrorLimit>
		<KeyErrorLogFile>C:\Temp\ProcessFull_err.log</KeyErrorLogFile>
		<KeyDuplicate>ReportAndContinue</KeyDuplicate>
		<NullKeyConvertedToUnknown>ReportAndContinue</NullKeyConvertedToUnknown>
	</ErrorConfiguration>
	<Parallel>
		<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
			<Object>
				<DatabaseID>TT</DatabaseID>
				<DimensionID>Время</DimensionID>
			</Object>
			<Type>ProcessFull</Type>
			<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
		</Process>
		<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
			<Object>
				<DatabaseID>TT</DatabaseID>
				<DimensionID>Филиалы</DimensionID>
			</Object>
			<Type>ProcessFull</Type>
			<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
		</Process>
		<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<Object>
				<DatabaseID>TT</DatabaseID>
				<CubeID>DWH Cube View</CubeID>
				<MeasureGroupID>Продажи</MeasureGroupID>
				<PartitionID>Продажи</PartitionID>
			</Object>
			<Type>ProcessFull</Type>
			<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
		</Process>
	</Parallel>
</Batch>



по аналогии ProcessUpdate:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
	<ErrorConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
		<KeyErrorLimit>-1</KeyErrorLimit>
		<KeyErrorLogFile>C:\Temp\ProcessFull_err.log</KeyErrorLogFile>
		<KeyDuplicate>ReportAndContinue</KeyDuplicate>
		<NullKeyConvertedToUnknown>ReportAndContinue</NullKeyConvertedToUnknown>
	</ErrorConfiguration>
	<Parallel>
		<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
			<Object>
				<DatabaseID>TT</DatabaseID>
				<DimensionID>Время</DimensionID>
			</Object>
			<Type>ProcessUpdate</Type>
			<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
		</Process>
		<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
			<Object>
				<DatabaseID>TT</DatabaseID>
				<DimensionID>Филиалы</DimensionID>
			</Object>
			<Type>ProcessUpdate</Type>
			<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
		</Process>
		<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<Object>
				<DatabaseID>TT</DatabaseID>
				<CubeID>DWH Cube View</CubeID>
				<MeasureGroupID>Продажи</MeasureGroupID>
				<PartitionID>Продажи</PartitionID>
			</Object>
			<Type>ProcessAdd</Type>
			<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
		</Process>
	</Parallel>
</Batch>
...
Рейтинг: 0 / 0
почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
    #39926052
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rawman,

гадаю на кофейной гуще, хоть час для кофе уже не тот...
исходя из того, что ProcessUpdate значительно медленнее чем ProcessFull для измерений, а ProcessAdd значительно быстрее ProcessFull для групп мер, то для первого случая распределение во времени будет 10%+10%+80%, для второго 30%+30%+40%
и как результат 100%=100%
о-па и мы в дамках!

уважаемый, откуда-ж мы знаем вашу кухню.. но есть подозрение, что оба варианта перелопачивают одинаковый объем данных с примерными вышеуказанными распределениями.
...
Рейтинг: 0 / 0
почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
    #39926065
rawman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgor,

я тоже об этом подумал что оба варианта перелопачивают одинаковый объем данных.
вопрос почему ?
ведь в первом случае ProcessFull, а во втором ProcessUpdate. по моей логике ProcessUpdate должен обрабатывать только изменения. или я не прав ?

как проверить что оба варианта перелопачивают одинаковый объем данных ?
...
Рейтинг: 0 / 0
почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
    #39926070
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rawman,

в логах все должно быть написано.
к тому же Вы привели примеры, что обрабатываете MG (Full или Add не важно). Источник данных Вы не меняете и не указываете никак.
значит для загрузки используется один и тот же источник (таблица, представление или именованный запрос). Ну и прочитано будет соответственно все снова..
Чтоб ProcessAdd сработал SSAS должен про это как-то узнать. это все отлично описано здесь
...
Рейтинг: 0 / 0
почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
    #39926095
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rawman,

Если Вам надо обновлять данные несколько раз в день, то тут вопрос стоит не в скриптах обновления, а в написании правильного ETL, в партиционировании, как исходных данных, так и куба, в правильном применении инкремента к данным, в отслеживании что изменилось и что надо обновлять.

И это не та задача, которая решается путем обновление нескольких скриптов. Вам надо хранилище правильно передизайнить, чтобы инкрименталдьное обновление было возможно.
...
Рейтинг: 0 / 0
почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
    #39926109
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,

все зависит от вообще наличия DWH.. у меня был проект на сопровождении у которого вообще слой Stage был представлен вьюхами.. какой смысл городить огород, если данных с гулькин нос и нужны они только 1 раз?
...
Рейтинг: 0 / 0
почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
    #39926235
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rawman
есть DWH в 500Гб, проблема обновления стоит остро, хочется обновлять данные несколько раз в день,


pазбейте данные на партиции ("архив" + "последний день") , и обновляйте только последнюю

rawman
о моей логике ProcessUpdate должен обрабатывать только изменения

а в базе у вас есть магический признак "измненено" ? :)
...
Рейтинг: 0 / 0
почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
    #39926498
rawman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StarikNavy,

везде есть дата, по ней разве нельзя отслеживать изменения ?
...
Рейтинг: 0 / 0
почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
    #39926581
Ferdipux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rawman,

Для этого вы должны "объяснить" SSAS что это за дата - дата последнего изменения, и т.п.
Стандартный механизм считывает данные измерений и вычисляет контрольные суммы для записей, если они отличаются - считает запись измененной. Далее - SSAS обновляет измерение и инвалидирует индексы и агрегаты групп мер, куда входит данное измерение. Или - делает Process Index для этих групп мер, если указана опция Process Affected Objects.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / почему ProcessFull и ProcessUpdate работают примерно одинаковое время ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]