Процесс создания хранилища данных требует углубленной аналитической работы, прогнозирования и выбора оптимальных методологий проектирования. ХД решает важные бизнес-задачи по сбору и консолидации информации, полученной из многих несогласованных между собой и разрозненных источников. Данные аккумулируются в объединенной базе, структурируются и складываются в согласованные и предметно ориентированные комплексы, зависимые от времени.
Основная задача разработчика заключается в проектировании продукта, максимально доступного для анализа конечными пользователями. Проблемы хранилищ данных, с которыми сталкиваются IT-специалисты и аналитики, проявляются еще на этапе построения ХД. Не заложенные изначально функции, нечетко определенные требования, неучтенные детали специфики хранилища, непродуманные инструменты управления, безопасности и адаптации, многие другие упущенные факторы становятся причиной серьезных затрат времени, средств и рабочих ресурсов в будущем. Хранилище становится временным решением и требует глобальных переделок под вновь возникшие нужды.
При проектировании продукта под конкретные потребности целесообразно изначально ориентироваться на возможные изменения и функциональные расширения. С развитием деятельности пользователю предстоит работать с быстро растущим информационным объемом. Помимо простого перемещения данных из одних баз в другие, потребуется актуализация учетных данных в конкретные моменты времени, обращение к показателям прошлых периодов, сравнение с текущими данными. Это актуально, например, при проверке остатков на банковских счетах на определенный день и час.
Информацию унифицируют, консолидируют и приводят к виду, доступному для корпоративного анализа. Бизнес-пользователи нуждаются в качественном сервисе, чтобы выстраивать точные и достоверные отчеты по различным параметрам, избегать информационных расхождений. Поэтому разработчики уделяют усиленное внимание отлаженным процессам загрузки данных, очистки данных, трансформации и преобразования, функциям обновления информации.
На этапе проектирования создается физическая модель данных, архитектура приложений, разрабатываются логические схемы анализа пользовательских запросов, взаимодействия между внешними информационными источниками и хранилищем данных. От того, насколько точно и детально проработаны эти функции, зависит успешность предпринимательской деятельности, эффективность маркетинговых исследований, рациональность ценовых, управленческих и бюджетных решений.
Проблемы хранилищ данных негативно отражаются на производительности бизнеса, точности и достоверности анализа данных, размерах прибыли и конкурентоспособности компании. Поэтому разработчикам необходимо тщательно проработать вопросы определения требований к ХД, масштабирования, производительности системы, обеспечения информационной безопасности, управления качеством данных, адаптации и гибкости.
Определение требований к хранилищу данных
Каталог требований к хранилищу данных составляется перед началом проектирования. От того, насколько ясно и точно будут сформулированы требования, зависит эффективность использования программного продукта. Особенно важна детализация, которая напрямую влияет на производительность и скорость обработки пользовательских запросов, объем будущего хранилища, скорость увеличения объема. Уровень детализации важен для идентификации разрезов, в которых будут осуществляться аналитические исследования.
Требования к ХД определяются в нескольких аспектах: архитектура, технологии, задачи конечных пользователей и владельца хранилища. При составлении каталога учитывается специфика рынка, сферы деятельности компании и особенности ее работы. Для владельца актуальна предметно-ориентированная направленность продукта, соответствие целям предпринимательства и требованиям клиентов.
В развивающейся бизнес-компании в числе требований присутствует влияние базы данных на финансовые вложения, прогнозирование рыночных тенденций, анализ покупательского спроса и конкурентоспособности, принятие решений по сбыту, закупкам, продвижению продукции. Предметные области аналитики могут касаться продаж, временных периодов, заказов, детализированных групп клиентов и категорий продукции, структуры компании, месторасположения и географии.
Неточно или неполно сформулированные требования повлекут за собой в дальнейшем отсутствие функциональности продукта в актуальной области исследований. Недостаток нужных данных и параметров нарушит процесс полноценной отчетности и создаст серьезную задержку по времени.
Требования архитектуры хранилища данных охватывают аспекты планирования по коммерческим отделениям фирмы в соответствии с принятой моделью, структуру приложений и их функции, частоту использования информации, процессы создания, прочтения, обновления и удаления данных. Для пользователей определяются спецификации форм, коммуникаций, интерфейсов и аппаратных устройств, для IT-специалистов — размещение, условия обслуживания и технической поддержки, взаимодействие с другими программными сервисами и базами данных.
При недостаточной проработке определений требований возникнут проблемы хранилищ данных:
- несоответствие функционала ежедневному алгоритму пользовательских операций;
- нарушение делопроизводства;
- отсутствие требуемого уровня глубины анализа;
- недостаток критериев пользовательских запросов.
Разработчики подбирают комплект различных моделей применения хранилища, методики просмотра данных, загрузки, модификации. Среди актуальных средств качественной бизнес-аналитики используются Data Mining, деление элементов по разным аспектам исследований, экспозиция и развертывание в иерархической структуре, просмотры непредусмотренным образом и другие решения.
Требования к просмотру данных определяются с учетом информационного объема и пользовательских задач (стандартная визуализация с двумерными таблицами, многомерные кубы, диаграммы и отчеты, жизненные циклы элементов).
Неправильно сформулированные требования создадут не только проблемы использования и техподдержки продукта, но также повлияют и на последующие этапы проектирования.
Трудности с масштабированием и производительностью
Возможные проблемы с производительностью хранилища данных при масштабировании связаны с различными методами доступа. Когда необходимо выбрать небольшое количество записей в малом поле таблицы, эффективны методы индексов на базе хеширования или древовидных структур В+. Но если ответы на поисковой запрос занимают значительную область таблицы или значения столбцов постоянно изменяются, эти способы бесполезны. Для сложных запросов и изменяющихся значений приходится перестраивать методы доступа.
В реляционных базах данных не работает доступ при выполнении операций перемещения файлов и агрегации. Это создает проблемы преобразования данных в процессе автоматического извлечения из источников данных. Информационный формат трансформируется, данные представляются в заданном поле, в том числе разделенном на части или в слитых воедино нескольких полях. Из таблиц с детализированными данными создаются новые таблицы, данные определенного поля преобразуются в цифровые коды, а непрерывные цифровые значения — в категорические параметры.
Агрегационные операции актуальны для сегментации персональных данных клиентов, анализа веб-журналов и других функций. Для их выполнения применяется нормализация, параллельная обработка данных, хранение полей таблиц в виде отдельных файлов, хеширование, сжатие и другие методы. Специальные сервисы обеспечивают повышение производительности за счет разработанного механизма трансформации.
Одно из эффективных решений проблем — использование горизонтального и вертикального масштабирования.
Вертикальное масштабирование осуществляется двумя способами: с подключением дополнительных дисковых модулей к хранилищу данных или без подключения. В первом случае образуется последовательная цепочка контроллерного и дисковых модулей, между собой объединяется несколько хранилищ в общий кластер методом связи по Ethernet или протоколу FC. Подключаемые серверы получают доступ ко всему информационному пространству базы, а дисковая емкость равномерно распределяется и утилизируется. В определенные моменты времени виртуальные тома доступны на контроллерных модулях одного информационного массива.
При горизонтальном масштабировании пользовательские сессии распределяются равномерно по серверам, в том числе с возможностью подключения и загрузки дополнительных серверов приложений. Распределение информационного объема по разным серверам повышает производительность без сбоев и отказов всей системы.
Нагрузка масштабируется по протоколам распределенного кэша, а сервисы специальных приложений обеспечивают доступ к локальному кэшу информации, использованной недавно. При недостаточности данных осуществляется обращение к базе, а протокол ЕСР позволяет автоматически управлять кэшем, сохранять часто используемую информацию, реплицировать постоянно обновляемые данные. При этом на всех клиентских ЕСР данные сохраняют целостность и корректность.
Технология обеспечивает быстрое масштабирование нагрузки по серверам и подключение многочисленных пользователей к единому серверу. Для быстрого и корректного выполнения транзакций происходит автоматическая кратковременная блокировка данных, что позволяет сократить время за счет отсутствия внутренних вычислений. Горизонтальное масштабирование позволяет в системах с высокой загруженностью выполнять четкое разделение данных между серверами по установленным алгоритмам и хранить их на разных серверах.
Перед проектированием хранилища данных нужно тщательно и продуманно планировать технику масштабирования. Ошибки планирования могут создать серьезные проблемы на последующих этапах разработки и свести к нулю уже проделанную работу. Если выбранная методика не сработает при реализации возникших новых задач, разработчикам придется выстраивать дополнительные сервисные части или начинать проектирования с нуля.
Обеспечение безопасности данных
В процессе проектирования ХД для обеспечения безопасности недостаточно простого закрытия уязвимостей. Разработчикам необходимо серьезно и ответственно подходить к безопасности данных в хранилище, учитывать все потенциально возможные угрозы. Чтобы избежать дальнейших проблем с управлением, целесообразно разработать комплексную методику защиты от распространенных уязвимостей.
Специалисты должны классифицировать, упорядочить и оценить угрозы, выявить зависимости между уязвимостью и причиной ее возникновения, прогнозировать связанные с конкретными механизмами работы угрозы и готовить заранее средства эффективной защиты.
Любое несанкционированное вторжение может нанести серьезный ущерб компании. Взлом хранилища чреват хищением ценных данных, разрушением или искажением информации. Ошибки персонала также могут нанести вред, привести к техническому сбою и нарушению рабочего процесса. В качестве защитных методов применяют обязательное или избирательное управление данными, разделение полномочий контрагентов, распределение объектов ХД по уровням секретности, фильтры доступа. Эффективными инструментами защиты данных в Data Warehouse являются авторизация, аутентификация и шифрование.
Аутентификация позволяет исключить попытку разрешения доступа лицам, не обладающим такими правами. Для этого используются разнообразные приемы: многопроцессорные карточки с защитными полосами, электронные ключи, запросы паролей, контрольные вопросы входящим с сугубо личными сведениями для авторизации, радиопередатчики, биометрики и другие средства.
Если данные являются конфиденциальными, целесообразно использовать шифрование. Этот метод предотвращает атаки и доступ злоумышленников к информации. Даже при похищении жесткого диска преступнику будет сложно взломать шифры и воспользоваться хранимой на носителе информацией. При помощи шифрования пользователь обеспечивает расширенную защиту данных, надежность управления данными и соблюдение нормативов РСI, HIPAA и других стандартов.
Хранение зашифрованного кода в системном файле препятствует доступу к информации сторонних лиц, которые не смогут расшифровать код и нанести вред своими действиями. Но полноценной защиты метод шифрования не обеспечивает, поскольку при наличии опыта и соответствующей квалификации злоумышленники способны расшифровать информацию. При выборе этого метода необходимо обеспечить дополнительную защиту дешифровки паролем. Для скрытия алгоритма выполняемых операций стартовые версии программ также подлежат шифрованию.
Недостаточная гибкость и адаптация хранилища данных
При отсутствии гибкости в хранилище данных возникают следующие проблемы:
- снижение возможностей управления, потеря контроля над системой;
- увеличение потребляемых ресурсов для поддержки процессов и решения проблем;
- появление пользовательской зависимости от квалифицированных специалистов, необходимость привлечения к решению проблем;
- неустойчивость хранилища к изменению форматов данных, правил интеграции, трактовок, логики обработки, замене информационных источников, увеличению объемов и нагрузки.
При проектировании DWH важно учитывать необходимость контроля архитектуры данных, наличия единой семантической модели и системы управления. Для повышения гибкости и адаптации целесообразно создавать модульную и расширяемую архитектуру хранилища. В случае возникновения проблем необходимые коррективы ограничиваются отдельным модулем системы, а не всей базой данных. При необходимости к расширяемому хранилищу можно достроить необходимые дополнительные модули и компоненты без риска сбоя работы во всей системе.
Чтобы создать гибкое хранилище, которое легко адаптируется к изменениям, необходимо использовать оптимальные подходы и технологии. Среди эффективных инструментов разработки адаптивных хранилищ — использование модульной и сервисно-ориентированной архитектуры (SOA), гиперконвергентной архитектуры (HCI), организация сервисно-ориентированной инфраструктуры (SOI), виртуализация и консолидация, механизмы управления изменениями. Тестирование продукта начинается не после проектирования, а после определения требований и структуры. Процесс тестирования рационально проводить при участии владельцев бизнеса и с опорой на документацию, сопровождающую ожидаемые изменения и сопоставляющую данные.
Недостаточное управление качеством данных
Низкое качество данных в ХД вызывает серьезные проблемы:
- недостоверность детализации отчетов;
- несовместимость целевой информации с источниками;
- многочисленные случаи дубляжа данных;
- некорректное агрегирование.
Для успешной работы продукта необходимо подобрать оптимальный набор проверочных тестов, чтобы выявить на ранней стадии проблемы с качеством данных. Причиной информационного загрязнения могут стать ошибки операторов при вводе информации, применение нетиповых или изначально не заложенных единиц измерения, форматов представлений. Другие причины связаны с неудачным или несвоевременным обновлением, некорректным удалением дублирующих данных, несоответствием действующим стандартам.
Бизнес-анализ некачественных данных не может дать надежных и безупречных результатов, поэтому для разработчиков и пользователей крайне важно внедрение эффективных средств очистки данных, проверки и улучшение качества. Программные сервисы типа First Logic или Trillium Software служат для выявления и автоматической коррекции важных данных. Загрязненная информация классифицируется по многим типам, и не все виды можно выявить и автоматически очистить. Поэтому качеству данных требуется уделять усиленное внимание, выбирать оптимальные методы предотвращения грязных данных, проводить регулярные тестирования и проверки.
Автоматизированные сервисы и методологии управления качеством позволяют сокращать затраты времени и ресурсов на поддержку работы системы и повышение качества.
Заключение
Мы проанализировали основные проблемы проектирования хранилищ данных: масштабирование и производительность, недостаточное управление качеством данных, гибкость и адаптация, обеспечение безопасности, определение требований. Помимо этих трудностей, в процессе создания ХД возникают и другие: недостаток финансирования и специалистов, ненадежные источники исходных данных (например, поток с пропусками информации или «сырая» БД в стадии разработки, в которой не согласованы интеграционные интерфейсы), физически устаревшее оборудование и т. д..
Все эти проблемы решаемы при правильно выбранном подходе к проектированию. Чтобы успешно работать с данными, крайне важен глубокий анализ предстоящей задачи создания хранилища, выбор инструментов и технологий. Разработчикам доступны широкие возможности созданных в последние годы программных новинок, которые выводят на высокий уровень перемещение и хранение данных.
В области масштабирования ожидается развитие систем с горизонтальным масштабированием и свободным перемещением данных. Производители ПО выбирают сейчас преимущественно этот способ, оставляя в прошлом добавление новых дисков к информационным массивам.
HCI-решения предоставляют возможности создания программно-определяемых хранилищ и дата-центров, компонентно-дезагрегированных инфраструктур. Предиктивная аналитика ощутимо выходит на лидирующие позиции в разработках, появляются эффективные методики поиска полезных для бизнеса закономерностей. Для улучшения качества данных разрабатываются новые инструментальные средства. Например, DAQUM отслеживает различные типы грязных данных, определяет количественные меры качества.
Активный переход компаний к полноценным СХД связан с развитием рынка ПО и появлением инновационных сервисов, позволяющих решить проблемы хранилищ данных.