Целесообразно ли поддерживать веб-сайт кубом OLAP SQL Server 2012?

11

Мне было поручено разработать решение для большой розничной сети. Они хотят, чтобы каждый из его 1,2 миллиона клиентов заходил на веб-сайт, чтобы увидеть распределение последних покупок (текущий месяц, предыдущий месяц, с начала года) по более чем 50 категориям. Данные будут обновляться один раз в день.

Я подумываю о создании куба OLAP на основе SQL Server 2012 и предоставлении веб-сайту возможности напрямую запрашивать этот куб, используя такие функции, как упреждающее кэширование. Тем не менее, будучи разработчиком в глубине души, я практически не имел опыта работы со службами анализа SQL Server, поэтому весьма обеспокоен производительностью этого решения.

Звучит ли подключение веб-сайта непосредственно к кубу OLAP возможным решением? Такие системы реагируют на нагрузку от нескольких пользователей примерно как SQL Server, что делает это разумным решением, или они действуют совершенно по-другому?

Я не ожидаю, что пользователи будут часто проверять свой статус, и я, конечно, буду использовать кеширование на веб-сервере и т. Д.

руна
источник

Ответы:

11

Вы можете сделать это с системой OLAP - некоторые из преимуществ SSAS для этого типа приложений включают в себя:

  • SSAS может легко масштабироваться - тем более что это приложение только для чтения без требований обратной записи куба.

  • Агрегаты могут быть настроены так, чтобы минимизировать ввод / вывод, позволяя настраивать кубы для повышения эффективности.

  • Клиентское программное обеспечение OLAP и сторонние элементы управления (веб-интерфейс и многофункциональный клиент) легко доступны у ряда поставщиков.

  • Выпуск SQL Server 2012 Business Intelligence содержит практически все функции масштабируемости для SSAS, поэтому его можно использовать как экономически эффективную платформу для создания кубов для базы данных SQL Server Enterprise Edition (или сторонней). Обратите внимание, что лицензирование может быть проблемой для этого, поскольку выпуск BI только для клиентских лицензий.

  • В SSAS есть функция интеллектуального анализа данных, которую можно использовать для анализа данных корзины покупок и размещения на веб-сайте функции «предлагаемые покупки».

С другой стороны, требование состоит в том, чтобы показывать относительно ограниченный набор данных, поэтому специальная возможность среза-и-кости сервера OLAP может быть излишней, как по стоимости программного обеспечения, так и по стоимости аппаратной инфраструктуры для его запуска ( SSAS довольно голоден). Скорее всего, вы могли бы выполнить ваши немедленные требования с помощью периодически обновляемой сводной базы данных и сделать это с меньшими затратами на оборудование и лицензирование.

С первого взгляда я бы предположил, что OLAP, вероятно, не является необходимым для выполнения существующих требований. Тем не менее, это, безусловно, может быть сделано таким образом, и вы можете получить некоторое преимущество от функций интеллектуального анализа данных, чтобы обеспечить функцию «предлагаемых покупок».

ConcernedOfTunbridgeWells
источник
3
Кроме того, как только кубы будут там, вы можете придумать способы их использования. Хранилища данных предназначены для вопросов, которые еще не известны, а те, которые известны, могут быть обработаны простым запросом. Я определенно сделаю прототип на основе кубов OLAP, а затем представлю его заинтересованным сторонам и объясню дополнительную гибкость.
TomTom
1
Я подозреваю, что первый вариант (с SSAS и кубами), возможно, уже существует для аналитиков розничной сети. В розничной торговле они обычно занимаются добычей данных, но пока не доставляют их конечным клиентам. PS: Вы можете прочитать краткий обзор о некоторых рабочих элементах управления BI для веб-приложений (в ASP.NET) в моем ответе SO .
Мариан
ОЧЕНЬ вероятно - что у них уже есть кубики.
TomTom
7

SSAS - очень мясная тема. Почти ничего из того, что вы знаете о ядре базы данных, нельзя применить к службам аналитики. Если единственной целью будет предоставление серверной части для этого отчета, то ускорение работы служб Analysis Services и реализация базы данных OLAP будут довольно существенными издержками по сравнению с более традиционным подходом периодического обновления некоторых сводных данных, хранящихся в реляционная база данных или создание отчета служб Reporting Services, который запускается из периодически создаваемого моментального снимка выполнения.

Тем не менее, если у вас действительно есть долгосрочная потребность в некоторых сильных сторонах служб Analysis Services, таких как специальные многомерные отчеты и выражения MDX (вы можете делать довольно интересные вещи), и вы работаете с очень большими хранилище данных, которое позволяет ему значительно превзойти реляционную базу данных, тогда его стоит изучить. Не ожидайте забрать это через день, как бы то ни было.

db2
источник
3

Да, это очень разумное решение. У меня есть клиенты, у которых есть SSAS с подобной нагрузкой, и она отлично работает. Как и при любой разработке базы данных, производительность, которую вы получите, будет напрямую связана с тем, насколько хорош дизайн куба.

mrdenny
источник