2009-05-29 2 views
4

Недавно я унаследовал склад, который использует представления для суммирования данных, мой вопрос таков: Являются ли виды хорошей практикой или лучшим подходом? Я собирался использовать кубы для объединения многомерных запросов.Использование представлений в хранилище данных

К сожалению, если это задать основной вопрос, я не испытывал со складскими и analyis услуг

Благодарности

ответ

3

Службы анализа и представления имеют принципиальное отличие в том, что они будут использоваться различными средствами отчетности или анализа.

Если у вас есть SQL-отчеты (например, через службы Reporting Services или Crystal Reports), представления могут быть полезны для них. Представления также могут быть реализованы (они называются индексированными представлениями на SQL Server). В этом случае они сохраняются на диске и могут использоваться для уменьшения ввода-вывода, необходимого для выполнения запроса против представления. Запрос к не материализованному представлению по-прежнему будет касаться базовых таблиц.

Часто виды используются для целей безопасности или простоты (например, для инкапсуляции бизнес-логики или вычислений в нечто, что просто для запроса). Для обеспечения безопасности они могут ограничить доступ к конфиденциальным данным путем фильтрации (ограничение доступных строк) или маскировки чувствительных полей из базовой таблицы.

Службы Analysis Services используют различные инструменты запроса и отчетности и предварительно вычисляют и хранят агрегированные данные. Интерфейс с сервером отличается от SQL Server, поэтому инструменты для отчетов или запросов для куба (например, ProClarity) отличаются от инструментов отчетности по базе данных (хотя некоторые системы имеют возможность запрашивать либо из них).

+0

спасибо за ответ, означает ли это, что сообщение через службы отчетов с помощью кубов возможно? – Stuart

+0

и что вы рекомендуете для сообщения о кубах? – Stuart

+0

@stuart: Да, вы можете использовать источник данных служб Analysis Services в службах отчетов –

2

Кубики гораздо лучший подход обобщить данные и выполнять многомерный анализ на нем.

Проблема с представлениями двоякая: плохая производительность (все эти объединения и групповые байты), а также невозможность вырезать кости и нарезать данные пользователем.

В моих проектах я использую «тупые» представления в качестве другого слоя между хранилищем данных и кубами (т. Е. Мои измерения и группы измерения основаны на представлениях), поскольку он позволяет мне большую степень гибкости.

2

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

Они также могут использоваться для реализации пользовательских реализаций разбиения таблиц и развертывания объединенной базы данных.

Если функция представлений в вашей базе данных облегчает вычисление показателей или статистики, то вы, безусловно, выиграете от более подходящей реализации, например, доступной через решение хранилища данных.

+0

thats, что я думал, взгляды используются только в вычислениях, а именно sum. Странный выбор! – Stuart

0

Я был в той же лодке несколько лет назад. В моем случае у меня был доступ к другому SQL-серверу. На втором сервере я создал сервер ссылок на склад, а затем создал свои представления и материализованные представления на втором сервере. В некотором смысле у меня был хранилище данных и хранилище отчетов. Для проекта этот подход был разработан наилучшим образом, поскольку нам требовалось предоставить доступ к данным другим отделам и некоторым поставщикам. Разделение серверов на два отдельных экземпляра: одно для хранилища и одно для отчетности также уменьшало некоторые риски, связанные с безопасным доступом.

Смежные вопросы