Введение в системы БД (542480), страница 221
Текст из файла (страница 221)
К сожалению, предылущая характеристика многомерных баз данных слишком упрощена, поскольку большинство совокупностей данных изначально понимаемы не в полной мере. По этой причине мы обычно стремимся, в первую очередь, проанализировать данные, что позволяет лучше их понимать. Часто недостаточное понимание может быть настолько серьезным, что заранее невозможно определить, какие переменные независимые, а какие зависимые. Независимые переменные часто выбираются по текущему представлению о них (т.е, по предположению), а результирующий массив затем тестируется для проверки его соответствия требованиям заказчика (см, раздел 21.7). Подобный подход приводит к тому, что выполняется множество итераций процесса проб и ошибок.
Поэтому система обычно допускает замену размерных и неразмерных переменных, и эту операцию называют заменой ведущих элементов (р!чог(пй). Другие поддерживаемые операции включают транспозицию массива и размерное переупорядочение. Имеются также возможности добавления размерностей. Между прочим, из предыдущего описания должно быть ясно, что ячейки массива часто будут пустыми, поэтому массивы обычно являются разрежении.чи. Предположим, например, что товар р не продавался заказчику с в течение всего времени с.
Тогда ячейка (с,р, с) будет пустой (или в лучшем случае содержать значение нуль). Многомерные СУБД поддерживают различные методы хранения разреженных массивов в более эффективном сжатом представлении!з. К этому следует добавить, что пустые ячейки соответствуют "отсутствующей информации", и, следовательно, системам необходимо предоставлять некоторую вычислительную поддержку для пустых ячеек.
Такая поддержка действительно обычно имеется, и стиль ее, к сожалению, похож на стиль, принятый в языке Я)(.. Обратите внимание на тот факт, что если данная ячейка пуста, то информация или неизвестна, или не была введена, или непригодна, или уйму других причин (см. главу ! 8). Независимые переменные часто связаны в иерархии, определяющие пути, по которым зависимые данные могут объединяться. Например, существует временная иерархия, связывающая секунды с минутами, минуты с часами, часы с днями, дни с неделями, недели с месяцами, месяцы с годами. Или другой пример: возможна иерархия, связывающая детали с комплектом деталей, комплект деталей с узлом, узел с панелью, панель с изделием.
Часто одни и те же данные могут быть объединены многими разными способами, т.е. одна и та же независимая переменная может принадлежать многим различным иерархиям. Система предоставляет операторы лля "прохождения вверх" (дп!! цр) и "прохождения вниз" (дпй дотув) по такой иерархии. Прохождение вверх означает переход от нижнего уровня объединения к верхнему, а прохождение вниз — в противоположном направлении. Для обработки иерархий имеются и другие операции, например операция для переупорядочения уровней иерархии.
!З Обратите вниггание на опыичие от реляционных систем. В настоящем реляционном аналоге этого причеро в строке (Сгрг1) не было бы пустой "ячейки"; просто строка (Сгрг1) отсутстоооала бы. Поэтому в реляционной модели нет необходиггости в понятии "разреженных массивов", или скорее "разреженных таблиц", а значит, не нужны и искусные методы сжатия оля представления таких таблиц. 843 Глава 21. Поддержка принятия решений Замечание. Между операциями "пройти вверх" и "накопить" есть одно различие: операция "накопить" — операция создания необходимых группирований и объединений, а операция "пройти вверх" — операция доступа к таким объединениям. Примером операции "пройти вниз" мог бы быть такой запрос Дано итоговое количество поставок; получить итоговые кашчества для каждого отдельного посгпавьцика, Конечно, для ответа на такой запрос должны быть доступны (или вычисляемы) данные более детальных уровней.
В продуктах многомерных баз данных также предоставляется ряд статистических и других математических функций, которые помогают формулировать н проверять гипотезы (т.е. предполагаемые связи). Также предоставляются инструменты визуализации и генерации отчетов, помогающие решать подобные задачи. Однако, к сожалению, для многомерных баз данных пока еше нет никакого стандартного языка запросов, хотя ведутся исследования с целью разработки исчисления, на котором такой стандарт мог бы базироваться 12!.27).
Но ничего подобного теории нормализации, которая могла бы служить научной базой для проектирования многомерных баз данных, пока, к сожачению, нет. Завершая этот раздел, отметим, что в некоторых продуктах сочетаются оба подхода — КОБАР и МОБАР. Такую "гибридную систему ОЕАР" называют НО)АР. Ведется много споров, чтобы установить, какой из этих трех подходов лучше, поэтому стоит и нам попытаться сказать по данному вопросу пару слов.
В общем случае системы МОБАР обеспечиваю~ более быстрые расчеты, но поддерживают меньшие объемы данных по сравнению с системами КО1.АР, т.е. становятся менее эффективными по мере возрастания объемов данных. Системы КО).АР обеспечивают большие возможности масштабируемости, параллельности и управления в сравнении с аналогичными возможностями систем М01.АР. 21.7. Разработка данных Разработку данных можно охарактеризовать как "исследовательский анализ данных". Цель такой разработки — отыскать интересные взаимосвязи среди данных, которые впоследствии могут использоваться лля выработки стратегии деловой активности или для выявления необычного поведения, например внезапно возросшей активности кредитной карточки, что может означать ее кражу. В инструментах разработки данных используются статистические методы, применяемые для больших объемов данных, что и позволяет найти интересуюшие пользователя закономерности. Замечание.
Слово большие здесь нужно вылепить особо. Базы для разработки данных часто чрезвычайно большие, поэтому очень важно, чтобы применяемые алгоритмы обеспечивали масштабируемость. Рассмотрим не очень большую таблицу продаж Ялййб„показанную на рис. 21.5, в которой содержатся данные относительно определенных деловых сделок по продажам!в.
На основе этих данных требуется выполнить анализ набора потребительских товаров, )В Опьиеписи, чню ключ в этой таб7ице — (7Х4, РЯ00!)С7), данные в таблице удовяен|воряют функциональным зависимостям 7Х4 — )СУБ74 и 7Х4 — э77ИЕЯ7АМР, а значит, она не приведена и норлтльнои форме Бойса-Кодда (БКНФ); версия таблицы, в которой столбец РЯО()()С7 содержал бы эначения-отноигения (а столбец 7Х4 был бы ключои), могла бы быпш в БКНФ и лучше бы подходила для выполнения данных исследований (хотя, возможно, меньше подходила бы для других видов исследования). 844 Часть 4г Дополнительные аспекты где под набором потребительских товаров понимается набор продуктов, закупленных во время одной Сделки.
Благодаря аназизу можно определить, например, что потребитель, который накупав~ обувь, вероятно, покупает и носки как часть одной и той же сделки. Эта зависимость между обувью и носками — пример правила связи. Оно может быть выражено приблизительно так. РОВАТЬ Сх ( Обувь и Сх -э Носки и Сх ) Здесь Обувь е Сх — антецедент, нлиуславие, правила, Носки е сх — результат, или следствие, правила и сх изменяется по всем сделкам по продаже. Рис 2Т5. Таблица продаж НяйЕЯ Введем некоторые дополнительные термины. Множество всех сделок по продаже в данном примере называют совокупностью.
Любое данное правило связи имев~ уровень поддержки и уровень достоверности, или доверительный уровень. Поддержка — зто доля совокупности, в которой правило удовлетворяется. Достоверность — зто отношение объема совокупности, в которой удовлетворяется правило, к объему совокупности, в которой удовлетворяется условие. (Отметим, что условие и следствие необязательно должны относиться к одному продукту; они могут относиться к любому количеству различных продуктов.) Рассмотрим, например, такое правило. УОНаьЬ Сх (Носки и сх -э Галстуки и Сх) Для нашего примера данных, представленного на рис.
21.5, совокупность составляет 4 сделки, поддержка равна 50%, а достоверность — 66,67%. Более общие правила связи могут быть исследованы на соответствующих агрегациях данных. Например, после группирования по заказчикам можно проверить допустимость такого правила, как "Если заказчик покупает обувь, то, вероятно, он также покупает носки, хотя необязательно во время той же сделки'. Могут быть определены и другие виды правил. Например, правило зависимости следствия может использоваться для определения покупаемых образцов в течение некоторого времени (" Если заказчик купил обувь сегодня, то он, вероятно, купит носки в течение пяти дней"). Правило классификации может использоваться для принятия реше- 845 Глава 21.
Поддержка принятия решений ния по удовлетворению заявки на получение товара в кредит (" Если доход заказчика превышает $75 000 в год, то, вероятно, риск нелла~ежа будет невелик") и т.д. Подобно правилам связей правила зависимости следствий и правила классификации также имеют уровни поддержки и достоверности. Разработка данных представляет собой огромную самостоятельную тему [2!.1], поэтому, очевидно, что рассмотреть ее детально в этой книге невозможно. Мы ограничимся кратким описанием вероятного применения методов разработки данных к расширенной версии базы данных поставщиков и деталей. Прежде всего при отсутствии других источников данных мы можем использовать индукцию для классификации поставщиков по их специачизации, например по крепежным деталям и деталям двигателя, и иредварение значений, чтобы прогнозировать, какими поставщиками и какие детали наиболее вероятно будут поставляться.
Затем мы можем использовать деиаграфическую кластеризацию, т.е. разбивку на группы, чтобы связать расходы на поставки с географическим расположением посредством закрепления поставщиков за регионами поставок. После этого можно использовать иссчедавание связей, чтобы определить те детали, которые получены вместе, в одной поставке. С помощью паследаватечьнага исследования образцов можно определить, что поставки крепежных деталей, в общем, следуют за поставками деталей двигателя, а путем исследования саатветствуюгцих временных циклов — что имеются сезонные количественные изменения в поставках определенных деталей (одни из таких изменений происходят осенью, а другие — весной).