Электронная библиотека » PC Magazine/RE » » онлайн чтение - страница 8


  • Текст добавлен: 13 марта 2014, 09:33


Автор книги: PC Magazine/RE


Жанр: Компьютеры: прочее, Компьютеры


Возрастные ограничения: +16

сообщить о неприемлемом содержимом

Текущая страница: 8 (всего у книги 15 страниц)

Шрифт:
- 100% +
И еще раз – учиться!

Еще одна важная особенность работы нейрокомпьютера по сравнению с линейным – принципиально иной подход к оценке производимых действий. Машина Тьюринга – фон Неймана с легкостью оперирует понятиями «1» – «0», «истина» – «ложь». Потому и результат ее вычислений может быть истинным либо ложным (если алгоритм верен, то ложность результата – следствие внутреннего сбоя в машинном «железе»). А вот нейрокомпьютер гораздо ближе к нам с точки зрения определения истинности полученного результата. Обратите внимание: истинности, не истины. Буква «V», написанная от руки, может существовать в неисчислимом количестве вариаций – и все-таки каждый из них будет обозначать именно «V», а не «Ж» или «W». Как мы это узнаем? Если буква написана достаточно отчетливо, то просто по внешнему виду (если буква на листе одна, то не факт, что это именно она – может оказаться, это знак «<» или «>», а то и просто галочка). Зато, если данная буква встречается в составе слова (знакомого слова на знакомом языке, т. е. входящего в наш словарный запас – оперативную память – символа), мы с уверенностью сможем даже уточнить, какой язык был использован при ее написании, и при переводе в компьютерно-читаемый вид подобрать соответствующий набор символов (стандартный латинский, восточно-европейский или даже вьетнамский). Итак, чтобы определить данную закорючку на листе бумаги именно буквой «V», нам достаточно отбросить заведомо не подходящие варианты. Точно таков же и принцип действия нейрокомпьютера: корректно налаженная обратная связь позволяет ему отсекать «неистинные» варианты интерпретации образа. Понятие же единственно возможного правильного ответа для него не имеет смысла.

Причем ведь не исключена ситуация, в которой мы сами по недостатку информации можем ошибиться: вырванная из контекста надпись «VI» вполне может означать как латинскую шестерку, так и небрежно записанное наименование популярного текстового редактора для UNIX/Linux-систем, vi. Так вот: нейрокомпьютер, в структуре которого предусмотрены обратные связи и для распознавания чисел в римской системе, и для компьютерной UNIX-лексики, вполне способен выдать в качестве истинного (не истины!) любой из этих ответов или оба разом (в зависимости от того, налажено одновременное либо последовательное задействование всех ассоциативных цепочек). Такая машина не будет зациклена на добывании единственно верного ответа; главным для нее станет отбраковка заведомо непригодных результатов поиска. Каким же образом ей это удастся?

Принципы работы нейрокомпьютеров сформулированы довольно давно; пока, правда, ученым не под силу сымитировать в полной мере деятельность мозга даже какого-нибудь грызуна – однако такой задачи никто сейчас и не ставит. Важно, что найдены общие принципы организации нейронных вычислительных систем, нейросетей, которые уже позволяют моделировать нейрокомпьютеры программно, в памяти самых обычных линейных машин. Основа этих принципов – метод обратного распространения ошибок. Каждый нейрон – участок нейросети, базовый элемент нейрокомпьютера – получает информацию от нейронов предшествующего слоя обработки данных и передает ее, изменив, нейронам следующего слоя. При этом каждый нейрон получает информацию от множества (а лучше – ото всех) элементов нейросети предшествующего слоя. Изменение же информации производится в соответствии с определенными правилами, вырабатываемыми как раз в процессе обучения.



«Нейробот» (Neurobot), созданный в Финляндии самообучающийся робот на основе многослойной нейросети, применяемый для разборки и утилизации деталей отслуживших автомобилей.

Общий принцип обучения нейросети можно представить следующим образом: сначала информация прокатывается по слоям нейронов в «прямом» направлении – от входа к выходу. Каждый нейрон по определенным правилам преобразует сигналы от входных каналов (присваивая им различные веса и суммируя) в выходной, а выходной сигнал переправляет в следующий нейронный слой. На выходе происходит сопоставление результата с эталонным значением, и информация об их различии распространяется по слоям в обратном направлении, фактически заставляя каждый конкретный нейрон соответствующим образом модифицировать свое воздействие на «прямой» информационный поток, балансировать систему весовых коэффициентов значимости для водных каналов. Получается, что изначально степень такого воздействия вообще может быть не определена: если, как выяснится в процессе обучения, оно cработало как следует, способствуя получению сравнимого с эталонным результата, компенсирующее воздействие распространяющейся в обратном направлении волны контроля ошибок будет минимальным. И наоборот: слишком уводящее в сторону от истинности результата преобразование будет незамедлительно и эффективно подкорректировано. В конце концов через несколько сеансов обучения нейронная сеть самостоятельно сформирует фактически специализированный процессор для решения некой задачи и с не меньшей легкостью сумеет перестроиться, если потребуется со временем переключиться на другую. Это так называемое «обучение с учителем»; возможен вариант и полностью самостоятельной настройки нейронной сети, ориентирующийся исключительно на внешние раздражители.



Установка для наглядного моделирования нейронных сетей средствами линейной компьютерной техники: BioWall («живая» Web-камера транслирует изображения с этого экрана в Сеть по адресу http://lslcam1.epfl.ch/view/view.shtml)

В парадигме линейного программирования такое просто невозможно представить: алгоритм здесь первичен; его верификация по тестовым данным вторична, а собственно получение ответа, ради которого все и затевается, и вовсе оказывается на третьем месте. Таким образом, нейрокомпьютеры способны решать неформализованные задачи и в этом смысле действительно могут считаться носителями «искусственного интеллекта». Впрочем, тот уровень интеллекта, который подразумевает осознание мыслящей сущностью себя самой, требует, похоже, несколько более сложной организации процесса мышления… простите, обработки входного сигнала. И до приближения к этим высотам нейрокомпьютерам пока ох как далеко.

DARPA на страже нейрокомпьютеров

Если первоначальные разработки тьюринговских (линейных) компьютеров велись с упором на чисто вычислительные задачи, то первые воплощенные «в металле» нейрокомпьютеры представляли собой устройства распознавания образов. Собственно, Фрэнка Розенблатта, построившего в начале 1960-х гг. первое нейросетевое устройство, поддающееся обучению, вдохновил именно человеческий глаз, не просто фиксирующий попадающий в него поток излучения, но и проводящий его первичную обработку и передающий в мозг уже сформированные образы. Свой компьютер Розенблатт назвал персептроном (от perception – восприятие, т. е. воспринимающей машиной). Фактически датой создания персептрона следует считать 1958 г., когда он был впервые смоделирован программно на супер (по тогдашним меркам) компьютере IBM-704. В 1960-м же году персептрон увидел свет вживую, причем в самом прямом смысле – матрица из 400 электронных фоторецепторов (20×20) служила ему входным интерфейсом. Розенблатту удалось добиться уверенного распознавания этим устройством отдельных букв, располагаемых в виде крупных трафаретов перед рецепторным блоком… Собственно, энтузиазм кибернетиков 1960-х гг. относительно скорой возможности создания полноценного искусственного интеллекта связан был в первую очередь именно с персептронами, а не с линейными (последовательными) вычислительными системами, принципиальная ограниченность архитектуры которых уже тогда была очевидной, а перспективы стремительной миниатюризации интегральных транзисторных схем еще не открылись в полной мере. Однако к началу 1970-х гг. увлеченность нейронной ветвью развития кибернетики практически сошла на нет – не в последнюю очередь именно из-за фантастического прогресса в области полупроводниковой миниатюризации, позволявшего, следуя по уже накатанному пути, получать более мощные вычислительные системы путем одной только модернизации технологической базы. И лишь в 1983 г. вездесущая армейская организация DARPA выделила средства, вдохнувшие новую жизнь в нейрокомпьютерные исследования. Теория построения персептронов нового поколения (так называемых многослойных, со сложно структурированными связями между отдельными ячейками), а также методики их обучения и накопления в них информации особенно сильно развились к середине 1980-х гг. А в последнем десятилетии прошлого века неумолимо нараставшая мощность линейных вычислительных машин позволила возродить персептроны, но в виртуальном, сымитированном виде; причем, как выяснилось, целый ряд прикладных задач уже сегодня выгоднее решать с применением моделируемых в памяти обычных ЭВМ персептронов (и доступных тем методов), чем с непосредственным использованием мощностей этих самых ЭВМ. Перспективы воплощения современных персептронов «в металле» пока продолжают оставаться туманными, хотя с каждым годом обретают все более определенные контуры. Быть может, парадоксальный симбиоз двух ветвей кибернетической эволюции в виде моделируемых на линейных машинах персептронов и в самом деле окажется более жизнеспособным, чем каждая из этих ветвей по отдельности?

Практикующие специалисты

Пока программная эмуляция нейрокомпьютерных процессов развивается самыми серьезными компаниями, в числе которых выделяется, конечно, IBM. Сотрудники ее «Лаборатории биометафорических вычислений» (Biometaphorical Computing) создали математическую модель мини-колонок коры головного мозга. Это тончайшие (0,05 мм в поперечнике) нити, пронизывающие кору в радиальном направлении и собирающие импульсы от нейронов. Смоделировав согласованную работу полумиллиона мини-колонок, соединенных друг с другом 400 млн. связей, ученые смогли продвинуться по пути решения пресловутой задачи распознавания образов.

В том же направлении работает и группа исследователей Университета Южной Калифорнии, создавших электронную систему, способную не просто распознавать устную речь, но и выделять осмысленные слова из фонового шума, причем делать это эффективнее, чем доступно человеческому уху. Нынешние программные системы распознавания речи не могут выделить слова из фонового шума, если его уровень превосходит полезный сигнал в 10 раз. Человеческий же слух способен вылавливать отдельные слова из стократно превышающего их по громкости фона. Творение калифорнийских инженеров корректно распознает до 60 % слов при уровне фонового шума, в 560 раз превосходящем интенсивность полезного сигнала! Любопытно, что данное устройство представляет собой нейрокомпьютер в полном смысле слова – воплощенную непосредственно в кремнии, а не сымитированную программно, нейронную сеть. И это при том, что устройство содержит всего-то 11 кремниевых нейронов с тремя десятками связей между ними. Причина ошеломительного успеха проекта в том, что при конструировании нейронной сети учитывались новейшие сведения о нейрофизиологии реального слухового восприятия. Каждый элемент сети с большой точностью воспроизводит «акустические» свойства живого нейрона: обеспечиваемые им задержки и уровневые преобразования входных сигналов.

Но наверное, самая поразительная новость из мира нейроэлектроники за последнее время – это информация от группы ученых из отдела биохимических исследований мюнхенского института им. Макса Планка, разработавшей ИС с незамысловатым названием NACHIP, способную стимулировать и отображать состояние отдельных нейронов нервной ткани. Получен прямой двунаправленный интерфейс между нервной тканью и кремниевой электроникой. Основной проблемой при организации такого взаимодействия долгое время была именно двусторонняя трансляция управляющих импульсов: открыть информационный канал в одну сторону, подобрав специализированную микросхему для взаимодействия с нервной клеткой, было довольно просто, но добиться, чтобы она же принимала и слаботочные клеточные импульсы, не удавалось. И вот – удалось.



Японский проект Genobyte (www.genobyte.com), точнее, монтажная схема его базового нейрочипа

На помощь пришла генная инженерия, позволившая вырастить нервные клетки (сперва улитки, а затем крысы), изначально ориентированные на взаимодействие с кремниевыми структурами. Переносчиками заряда в нервной ткани служат не электроны, а положительно заряженные ионы натрия, более медлительные и менее многочисленные. Модификация генов подопытных животных позволила вырастить нейроны, активно испускающие ионы натрия в процессе обмена сигналами, а также снабженные большим (по сравнению с «оригиналами») числом ионных каналов в клеточных мембранах.

В результате, хотя прямое перенесение заряда с живой клетки на электронную схему и обратно по-прежнему невозможно (не удастся заставить работать кремниевый транзистор на ионах натрия вместо электронов), активность каждого отдельного нейрона после генной модификации стала настолько мощной, что перемещение заряженных частиц через клеточную мембрану заметно меняет локальный заряд этой мембраны. Заметно – с точки зрения расположенного поблизости транзистора, который реагирует на изменение проводимости окружающей среды и сигнализирует об этом командной схеме кристалла. Обратная же связь осуществляется при помощи рассеянных по поверхности кристалла конденсаторов: накопление и сток заряда на них воспринимаются нервной клеткой ничуть не хуже, чем сигналы взаимодействия от ее «натуральных» соседок, поскольку прямо влияют на проводимость расположенного поблизости от конденсатора участка клеточной мембраны.

Итогом теоретических и практических усилий мюнхенской группы стала микросхема (размером в миллиметр), содержащяя более 16 тыс. транзисторов и сотни конденсаторов, непосредственно на которые «высаживаются» нервные клетки (конечно, отдельно приходится заботиться об их снабжении питательными веществами и отводе продуктов метаболизма). В настоящее время NACHIP используется сразу по нескольким направлениям: так, на его основе можно пытаться строить гибридные нейронные сети, в которых роль отдельных ячеек будут играть биологические нейроны, а связи между ними обеспечат искусственные схемы. Более того, исследователи предполагают, что, непосредственно отдавая клетке команды (и предварительно разгадав электронный «язык» этих команд), можно в широчайших пределах управлять ее поведением – вплоть до генетического перепрограммирования (влиять на нейрон так, чтобы в нем включался новый ген либо отключался уже существующий). Никакой мистики – просто, если среду пребывания NACHIP насытить генетически активными химическими веществами, поступление которых внутрь клетки обычно блокируется мембраной, можно путем отдачи определенных команд заставить мембрану пропускать такие вещества внутрь и обеспечивать тем самым необходимые реакции. Наконец, исследуя взаимодействие нервных клеток при помощи электронных цепей (применяя транзисторную подложку NACHIP просто в роли регистрирующего устройства), можно гораздо больше узнать о реально происходящих в нервной системе процессах и продвинуться в области прикладной нейрофизиологии.

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

Программы

Базы даных: скачок в многомерность

Сергей Гончарук, [email protected]


Какие ассоциации вызывает у вас словосочетание «базы данных»? Еще несколько лет назад у меня ассоциации были примерно такие: «таблица», SQL, «нормализация». Все они связаны в первую очередь с реляционными базами данных и соответственно с реляционной моделью данных.

Реляционные модели основаны на теории множеств, которая подразумевает, что элемент записи в таблице неделим (атомарен) и уникален. Приведение данных к такой форме называется нормализацией. Возникает вопрос: «Как быть, если нормализация влечет за собой большие трудозатраты или в принципе невозможна в связи с очень быстрым изменением структуры данных?»

Для таких случаев появились инструменты, общее название которых – постреляционные СУБД. На сегодня существуют две наиболее известные группы СУБД этого типа: многозначные (multi-value) и объектные.

«Многозначные» базы данных

Одна из самых титулованных и распространенных многомерных моделей данных – Pick-модель, или, как ее еще называют, «многозначная БД» (Multi-value database, MVDB). У этого класса БД своя история, берущая начало еще в середине 1960-х гг. Именно тогда была создана система GIRLS (Generalized Information Retrieval Language and System, обобщенный язык и система получения информации) по заказу американских военных. Дик Пик и Дон Нельсон (Dick Pick, Don Nelson) были основателями системы, которая позволяла обращаться к хранилищу данных на языке, близком к естественному. Позже появилась коммерческая версия системы, права на которую получил Дик Пик. Система обладала функциональностью ОС и СУБД. В ее составе также были средства разработки. Около 20 разных компаний приобрели права на производство и продажу систем Pick.

Что же такое MVDB и почему эту модель часто называют «постреляционной»? Дело в том, что в постреляционной модели атомарный (неделимый) элемент может содержать несколько значений. Это снимает массу ограничений, накладываемых реляционной моделью, и позволяет представить данные в более реалистичной форме. По сути, кубическая модель сводит на нет необходимость объединений при выполнении запроса, так как все данные в постреляционных БД хранятся внутри единой структуры. Следствием использования многомерной архитектуры является увеличение скорости выполнения запросов благодаря уменьшению числа сложных алгебраических преобразований и операций чтения-записи. Еще одно преимущество при использовании MVDB – отсутствие необходимости нормализации данных.

Технически модель хранения и обработки данных в Pick-архитектуре использует файлы, или динамические массивы. Элементами файлов являются записи, которые в свою очередь содержат неограниченное количество значений. Каждое значение может иметь неограниченное число подзначений. Каждый файл разделен на две части: словарную, описывающую структуру файла, и содержащую данные. На системном уровне данные файла представляют собой строку с разделителями неограниченной длины. Существует несколько типов разделителей: разделители записей, значений и подзначений. Такой подход позволяет получить огромный выигрыш в производительности: чтение данных с диска происходит до тех пор, пока не будет найден символ разделителя, т. е. со скоростью, практически равной физической скорости чтения с диска. Это позволяет также создавать неограниченные объем данных и число полей в таблице.

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

В отличие от реляционной модели, структура данных в MVDB не имеет жесткого описания – схемы данных. Это значит, что в любой момент можно добавить новый файл, запись в файл, новые значения записи или новые подзначения без внесения изменений в схему данных, т. е. куб данных способен расти сразу в трех направлениях до бесконечности (ограничения, как правило, накладывает конкретный изготовитель). При этом место на диске не резервируется заранее, а используется только под имеющиеся на текущий момент данные.

На рисунке показана структура данных на примере базы автовокзала. Каждый маршрут создается в виде отдельного файла. Каждая запись в файле – рейс по маршруту с указанием времени. Каждое значение записи – место в салоне автобуса (количество записей по числу мест). Каждое место характеризуется набором подзначений: номером проданного билета, признаком занятости (брони), фамилией пассажира и прочими атрибутами.

На сегодня имеется несколько программных систем этого класса.


D3

TigerLogic, www.rainingdata.com/products/dbms/d3

Оценка: очень хорошо

D3 (Д-куб или Д-три) – продукт компании RainingData, прямой наследник оригинального Pick. D3 построен по классической архитектуре виртуальной машины, отличается хорошей производительностью. (Среди известных автору примеров информационная система Вологодского автовокзала. Она работает на Pentium 3/800 МГц с 256-Мбайт ОЗУ; постоянно активны 15 терминальных пользователей.) Особенность этой БД – собственная файловая система для хранения данных, разделенная на «счета» (области хранения файлов баз данных и файлов программ).

Программы для D3 разрабатываются на встроенном Бейсик-подобном языке (FlashBASIC). Программа может быть откомпилирована в объектный код виртуальной машины или в машинный код реального процессора базовой системы (такая процедура называется flashing). В первом случае откомпилированный код легко переносить между разными реализациями D3, Flashing же позволяет обеспечить максимальную производительность.

Для доступа к данным можно использовать SQL, – правда, его реализация в D3 находится на невысоком уровне (например, нет совместимости со стандартом SQL92). Кроме SQL существует развитый собственный язык запросов AQL (Access Query Language), который хорошо учитывает многомерную структуру и позволяет эффективно ее использовать.

Интересно реализован HotBackUP – механизм «горячего» резервирования данных. На «мастер»-сервере разворачивается журнал транзакций, в который записываются все запросы клиентов. Транзакции выполняются одновременно на master– и slave-серверах. Такая технология обеспечивает высокую надежность и защиту данных от потерь.

D3 может поставляться со средствами интеграции. FlashCONNECT служит для эффективной работы с Web, посредством этой подсистемы программы на FlashBASIC могут формировать вывод в виде HTML с использованием шаблонов. CGI-сценарий обеспечивает обмен данными между посетителями сайта и базой данных.

OSFI (Open Standard FileSystem Interface) – еще одно средство интеграции, входящее в состав D3 и позволяющее получать прозрачный доступ к удаленной системе D3. Кроме того, с помощью OSFI прямо из D3 можно прочитать файл из файловой системы ОС или данные из удаленной базы любого типа через Microsoft ODBC. Естественно, через ODBC можно получить данные и из самой D3.



Структура данных Pick на примере базы автовокзала

Среда разработки FlashGUI также полезный инструмент, представляющий собой API для управления графическим терминалом Briz непосредственно из D3 с помощью программ на языке FlashBASIC. Терминал Briz, получая ESC-последовательности, преобразует их в элементы оконного интерфейса: окна, кнопки, полосы прокрутки, меню и пр. На базе D3 строится несколько коммерческих отечественных разработок. Наиболее известны системы автоматизации автовокзалов «ДЮК» (www.dyc.ru), библиотек LiberMedia (www.libermedia.ru), внешнеторговых организаций ГРАНШОП (www.gran-service.ru). Они функционируют на нескольких платформах: AIX, Solaris, Linux, Windows.

Документацию для пакета D3 на русском языке можно найти на www.infoved.ru/resources/documentation, а D3FlashGUI и Briz – на www.amvm.ru.


jBase

jBase International, www.jbase.com

Оценка: хорошо

Эта БД представляет собой новое поколение многомерных СУБД. В отличие от D3, в jBase не используется собственная виртуальная машина, она лишь обрабатывает и выполняет пользовательские запросы. Точнее, пользовательские процессы сами делают выборку, а СУБД играет роль «регулировщика», контролирующего системные и пользовательские блокировки. Несмотря на то что с применением такой архитектуры несколько снизилась производительность (по сравнению с D3), разработчики этой СУБД смогли добиться хорошей масштабируемости как в многопроцессорных, так и в кластерных системах.

Однако главная особенность jBase – средства интеграции. В первую очередь это, конечно, продукт JEDI – интеграция различных СУБД. Он позволяет jBase работать с ORACLE, MS SQL, DB2, uniVerse напрямую. Кроме того, существует совместимость различных типов ФС (J1-J5, JRFS) для доступа к данным, хранящимся непосредственно в файлах ОС.

При использовании технологий интеграции прикладная система на базе jBase даже «не знает», с какой БД в данный момент она работает. Переход с одной СУБД на другую прозрачен и не требует внесения изменений в исходные тексты. Так, при переходе с архитектуры MVDB в реляционную с помощью подсистемы JEDI устанавливаются необходимые реляционные ссылки, ограничения целостности, создаются индексы, необходимые для эмуляции многозначной структуры, учитывая особенности конкретной реляционной СУБД, на которую происходит переход. По словам представителей компании jBASE International, скорость выборки данных при переходе на реляционную модель с применением технологии JEDI падает незначительно. Например, при использовании ORACLE выборки работают в среднем всего в 1,5 раза медленнее, чем с jBASE.

В качестве языков доступа к данным, помимо «родного» языка jQL, jBase на очень высоком уровне работает с SQL (в том числе SQL92), что делает эту базу легко осваиваемой. Для SQL в jBase созданы специальные расширения, позволяющие более эффективно работать с многомерной структурой данных.

Реализация доступа посредством ODBC, JDBC, ADO, OLE-DB к jBase была выполнена независимой компанией Attunity Data Connect. Она же разработала XML-интерфейс к более чем 35 типам источников данных, в том числе текстовым и XML-файлам, реляционным и прочим СУБД, а также менеджерам транзакций.

В качестве средств разработки, помимо традиционного для MVDB Бейсика, jBase предлагает использовать также Cи и Java. В реализации Бейсика разработчики jBASE применили нестандартный подход: вместо транслятора был создан препроцессор, переводивший код Бейсика в код Cи или Java, который впоследствии компилировался стандартными компиляторами базовой ОС.

Для интеграции с Web jBase предлагает продукт jWB (jBase Web Builder), основанный на Java script и DHTML с расширениями для включения в себя объектов jBASE. Отметим, что jWB может быть также дополнен пользовательскими классами.

jBase работает на нескольких платформах, в том числе Linux и Windows.


IBM U2

IBM Corp., www.ibm.com/software/data/u2

Оценка: очень хорошо

Это даже не одна, а сразу две СУБД – UniData и UniVerse. По сути, очень похожие продукты, однако UniData построена по классической схеме виртуальной машины, а UniVerse – как БД нового поколения, работающая со средствами базовой ОС. Кроме того, в отличие от UniData, UniVerse использует репликацию. Особенность UniData – средства интеграции, предоставляющие возможность обращаться к другим БД, как к своим таблицам.

Для доступа к данным обе БД могут использовать как SQL, так и собственный язык запросов RetrieVe, который предоставляет расширенный доступ к многомерной структуре.

В качестве средств разработки используется классический для этого типа БД язык Бейсик, однако существуют средства, позволяющие вызывать внешние процедуры, написанные на языке Cи. Для интеграции в среду Microsoft Windows у IBM существует технология wIntegrate, аналогичная FlashGUI у D3. С помощью wIntegrate приложения, созданные на Бейсике и выполняющиеся внутри БД, могут управлять графическими объектами интерфейса Windows (кнопки, меню, выпадающие списки и пр.) с помощью своеобразного терминала.

Командный язык TCL позволяет как использовать встроенные системные команды, так и создавать свои на базе программ на языке Бейсик, команд и программ ОС, а также запросов RetrieVe.

На основе СУБД UniVerse IBM предлагает продукт MITS (www.mits.com) – систему принятия решений, содержащую набор инструментов для построения хранилища данных, его администрирования и управления им, а также набор средств Business Intelligence и интерфейсов для других OLAP-средств.

Другое интересное решение на базе UniVerse – продукт IBM Informational server (www.ibm.com/software/data/integration), позволяющий создавать обобщенное хранилище данных из различных внешних источников.

Существуют варианты U2 для Linux, AIX и Windows.

Объектные БД

Естественным развитием MVDB стало появление объектных баз данных.


Caché

InterSystems, www.intersystems.ru

Оценка: очень хорошо

Когда-то БД этого класса разных разработчиков (например M, MSM) конкурировали между собой, и в результате ряда слияний и поглощений сегодня на рынке самым сильным среди объектных СУБД стал продукт Caché компании InterSystems.

Структура данных в этой БД представлена в виде классов, в каждом из которых есть данные и методы их обработки. Данные представлены в структурах, близких по строению к MVDB-архитектуре, – кроме того, СУБД не накладывает ограничений на типы хранимых данных. Это означает, что хранимыми данными могут быть не только собственно данные, но и классы, а также ссылки на них. Такой подход позволяет обеспечить создание модели, максимально приближенной к реальности.

Объектная модель данных опирается на основные концепции объектов: наследование (способность получить один класс от другого), инкапсуляцию (механизм, объединяющий данные и код) и полиморфизм (позволяет классам использовать общий интерфейс, но иметь разную внутреннюю реализацию). Такая модель наиболее удобна при использовании ее для хранения и структуризации данных, состоящих из большого числа похожих сущностей.

Например, широкое распространение системы на Caché получили в медицине.

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


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Следующая
  • 4 Оценок: 5

Правообладателям!

Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.


Популярные книги за неделю


Рекомендации