|
Программирование >> Sql: полное руководство
хранилища данных Одной из основных тенденций, определяющих сегодня развитие технологий реляционных баз данных и языка SQL, является стремительных рост популярности хранилищ данных и приложений для делового анализа Вы, наверное, не раз слышали рассуждения о том, что в современном деловом мире данные рассматриваются как один из ценнейших активов предприятия. Накапливая их в хранилище, предприятие получает возможность проведения статистических и исторических исследований, анализа тенденций и перспектив развития, выявления слабых мест своей деятельности и скрытых резервов. В основе организации хранилищ данных лежат реляционные СУБД. В последнее десятилетие популярность приложений, связанных с деловым анализом, резко возросла. Исследования корпоративных информационных систем показывают, что в большинстве крупных компаний используются хранилища данных различного масштаба, а также те или иные программные аналитические комплексы. В определенном смысле хранилища можно назвать реляционными базами данных, вернувшимися к своим истокам. Когда реляционные СУБД только появились, существовавшие на то время СУБД (например, иерархическая СУБД IMS компании IBM) были ориентированы исключительно на обработку транзакций. Реляционные СУБД заняли пустовавшую нишу приложений, предназначенных для поддержки принятия решений. С ростом популярности таких приложений большинство производителей реляционных СУБД вступили также в борьбу за рынок приложений для обработки транзакций, и вскоре этот рынок также был ими завоеван. А когда на сцену вышли хранилища данных, ведущие производители реляционных СУБД снова переориентировали часть своих усилий на то, что раньше называлось поддержкой принятия решений, - только с новой терминологией и гораздо более мощными средствами, чем 15 лет назад. Концепции хранилищ данных В основе технологии хранилищ данных лежит идея о том, что базы данных, ориентированные на оперативную обработку транзакций (Online Transaction Processing - OLTP), и базы данных, предназначенные для делового анализа, используются соверщенно по-разному и служат разным целям. Первые - это средство производства, основа каждодневного функционирования предприятия. На производственном предприятии подобные базы данных поддерживают процессы принятия заказов клиентов, учета сырья, складского учета и оплаты продукции, т.е. выполняют главным образом учетные функции. С такими базами данных, как правило, работают клиентские приложения, используемые клерками, производственным персоналом, работниками складов т.п. В противоположность этому базы данных второго типа используются для принятия решений на основе сбора и анализа информации Их главные пользователи - это менеджеры, служащие планового отдела и отдела маркетинга. Ключевые отличия аналитических и OLTP-приложений, с точки зрения их взаимодействия с базами данных, перечислены в табл. 21.1. Чтобы лучше понять ее смысл, давайте рассмотрим процесс работы типичных приложений каждого типа. В качестве OLTP-примера мы возьмем приложение для обработки заказов клиентов. Его обращения к базе данных сводятся обычно к следующему: выборка строки из таблицы клиентов для проверки правильности идентификатора клиента; проверка лимита кредита клиента; выборка строки из таблицы товаров для проверки наличия заказанного товара; ш вставка новой строки в таблицу заказов с данными о новом заказе; обновление строки в таблице товаров для уменьшения количества имеюшегося в наличии товара. Рабочая нагрузка на базу данных в таком приложении - это небольшие по объему транзакции, состоящие из простых запросов на выборку, вставку и обновление отдельных строк. Вот примеры таких операций-м получение цены товара; ш проверка количества имеющегося в наличии товара; м удаление заказа; ш изменение адреса клиента; ш увеличение лимита кредита клиента. В противоположность этому типичная транзакция делового анализа (для примера мы возьмем формирование отчета о заказах) может потребовать выполнения таких операций: объединение информации из таблиц заказов, товаров и клиентов; ш вычисление общей стоимости заказов каждого из товаров каждым клиентом; ш вычисление общего количества единиц каждого заказанного товара; ш сортировка результирующей информации по клиентам. Рабочая нагрузка на базу данных при получении этой информации представляет собой один долго выполняющийся запрос, требующий выборки большого количества данных. В нашем примере нужно извлечь информацию обо всех заказах, вычислить итоговые и средние значения и сформировать сводную таблицу. Таково большинство запросов из области делового анализа, например: в каких регионах в этом квартале продажа шла наиболее успешно? насколько изменились объемы продаж каждого товара в последнем квартале по сравнению с аналогичным кварталом предыдущего года? каковы тенденции изменения объемов продаж каждого товара? какие клиенты покупают самые ходовые товары? что общего у всех этих клиентов? Как видите, рабочая нагрузка баз данных, используемых в аналитических и OLTP-приложениях, настолько различна, что очень трудно или даже невозможно подобрать одну СУБД, которая наилучшим образом удовлетворяла бы требованиям приложений обоих типов. Таблица 21 1 Сравнительные характеристики траизакционных и аналитических баз дани Характеристика базы данных Содержимое Структура данных База данных OLTP Текущие данные Структура таблиц соответствует структуре транзакций База данных хранилища Данные, накопленные за долгий период времени Структура таблиц понятна и удобна для написания запросов
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |