же связь осуществляется при помощи рассеянных по поверхности кристалла конденсаторов: накопление и сток заряда на них воспринимаются нервной клеткой ничуть не хуже, чем сигналы взаимодействия от ее «натуральных» соседок, поскольку прямо влияют на проводимость расположенного поблизости от конденсатора участка клеточной мембраны.
Итогом теоретических и практических усилий мюнхенской группы стала микросхема (размером в миллиметр), содержащяя более 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 терминальных пользователей.) Особенность этой БД – собственная файловая система для хранения данных, разделенная на «счета» (области хранения файлов баз данных и файлов программ).