Май 2005


Книги


Oracle9iR2: Разработка и Эксплуатация хранилищ данных

 

Лилиан Хоббс,
Сьюзан Хилсон,
Шилпа Лоуред,

Oracle9iR2.
Разработка и Эксплуатация хранилищ данных

П Р А К Т И Ч Е С К О Е П О С О Б И Е

М:. Издательство "ИД КУДИЦ-ОБРАЗ" (http://books.kudits.ru), 588 стр., 70x90/16, 2004, тир.2000, ISBN 5-9579-0036-2, переводчик С.М.Лунин, научный редактор Д.А.Бондарев. Учебно-справочное издание
Аннотация от издательства "ИД КУДИЦ-ОБРАЗ":
http://www.okc.ru:8080/okc/publish/imag.nsf/book/5-9579-0036-2?OpenDocument&env=34%206

Оригинал: Oracle9iR2. Data Warehousing, by Lillian Hobbs, Susan Hillson and Shilpa Lawande. Elsevier Ltd, The Boulevard, Langford Lane, Kidlington, OX5 IGb, England OR. ISBN 1-55558-287-7

Есть по меньшей мере три повода для того, чтобы порадоваться появлению рецензируемой книги:

  • во-первых, еще одно издательство «КУДИЦ-ОБРАЗ» заинтересовалось продвижением переводов Оracle-литературы на отечественном рынке и стартовало выходом очень интересной и полезной книги. Будем рассчитывать, что «КУДИЦ-ОБРАЗ» не остановится на этом первом опыте;
  • во-вторых, книга «Oracle9iR2: Разработка и Эксплуатация хранилищ данных» восполняет существенный пробел в нашем диапазоне русскоязычных книг по технологиям Оracle. Сейчас на рынке довольно широко представлены книги по администрированию баз данных Оracle, по применению инструментальных средств программирования (PL/SQL, XML, Java,…), а хранилища данных в лучшем случае рассматривались только наряду с другими продуктами Оracle. И вот они удостоились самостоятельного и очень обстоятельного издания, что не может не радовать;
  • в-третьих, авторы книги, члены команды разработчиков Oracle Server Technologies, создали именно практическое руководство, в котором на хорошо проиллюстрированных примерах последовательно представлены все основные этапы жизненного цикла хранилища данных от его создания до аналитической обработки данных и инструментальных средств OLAP (On-Line Analitical Processing) ;
  • и (от себя, в качестве рецензентов, отметим качество, на которое мы всегда обращаем внимание) книга переведена хорошим литературным языком и хорошо отредактирована.

Обратимся к названиям глав книги, а потом дадим свои комментарии к их содержанию:

  1. Системы хранения информации
  2. Создание хранилища
  3. Управление сводными данными
  4. Загрузка данных в хранилище
  5. Инструменты для работы с хранилищами Oracle
  6. Управление хранилищем
  7. Хранилища информации и Web
  8. Oracle 9i OLAP и интеллектуальная обработка информации

Первая глава – очень краткое введение в проблематику и терминологию предметной области. На ней можно было бы не останавливаться, но стоит привести названия некоторых подглавок, которые звучат как опорные тезисы идеологии хранилищ данных:

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

Последнее – вполне очевидно, иначе не стоило бы так внимательно рассматривать эту предметную область. И здесь же тезис об «Исчезновении отдельных хранилищ данных», но не в плане завершения жизненного цикла, а в плане объединения отдельных баз данных OLTP, DSS, хранилищ и лавок (неудачно – для data mart принято употреблять термин «витрина») данных вследствие внедрения в Oracle9i опции OLAP, аналитических SQL-функций, механизмов ETL (extraction/transformation/load – извлечение/преобразование/загрузка), Data Mining (бизнес-анализ данных) и т.д. От себя добавим, что все эти возможности бурно эволюционно развиваются в Oracle10g, так что весь материал книги вполне соответствует современному состоянию и может пригодиться долго-долго.

Вторая глава открывается подглавкой «Не используйте моделирование связи сущностей» - парадоксально?! – но для хранилищ данных более подходит не ER (entity-relationship), а пространственная (demensional) модель. Поэтому эта глава посвящена вопросам проектирования хранилища базы и данных, а также схемы для условного торгового предприятия EASYDW. Этот пример, используемый далее по всей книге, иллюстрируется многочисленными снимками экранов и понятными SQL-скриптами.

В третьей главе на понятийном уровне (но с подкреплением реальными SQL-скриптами) раскрываются вопросы оптимизации, индексирования, секционирования, создания и использования материализованных представлений, параллелизма,…, включая такие подглавки, как «Иерархические индексы» и «Индексы на основе битовых карт» (удачный термин для bitmap index – вместо применяемого «двоичный индекс»), "Соединительный индекс на основе битовых карт» (bitmap join index), «Секционирование: линейное, хэш-, списочное и комбинированное», "Секционирование индексов», «Глобальные индексы» и «Локальные индексы с префиксом и без префикса», «Сжатие данных», «EXPLAN PLAN», "Оптимизация соединений», включая «Сортировку-слияние» (Sort-Merge join) и «Хэш-соединение» (hash join), «Оптимизацию соединения с учетом разделов» (partition-wise join) и «Преобразование по типу звезды» (Star Transformation), а также многие новые в Oracle9i функции в языке SQL:

  • агрегирования - CUBE, ROLLUP,GROUPING SETS, GROUPING и GROUPING_ID;
  • аналитических вычислений - ранжируемые функции, условие PARTITION BY, группирующие функции, различные суммирующие функции, отчетные агрегаты;
  • функции упреждения (Lead) и запаздывания (Lag), FIRST и LAST;
  • функции для статистического анализа, обратный процентиль;
  • анализ возможных вариантов и пользовательские агрегаты;
  • выражение CАSE и условие WITH.

«Постойте, постойте!» - скажет продвинутый разработчик приложений или АБД Oracle. «Столько серьезного и содержательного материала изложено всего на 85 страницах!? Не халтура ли это?» - Нет! В том-то и ценность этих страниц, что в главе вводятся, перечисляются, определяются эти инструментальные средства, но НЕ рассматриваются вопросы их эффективного применения и/или их практического администрирования в базе данных Oracle9i. Сводка, обзор инструментальных средств и возможностей – очень ценный практический вклад этой главы.

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

Пятая глава «Загрузка данных в хранилище» описывает важнейшие практические действия при функционировании хранилища. Это регулярная операция, связанная с исполнением ETL-процессов поступления данных из различных источников, их очисткой и трансформацией к единому формату, а также с объединением ранее имевшихся в хранилище данных, с переформированием материализованных представлений. Наше хранилище уже наполнено и работает.

Практические приемы применения инструментальных средств конечных пользователей для доступа и получения информации из хранилища данных приводятся в шестой (Oracle Warehouse Builder и Oracle Discoverer), восьмой (Oracle9i Reports) и девятой (Oracle OLAP и Oracle Data Mining) главах этой книги. Вас проведут по экранам, покажут, как сформировать и настроить таблицы, измерения, отчеты, собственные вычисления и т.д. Пользователи учатся применению именно для них предназначенных инструментальных средств, не вдаваясь в особенности организации и эксплуатации базы данных, то есть, пользователи занимаются только своим делом – находят и анализируют информацию, принимают решения.

Наконец, седьмая глава «Управление хранилищем» рассматривает специфические вопросы администрирования именно на уровне приложения-хранилища, а не всей базы данных, которую ведет АБД. И хотя некоторые вопросы, например, резервное копирование и восстановление, изменение индексов, управление дисковым пространством,…, имеют совместные с деятельностью АБД позиции, довольно убедительно показано, что управление хранилищем – это достаточно самостоятельное занятие.

Итак, нас легко и непринужденно познакомили с организацией, проектированием, загрузкой, использованием и сопровождением хранилища данных в системе Oracle9iR2. И это несмотря на довольно грозное предостережение из аннотации к книги: «Проектирование хранилищ данных – один из сложных разделов программной инженерии», с которым в общем-то согласны многие Oracle-специалисты, в том числе и авторы этой рецензии. Дело, скорее всего, в другом – надо научиться просто решать технологические задачи (и этому хорошо учит эта книга), чтобы освободить свои основные силы для содержательного осмысления информации и принятия решений, для надежного и эффективного сопровождения базы/хранилища данных в процессе промышленной эксплуатации. Но это уже темы других книг по продуктам и технологиям Oracle.

В выходных данных книги особо подчеркивается, что вступительное слово к ней написал Чак Розуот (Chuck Rozwat), исполнительный вице-президент Server Technologies, Oracle Corporation. «Возможность фиксировать информацию точно, практично и вовремя, интегрировать ее с другими данными, анализировать ее и доставлять через Интернет своим служащим, заказчикам, поставщикам и партнерам – вот ключ к успешному ведению бизнеса.» И если когда-то считалось, «что систему хранения информации «было бы неплохо иметь, то организации двадцать первого века уже не могут эффективно работать без них». Ни большие, ни средние, ни в перспективе и малые. В вопросах же практического освоения этих технологий существенную помощь окажет представленная книга.

Виктор Абрамов,
научный редактор "Oracle Magazine/Русское Издание"
Анатолий Бачин,
главный редактор “Oracle Magazine/Русское Издание”

E-mail this page