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