Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.03.2004, 14:49
|
|||
|---|---|---|---|
Help! DSO и опять обновление кубов |
|||
|
#18+
Мужики ! У меня в витрине 10 мил. записей, стоит MS AS 2k SP3a, в AS - 2 DB и в каждом 2 куба, и в каждом кубе десяток партиций с фильром по кластерному ключу в витрине (суррогатный ключ месяца и года). Т.е. каждая патриция хранит ВСЕ агрегаты одного месяца и года (около 600 тыс записей из витрины). В каждом кубе все дименшионы - общие. Есть иерархии как сбалансированные так и нет. И у всех иерархий пока changed=false. Ввиду завершения проекта дописал себе в ETL приложение (на vb6) обновление кубов. По коду я перебираю каждый сервер, обновляю дименшионы m_dsoDatabase.BeginTrans Dim dsoDim As DSO.Dimension For Each dsoDim In m_dsoDatabase.Dimensions dsoDim.process ProcessTypes.processRefreshData Next m_dsoDatabase.CommitTrans Потом по каждому кубу вылавливаю обновленные партиции (я знаю какие периоды обновились, а имя партиции включает его) и говорю им: Set dsoPartition = dsoCube.MDStores.item(normalPartitionName) logMessage " regular update " + dsoPartition.Name dsoPartition.process (ProcessTypes.processRefreshData) dsoPartition.Update И сразу нарвался на проблемы: Все остальные партиции обнуляются. Кто то может паказать код, как делать, чтобы не обнулялись ?? (я понимаю практически на любом языке программирования ;-)) P.S. Документацию и посты читал, понял как смог. Тпкое впечатление, что обновление шаред диментиронов все партиции сбрасываются.. Спасибо, блин, большое ! ;-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2004, 14:59
|
|||
|---|---|---|---|
Help! DSO и опять обновление кубов |
|||
|
#18+
BOL Important When a shared dimension is processed with the Rebuild the dimension structure option, all cubes that include the shared dimension immediately become unavailable to users and must be processed before they can be used again ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2004, 15:23
|
|||
|---|---|---|---|
Help! DSO и опять обновление кубов |
|||
|
#18+
Знаю, но они не меняются в структуре каждые 2 часа. А это код запускаясь каждые 2 часа обнуляет партиции. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2004, 17:25
|
|||
|---|---|---|---|
|
|||
Help! DSO и опять обновление кубов |
|||
|
#18+
Так а почему бы не делать Incremental Update Dimensions при котором партиции не нужно рефрешить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2004, 17:28
|
|||
|---|---|---|---|
Help! DSO и опять обновление кубов |
|||
|
#18+
;-) Видел эту фразу в постах Такого элемента перечисления в DSO.ProcessTypes нету :-) Там есть : processBuildStructure processDefault processFull processFullReaggregate processReaggregate processRefreshData processRefreshDataAndIndex processResume processSuspend Какой выбрать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.03.2004, 00:16
|
|||
|---|---|---|---|
Help! DSO и опять обновление кубов |
|||
|
#18+
Эх, орлы ! Это сделать нельзя через DSO (Incremental Update Dimensions). BOL пишет: Process (MDStore Interface) The Process method of the MDStore interface creates and populates an MDStore object on the Analysis server. Applies To clsCube clsDatabase clsPartition Заметим, что Dimension сдесь нет ;-), прямо как в "ДЕБЕЛЕ" про суслика. Метод то есть ;-) - это потому, что один интефейс MDStore используется. Вообщем суть далее написано, что сее действие мжно сделать только из интерфейса.;-(((/ Странно, конечно И если кто то решиться возразить - поправка к условиям - на самом деле я один диментион сделал changed. Но в данном случае это не должно мешать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.03.2004, 02:11
|
|||
|---|---|---|---|
|
|||
Help! DSO и опять обновление кубов |
|||
|
#18+
Возможно документация по этому вопросу не очень ясная и ввела Вас в заблуждение. Отрывок цитируемый г-ном Torin говорит про MDStore interface, в то время как измерения имплементируют Dimension interface. Более подробно об этом написано по следующему URL: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/olapdmpr/prdimensioni_7f03.asp Вкратце: The Process method of the Dimension interface creates and populates a dimension on the Analysis server. Applies To clsDatabaseDimension Для того чтобы сделать Incremental Dimension Processing надо воспользоваться processType = processRefreshData ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.03.2004, 02:32
|
|||
|---|---|---|---|
|
|||
Help! DSO и опять обновление кубов |
|||
|
#18+
To Mosha Ну так Torin так и делал, смю его код. Он же как раз и делает incremental update для зашареных измерений. Код: plaintext 1. 2. 3. 4. 5. Вопрос то прозвучал в другом: Почему после этого разделы кубов становяться "non processed"? To Torin У меня возник вопрос: является ли на самом деле инкрементальный Update зашареных измерений причиной инвалидации разделов куба? Мне например не понятно зачем вызывается Код: plaintext Я этого не делаю при процессинге и все работает без проблем. То Моsha На примере работы с ДСО (через .NET Interop) я стокнулся с проблемой, что в С# использование оператора ForEach для OlapCollection, мягко говоря, не предсказуемо. Свзанно ли это с тем, что OlapCollection имеет "не нормальную индексацию"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.03.2004, 06:06
|
|||
|---|---|---|---|
|
|||
Help! DSO и опять обновление кубов |
|||
|
#18+
> Ну так Torin так и делал, смю его код Вы правы, я не посмотрел в parent post, а только в последующие ответы. > поправка к условиям - на самом деле я один диментион сделал changed. Но в данном случае это не должно мешать.. Не только не должно мешать, но напротив должно помогать. Основная цель changing dimensions заключается в том, что когда с ними происходят изменения (например изменение позиции в иерархии), то не надо перестраивать partitions а только их индексы. > Все остальные партиции обнуляются. Как это проявляется ? Пропадают файлы с данными partition ? Или файлы с данными на месте а происходит что-то другое ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.03.2004, 13:47
|
|||
|---|---|---|---|
Help! DSO и опять обновление кубов |
|||
|
#18+
update я уже влепил, пока разбирался. Будете смеятся, но с утра все оК. На всякий случай каждый раз перебираю все партиции каждого куба For Each dsoPartition In dsoCube.MDStores If dsoPartition.State = olapStateNeverProcessed Then logMessage " lost update for Partition " + dsoPartition.Name dsoPartition.process (processRefreshData) End If Next Это даст мне полную гарантию , что все в порядке (если сервер вдруг решит сделать размерности rebuild ? - он ведь может ?) И прошу прощения за тупость, мне до сих пор неясен смысл статуса партиции olapStateCurrent - в BOL вроде написано, что если партиция имеет его, то она не будет обработана при обновлении куба ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=49&mobile=1&tid=1872767]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 330ms |

| 0 / 0 |
