Сегодня наиболее очевидными недостатками реляционных баз данных являются:
- при ответе на специфические аналитические вопросы существенно замедляется работа системы, и требуются значительные ресурсы;
- чтобы избежать линейного просмотра таблиц, приходится увеличивать количество индексов, в результате чего увеличиваются затраты на работу с базой данных.
Чтобы избежать этих недостатков, специалисты стали использовать методику конструирования базы, при которой данные, предназначенные для аналитической обработки, хранятся в отдельных базах. Так возникло понятие хранилища данных (Data warehouses), а соответствующий метод конструирования стал называться многомерной моделью. Процесс работы с хранилищами данных – это сбор, отсеивание и обработка данных для предоставления результирующей информации пользователям при анализе и создании ими аналитических отчетов.
Один из авторов концепции хранилищ данных Ральф Кимбалл описывал хранилище данных как место, где люди могут получить доступ к своим данным. Им же сформулированы и основные требования к хранилищам данных:
- поддержка высокой скорости получения данных из хранилища;
- поддержка внутренней непротиворечивости данных;
- возможность получения и сравнения срезов данных;
- наличие удобных утилит просмотра данных в хранилище;
- полнота и достоверность хранимых данных;
- поддержка качественного процесса пополнения данных.
Удовлетворять всем перечисленным требованиям в рамках одного программного продукта обычно не удается. Поэтому для реализации хранилищ данных используют несколько программных средств, одни из которых представляют собой собственно средства хранения данных, другие – средства их извлечения и просмотра, третьи – средства их пополнения и т.д.
|
Важное отличие хранилищ от реляционных баз состоит в том, что загрузка данных в хранилище выполняется относительно редко, но очень большими порциями: до нескольких миллионов записей за один раз. Системы, работающие с транзакциями, не могут справиться с таким объемом информации. Поэтому СУБД, используемые для построения хранилищ данных, должны предусмотреть отключение таких механизмов, как: регистрация, откат и фиксация транзакций. Кроме того, характерным для информационных хранилищ приемом является хранение агрегированных данных, что позволяет избежать выполнения группировки данных во время обработки запросов, требующих больших затрат времени.
Главным критерием производительности реляционных СУБД считается количество транзакций, обрабатываемых в единицу времени. А потому все усилия в области программного и аппаратного обеспечения направляются на то, чтобы быстрее, надежнее и дешевле ввести в компьютер максимум информации. В хранилищах данных и при оперативном анализе данных в центре внимания оказываются качество и скорость загрузки большого объема данных в базу, обработка запросов и методы индексирования.
Информационные системы предприятия обычно содержат приложения, предназначенные для комплексного многомерного анализа данных, их динамики, тенденций и т.п. Такой анализ призван содействовать принятию решений, поэтому эти системы называются системами поддержки принятия решений. Принять любое управленческое решение не возможно, не обладая соответствующей информацией. Хранение такой информации осуществляется в хранилищах данных.
|
Хранилище данных отличается от обычной реляционной базы данных по ряду характеристик.
Во-первых, реляционные базы данных предназначены для того, чтобы помочь пользователям выполнять повседневную работу, тогда как хранилища данных предназначены для принятия решений. Например, продажа товара и выписка счета производятся с использованием базы данных, предназначенной для обработки транзакций, а анализ динамики продаж за несколько лет, позволяющий спланировать работу с поставщиками, – с помощью хранилища данных.
Во-вторых, реляционные базы данных подвержены постоянным изменениям в процессе работы пользователей, а хранилища данных относительно стабильны: данные в них обычно обновляются согласно расписанию: либо ежедневно либо ежемесячно, либо ежегодно – в зависимости от назначения хранилища. Процесс пополнения обычно представляет собой добавление новых данных за определенный период времени без изменения прежней информации, находящейся в хранилище.
В-третьих, базы данных чаще всего являются источником данных, попадающих в хранилище. Но хранилище может пополняться и за счет внешних источников, например, статистических отчетов.