Аналитика: методология, технология и организация информационно-аналитической работы
Шрифт:
Идеи голографической организации структур данных уже не единожды высказывались специалистами, но проблемы, связанные с их реализацией и организацией эффективного поиска данных в подобных системах, на практике остаются нерешенными (насколько это известно авторам). Вероятно, здесь может оказаться полезным раздел математики, связанный с фрактальными структурами [65] (в частности фрактальная геометрия).
Многое также зависит и от того, что, собственно, подлежит хранению в подсистеме хранения данных. Здесь следует рассматривать два аспекта: аспект, связанный с уровнем детализации и завершенностью этапа их анализа (фактографические данные или модели), и аспект, связанный со способом представления (неформализованные или формализованные данные).
65
Конотопов П.Ю., Шиян А.А. Фрактальные базы данных/знаний как фрагменты распределенной программы, ассоциированные с самообучающимися процессорами-носителями: теория и математический аппарат.
Современные подсистемы хранения данных чаще всего строятся по принципу, либо исключающему возможность их анализа без привлечения информации, внешней по отношению к данным, либо препятствующему их параллельному считыванию и обработке. В одном случае данные организуются в структуры, конфигурация и семантика связей которых находится вне подсистемы хранения (в подсистеме интерпретации), а в другом случае данные организуются таким образом, чтобы по мере поэтапного вхождения в контекст хранения система считывания накапливала знания, необходимые для интерпретации данных. В одном случае система считывания заранее должна располагать моделью интерпретации, а в другом — формулирует модель в ходе обработки.
Наиболее широкое распространение на сегодня (если не считать архивы на традиционных носителях) получили подсистемы хранения данных, использующие реляционную технологию. Идеология и логические основания теории реляционных баз данных разработаны американским ученым Е.Ф. Коддом (Codd E.F.) Подобные системы хранения относятся к классу систем, которым для работы с данными требуются внешние модели интерпретации — даже при наличии непосредственного доступа к носителю данных семантика связей может быть восстановлена лишь в редких случаях. Любое изменение структур таблиц, используемых для хранения экземпляров данных, должно сопровождаться внесением изменений в модель интерпретации, зафиксированную в приложении, обеспечивающем считывание и связывание данных. При изменении структуры объектов учета и атрибутов, используемых для их описания, организация сталкивается с необходимостью доработки программного обеспечения, используемого пользователями, что не всегда возможно (меняются языки программирования, высока кадровая динамика и т. д.).
С другой же стороны, реляционная технология (лучше даже — парадигма) баз данных (БД) обладает множеством положительных свойств. Первое и важнейшее из них — это то, что все отношения между экземплярами данных могут быть заданы извне — ни один из методов связывания по заданным пользователем логическим условиям не будет воспринят как недопустимый. Любой запрос считается допустимым и может вернуть непустое множество записей базы данных: были бы соблюдены формальные правила именования объектов базы данных (таблиц и полей — колонок) и синтаксис языка запросов — остальное находится в компетенции пользователя. Это свойство превращает реляционные базы данных в мощный инструмент исследований, добывания нового знания из существующего набора данных. Более того, введение стандарта языка управления базами данных SQL'92 позволило сделать прозрачным (независимым от особенностей реализации) процесс обращения к различным системам управления базами данных (СУБД) и уже через их интерфейсы к БД, функционирующим под их управлением.
Однако следует заметить, что сколь бы мощные возможности ни были доступны пользователю реляционных БД, всем им свойственен основной недостаток: отсутствие системности в подходе к организации данных и потеря их связности. Несмотря на то, что данные в реляционных БД достаточно высоко формализованы, а декомпозиция свойств доведена до уровня атомарности, возможности их организации в связные описания объектов и систем ограничены — знания о правилах их объединения вынесены за пределы компетенции СУБД.
Для преодоления этого недостатка используются, так называемые, вторая и третья нормальные формы, представляющие собой совокупность правил связывания и организации данных за счет внесения отношений ссылочной целостности (иерархизации представления данных). Хоть это, в принципе, противоречит основному принципу построения реляционных БД, но зато приближает реализуемые в таких БД отношения между данными к естественному способу хранения данных и знаний. Если воспользоваться метафорой, то в классическом виде отношения между данными, реализуемые в реляционных БД, можно сравнить с «кашей в голове» у нерадивого студента, когда из-за отсутствия закрепленных связей между фрагментами знаний, полученных в результате авральной зубрежки, в своих ответах на экзаменационные вопросы он может с легкостью сочетать несочетаемое.
Здраво было бы ограничить сферу применимости реляционных баз данных этапом макетирования информационных систем, предназначенных для функционирования в системах с низкой структурной и функциональной динамикой. После того, как период адаптации и установления ссылочных отношений окончен, в принципе, можно перейти к менее гибкой, но более быстродействующей навигационной парадигме (хоть она и старше реляционной). Но в силу универсальности и гибкости реляционной модели обычно она продолжает использоваться и по окончании периода адаптации, что обусловлено желанием заказчика обеспечить сохранение «потенциала роста» и максимальную гибкость БД, как инструмента исследования.
Выше мы вскользь упомянули о навигационной парадигме баз данных… Базы данных, реализованные в соответствии с навигационной парадигмой, по способу организации данных коренным образом отличаются от реляционных. Навигационная парадигма полностью соответствует принципу иерархической классификации. Связи между экземплярами данных в навигационных БД жестко заданы моделью, отражающей свойства моделируемой (описываемой) системы. Такое представление более гармонично вписывается в системный подход и напоминает уже не голову одуревшего от зубрежки студента, но голову педантичного старосты группы, знания которого хорошо уложены и приведены в порядок. Однако, если продолжить сравнение, то знания эти все еще разобщены, не полны и не позволяют создать нового знания, поскольку они бесконфликтны, а отношения между ними пока лишены должной пластичности.
Навигационная парадигма опирается все на тот же аппарат табличного представления данных, где имя колонки соответствует имени атрибута, строка — совокупности свойств некоторой сущности, выступающей в качестве атомарной на данном уровне описания. На следующем уровне описания этой же сущности атрибут может быть раскрыт с подобающей степенью детализации, но главное: описание будет вновь доведено до атомарного уровня — в противном случае все ухищрения лишены какого бы то ни было смысла. Процесс построения описательной структуры навигационной БД связан с процедурой поэтапной декомпозиции свойств сложного объекта в некоторой плоскости отношений (отношения включения, подчинения и т. д.). Так, протоколируя процесс последовательной разборки автомобиля и записывая после разборки некоторого узла или агрегата перечень деталей и крепежных элементов (с указанием их спецификации), можно синтезировать структуру описания, схожую со структурой навигационной базы данных.
Изучение такой БД может дать информацию о «конструкции», а вернее, о композиции и характеристиках объектов, описания которых хранятся в ней. То есть, разобранный автомобиль можно собрать вновь, не копаясь в баночках с разнокалиберными винтиками и шпунтиками. В случае ведения протокола разборки автомобиля в реляционной базе данных, пришлось бы бегать с каждым болтом от ведерка с болтами к агрегату — проверять, не подойдет ли…
— Хорошо еще, что эта работа возложена на плечи СУБД. Связи в навигационных БД установлены жестко — «открыть» новую вам не даст СУБД, заявив о попытке нарушить существующую схему отношений. Внести коррективы в систему отношений можно лишь взаимодействуя с СУБД в качестве разработчика.
Очевидно, что подобные БД могут применяться во многих отраслях, где требуется высокое быстродействие, где анализ связей уже завершен, а его результаты признаны удовлетворительными. По некоторым своим свойствам навигационные БД довольно близки к идеологии системного подхода, однако многообразие связей и отношений здесь даже теоретически не может быть учтено во всей своей полноте. Опять же, примитивные интерфейсы, используемые для отображения данных, зачастую предоставляются средствами СУБД (это плюс), но при попытке их усложнения или усовершенствования приходится обращаться к прикладным программам, размещаемым на рабочем месте клиента. С другой стороны все эти отношения могут быть сымитированы в реляционных СУБД, а значит, разработчик, имеющий опыт работы только с одним типом СУБД, оказывается способен создавать БД как классического реляционного типа, так и псевдо-навигационного типа (что потребителю выливается в необходимость приобретения более высокопроизводительного компьютерного оборудования, но удешевляет стадию разработки).