|
|
|
Хочется секционированное измерение.
|
|||
|---|---|---|---|
|
#18+
Всех приветствую. Хочется реализовать что-то похожее на следующее. Имеется таблица фактов (facts): дата, id пользователя, всякие метрики. Имеется историческая таблица пользователей (users): дата, id пользователя, всякие атрибуты, которые могут меняться со временем. Facts связан с Users через дату и id пользователя. На таблице Users создано измерение с атрибутами. Соответственно, ключом являются дата и id. Таблица Users насчитывает много-много миллионов записей. Хотелось бы загружать данные пользователей порционно, только отсутствующие дата, или изменения за прошлые даты. То есть на подобии секций на таблицах фактов. Что можете посоветовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 13:40 |
|
||
|
Хочется секционированное измерение.
|
|||
|---|---|---|---|
|
#18+
IlyamI, так вроде в кубе должны быть Process Update для Dim ? ну и какое время процессинг дима занимает то ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 14:17 |
|
||
|
Хочется секционированное измерение.
|
|||
|---|---|---|---|
|
#18+
Гулин Федор, Сейчас порядка 50 млн около получаса (но тут есть существенное влияние сети на передачу данных. на сеть повлиять не могу, не я ее админю) Если последний раз измерение обрабатывалось в понедельник (например), соответственно, последние ключи имеют вид ["Дата понедельника"]["Id пользователя"]. Как во вторник (при Update) куб узнает, что не надо грузить все, что ранее вторника? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 14:43 |
|
||
|
Хочется секционированное измерение.
|
|||
|---|---|---|---|
|
#18+
IlyamI, Есть ProcessAdd для измерений, но оно только для добавления новых данных. А вот поменять что-то выборочно через ProcessUpdate - такого нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 18:30 |
|
||
|
Хочется секционированное измерение.
|
|||
|---|---|---|---|
|
#18+
Можно попробовать так: - измерение "пользователи 2018" - измерение "пользователи 2019" - измерение "пользователи 2020" С фактами соединять через отдельное для каждого измерения поле, которое генерится на уровне DSV или считается в ХД. С течением времени подключать новое измерение и отключать старое, данные по которому уже ушли в архив. Второй вариант - не тащить уникальных пользователей в куб. Например, у вас у пользователей есть атрибуты "пол" и "возраст", в этом случае можно создать некое измерение "синтетический пользователь", где пользователи одного возраста и пола будут объединятся одним id. Для целей аналитики этого может быть достаточно, а кому нужны более подробные данные - те лезут или сразу в ХД, или в куб "архив 20хх" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2020, 19:29 |
|
||
|
Хочется секционированное измерение.
|
|||
|---|---|---|---|
|
#18+
IlyamI, Можно создать витрину для куба, в которую к фактам добавить атрибуты, меняющиеся во времени. К ним сделать измерение по id'шкам атрибутов из витрины. И структура модели данных будет лучше, и проблем будет меньше с процессингом измерений и индексов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2020, 10:47 |
|
||
|
Хочется секционированное измерение.
|
|||
|---|---|---|---|
|
#18+
IlyamI, Советы странные. В измерении есть понятие bucket -- позволяющее разложить элементы по группам. https://docs.microsoft.com/ru-ru/analysis-services/multidimensional-models/attribute-properties-group-attribute-members?redirectedfrom=MSDN&view=sql-server-ver15 Также вы можете посмотреть в сторону ROLAP измерения, чтобы он динамически подгружал с диска только то, что ему конкретно сейчас нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2020, 08:49 |
|
||
|
|

start [/forum/topic.php?fid=49&tid=1857393]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 366ms |

| 0 / 0 |

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