Разделы

Цифровизация Бизнес-приложения

Эффективная обработка данных: используем MS SQL Server

Любой бизнес опирается на данные. Сведения о заказчиках и контрагентах, собственных сотрудниках, продажах и поставках — все это содержится в десятках и сотнях таблиц баз данных, без которых сегодня немыслима успешная деловая деятельность. По сути это виртуальный аналог вместительного шкафа с документами – единое место, где компания хранит и упорядочивает информацию. Но всегда ли процесс работы с ней эффективен? Рассмотрим, что дает ПО.

BISM – это простая и понятная система, позволяющая строить простые запросы гораздо более эффективно и быстро. Этот факт открывает новые горизонты для использования комплексной аналитики, в том числе и бизнес-пользователями, которые теперь могут самостоятельно строить сложные и многомерные аналитические запросы, используя простой и понятный механизм BISM, внешне похожий на таблицы Excel.

При этом UDM также остается и продолжает развиваться параллельно с BISM, предоставляя более глубинные, но и более сложные подходы к формированию OLAP-моделей, которые могут потребоваться в сложных проектах.

Особенности применения BISM и UDM рассмотрим на примерах, приведенных ниже.

Предположим, сотруднику необходимо просмотреть итоги продаж в компании за последний месяц. Ему достаточно подключится к таблице с данными по сбыту и BISM "подтянет" все связанные таблицы. Далее сотрудник может подключиться через RSS к какому-либо экономическому сайту, загрузить текущую рыночную сводку и подключить её к своему отчету. Таким образом, BISM позволяет построить отчет не только по своей компании, но и сравнить их со средними показателями по рынку в целом. При желании можно быстро подключать и другие таблицы, например данные по продажам конкурентов.

А вот UDM используется для создания сложных запросов с множеством условий. Допустим, необходимо найти клиентов компании, закупки которых росли хотя бы месяц в диапазоне от 5% до 8% , у которых годовой оборот не превышает 100 тысяч долларов, и при этом наиболее часто покупаемый ими продукт входит в десятку самых продаваемых продуктов компании. Подобный комплексный запрос можно сделать только в многомерной модели UDM.

PowerView

Еще одно нововведение в SQL Server 2012 – это новая подсистема визуализации и репортинга под названием PowerView (ранее называвшаяся Project Crescent), которая представляет собой высокоинтерактивное решение для визуализации и модификации отчетности через веб-интерфейс. PowerView использует мощнейшую графическую web-платформу Silverlight, которая позволяет использовать анимационные и графические эффекты, а также совершенно новые визуальные элементы, позволяющие ярко и образно отображать аналитическую информацию. Значительное внимание уделено внешнему виду графики и интерфейсу, который стал более удобным и эффективным.

Помимо этого, важной особенностью PowerView является возможность полной модификации отчетов (что раньше отсутствовало в отчетности Reporting Services). Работая в связке с BISM, она позволяет пользователям получать доступ к той информации, которая им необходима прямо во время просмотра отчета и без привлечения ИТ-службы.

Функция Data Warehouse

Data Warehouse (DWH) или хранилище данных – это специальная реляционная база данных для поддержки аналитических задач.

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

За бортом оказывается ряд принципиальных требований к аппаратной платформе хранилища: прежде всего, ее масштабируемость, способность поддерживать надлежащую производительность работы при увеличении объемов загружаемых данных. В результате из-за резкого роста или даже простого удвоения объемов данных, которые поступают в хранилище, например, в периоды сезонной активности клиентов, система оказывается не в состоянии выполнить все операции в срок. Так, банки должны успеть выгрузить в хранилище результаты всех транзакций, произведенных за операционный день в течение ночи. Если выгрузка затягивается на следующий операционный день, она вступает в конфликт с работой операционных приложений. Сотрудники банков рискуют не получить вовремя важные данные по работе за предыдущий день, либо столкнуться с серьезными задержками в работе своих систем.

Хранилища данных предназначены для поддержки работы аналитических (OLAP) систем, которые имеют характерные отличия от транзакционных (OLTP) решений, использующих обычные СУБД. Дело в том, что OLAP-системы загружают в хранилища большие объемы данных за определенный период времени, а не короткие записи – результаты отдельных OLTP-транзакций.

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

Основное отличие новой системы Microsoft SQL Server Fast Track Data Warehouse от обычной базы данных, предназначенной для поддержки задач OLTP, состоит в том, что все компоненты этого решения – от процессора до дисков и ПО – сбалансированы и оптимизированы для выполнения OPAP-нагрузки, прежде всего для исключения потенциально уязвимых мест производительности. Очень часто в процессе развертывания хранилища данных специалисты, разрабатывающие архитектуру хранилища, и сотрудники ИТ-департамента, которые занимаются конфигурированием аппаратной платформы для этого хранилища, действуют разрозненно и не понимают специфики и возможностей того компонента общего решения, за которое отвечает другая группа. В Microsoft поставили задачу совместно с производителями серверов и систем хранения выявить основные проблемы, которые возникают при развертывании хранилищ данных на конкретных платформах и, базируясь на этих знаниях, предложить заказчикам оптимальную программно-аппаратную конфигурацию хранилища данных.

Оптимизация ввода/вывода данных на аппаратном и программном уровнях в Fast Track Data Warehouse позволила добиться роста производительности хранилища данных в несколько раз (от трех до семи) по сравнению с ситуациями, когда используется аппаратная конфигурация, не оптимизированная специально для хранилища. Кроме того, благодаря такой оптимизации стоимость хранения и обработки 1 Тбайт данных в Fast Track Data Warehouse сокращается в два и более раз. В конечном итоге оптимальное соотношение цена/производительность, быстрое развертывание, значительное сокращение времени на настройку, тестирование системы и использование стандартных программных и аппаратных компонентов обеспечивают низкую совокупную стоимость владения (TCO) для Fast Track Data Warehouse.

Пример внедрения

Сотрудникам страховой компании Aflac, штат которой составляет около 4,2 тысячи человек, каждый месяц приходилось генерировать около 85 тысяч отчетов, информация для которых бралась из хранилища корпоративных данных. Объем хранилища, созданного на базе СУБД Microsoft SQL Server 2005 и ОС Window Server 2003, достигал 2,5 ТБ.

Запросы на составление отчетов вместо несколько секунд занимали 2-3 минуты, что приводило к огромным потерям рабочего времени в течение операционного дня. При этом в течение года общий объем данных, по оценкам подразделения бизнес-аналитики, мог возрасти вдвое или втрое. Aflac решила внедрить новое хранилище, чтобы эффективно поддерживать возросший поток информации, повысить быстродействие БД и облегчить доступ к дополнительным данным.

Компания рассмотрела несколько вариантов хранилищ, предлагаемых различными поставщиками. Окончательный выбор был сделан в пользу Microsoft SQL Server Fast Track Data Warehouse. После миграции на новое решение Aflac смогла ускорить обработку запросов на 95%.

Индекс ColumnStore

Для ускорения производительности обработки данных в новой СУБД SQL Server 2012 используется столбцовое хранение данных в памяти: так называемый индекс ColumnStore. Разработка индекса ColumnStore объединяет технологию VertiPaq (которая является основанием для PowerPivot) и новую парадигму выполнения запросов, называемую пакетной обработкой, и обеспечивает беспрецедентное увеличение скорости обработки типичных запросов к хранилищу данных.

Фактически индекс ColumnStore — это индекс, создаваемый поверх существующей таблицы, основанной на строчном хранении, который обеспечивает представление данных, распределяющее индекс по определенным столбцам. Конкретный уровень роста производительности зависит от данных и характера запроса, и (по результатам тестирования и при наиболее благоприятном стечении обстоятельств) данная технология позволяет добиться 100-кратного повышения производительности.

В отличие от большинства СУБД, предлагающих исключительно функции хранения данных, SQL Server 2012 предоставляет гораздо более широкий функционал. Разработчики Microsoft немало потрудились над тем, чтобы улучшить уже существующие модули и интегрировать ряд новых инструментов. Новый "Сиквел Сервер" превратился в мощный многофункциональный комплекс, предоставляющий множество различных дополнительных средств, которые сослужат хорошую службу для тех, кто желает "выжать" все из ИТ.

Максим Самойленко