Xpoint
   [напомнить пароль]

XML хранилище поверх реляционной БД

Метки: [без меток]
2006-05-01 14:10:48 [обр] Илья Лебедев aka WingedFox(0/65)[досье]

В процессе работы накопилось много идей по организации качественно новой системе хранения данных. Сейчас они оформились в достаточно цельную (с моей точки зрения) систему.

Постулаты:

  1. в БД хранится ориентированный граф, собранный из неограниченного числа [пересекающихся] деревьев.

Внешний интерфейс доступа можно представить как файловую систему или XML дерево. При установке соединения с БД создаётся интерфейс, представляющий корневой каталог логического раздела или корневую вершину XML дерева. Далее возможно читать свойства каталогов/файлов, их содержимое и т.д.

  1. Объекты в БД представляют собой некие структуры, хранящие наборы записей.

Сами по себе эти структуры не имеют никакого смысла. Объект - это только хранилище абстрактных данных.

  1. Доступ к объектам возможен только посредством путевых имён вида /path/to/object.

Путевое имя определяет "отражение" объекта в БД. Различные путевые имена могут возвращать различную информацию по объекту.
Например, один объект может быть представлен в виде сообщения форума, новости, пресс-релиза, записи в блоге и т.п.
При этом - объект един и абстрактен, а путевое имя определяет его форму и доступные операции.

Покритикуйте, пожалуйста: http://ngdba.debugger.ru/

Приглашаю всех желающих принять участие в разработке.

спустя 13 часов [обр] Василий Свиридов(0/175)[досье]
Хм, концептуально весьма напоминает LDAP.
спустя 4 часа 29 минут [обр] Илья Лебедев aka WingedFox(0/65)[досье]
Василий Свиридов[досье]
Какие из этого могут следовать достоинства/недостатки? Имеет смысл копать документацию по LDAP?
спустя 3 часа 21 минуту [обр] GRAy(0/259)[досье]
Илья Лебедев aka WingedFox[досье] Главный недостаток - изобретение велосипеда ;). Почитать документацию разумеется стоит.
спустя 29 минут [обр] Илья Лебедев aka WingedFox(0/65)[досье]
GRAy[досье]
Приведите примеры аналогов, пожалуйста.
Что именно по LDAP советуете читать?
спустя 21 минуту [обр] GRAy(0/259)[досье]
Аналог концепции это собственно любой сервер LDAP и есть. Другое дело, какая структура БД под ним лежит - тут у всех поставщиков разные решения. Вот что я нашёл поискав в Гугле.
спустя 19 минут [обр] Илья Лебедев aka WingedFox(0/65)[досье]

GRAy[досье]
Спасибо. По описанию - действительно похоже.
Посмотрю что там есть более глубокое.

Но, всё-таки, у меня не велосипед. При всей похожести.

спустя 3 часа 28 минут [обр] Андрей Пахомов(0/310)[досье]
Илья Лебедев aka WingedFox[досье]
Вы сейчас на реляционной БД просто пытаетесь построить XML БД. LDAP в этом плане гораздо более присоблен. Вот к примеру
: XML + сервер каталога = XML БД
спустя 32 минуты [обр] Илья Лебедев aka WingedFox(0/65)[досье]

Андрей Пахомов[досье]
Спасибо. Указанная Вами тема очень познавательна.
Тем не менее, это не массовое решение. Как минимум, движек для него надо писать на компилируемых языках.

Я проектирую более применимый в реальности слой абстракции.
Реальность состоит в том, что в большинстве случаев нет возможности поставить на сервер тот же OpenLDAP или любое другое дополнительное ПО.

спустя 17 часов [обр] Андрей Пахомов(0/310)[досье]
Илья Лебедев aka WingedFox[досье]
А какова будет производительность вашего слоя абстракции ? Обычно все попытки реализовать XML DB на базе реляционных БД упираются в нехватку производительности данного решения для использования в реальных приложениях, потому как простейший XPath запрос превращается в гроздь SQL запросов, зачастую нетривиальных.
спустя 50 минут [обр] Илья Лебедев aka WingedFox(0/65)[досье]
Андрей Пахомов[досье]
Как раз этим вопросом я сейчас и занимаюсь.
Гроздь SQL запросов будет присутствовать, но формат хранения данных позволяет сделать их вполне тривиальными.
Powered by POEM™ Engine Copyright © 2002-2005