Ограничивает ли RLS (безопасность на уровне строк) данные, сканируемые в запросе DAX? - PullRequest
0 голосов
/ 10 января 2020

Мне любопытно, может ли кто-нибудь здесь сказать мне, будет ли RLS ограничивать объем данных, отсканированных в мерах DAX? Моя таблица RLS соединена с моей таблицей фактов двунаправленными отношениями в стандартной схеме звезды. Я построил очень сложный набор мер из-за требований, и я боюсь, что после того, как эта модель обработана для всех данных, она может иметь плохую производительность. В настоящее время данные состоят только из нескольких объектов внутри организации, но после полной обработки модель будет составлять около полумиллиарда записей. Я использую тонну итераторов, и я надеюсь, что им не нужно будет повторять весь набор.

Спасибо!

1 Ответ

0 голосов
/ 24 января 2020

Фильтрация RLS применяется до оценки мер. Однако, в зависимости от того, к какой таблице вы устанавливаете фильтр RLS, и сложности выражения фильтра RLS, вы можете столкнуться с плохой производительностью самого фильтра RLS!

Если ваша модель представляет собой хорошо спроектированную звездообразную схему и RLS применяется к таблице измерений, в которой не слишком много строк (<100.000), тогда все будет в порядке! </p>

Двунаправленные отношения могут вызвать некоторые проблемы, поэтому следите за этими ! В общем, вы всегда должны избегать bi-di и вместо этого использовать функцию CROSSFILTER в тех показателях, где вам действительно нужно двунаправленное поведение.

Итераторы по полмиллиарду строк - это не обязательно проблема , если итеративное выражение не выполняет контекстный переход (это может произойти, если вы используете CALCULATE или ссылаетесь на меру внутри итерации.

Но в конечном итоге с табличными моделями, как сказали бы итальянцы: Это зависит ™ .

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

...