Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Теория: Уместно ли переписать модуль DBI на использование фа (Андрей Анатольич (Venom))
Author Message
Андрей Анатольич (Venom)
Участник форума



Joined: 02 Sep 2003
Posts: 28
Карма: 4
   поощрить/наказать

Location: Екатеринбург

PostPosted: Sat Sep 06, 2003 11:52 pm ()
   Post subject: Теория: Уместно ли переписать модуль DBI на использование фа
Reply with quote

Ну и конечно написать функции для SQL запросов, но используя файлы а не БД.
Это нужно для тех, у кого БД по каким-либо причинам не доступна и т.п.
Как вам такая идея?
Back to top
View user's profile Send private message
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6840
Карма: 131
   поощрить/наказать


PostPosted: Sun Sep 07, 2003 9:43 pm (спустя 21 час 50 минут)
   Post subject:
Reply with quote

Андрей Анатольич (Venom) wrote:
Как вам такая идея?
1). Я думаю, что кто-то этим вопросом уже задавался (ИМХО) => Гугл.
2). Если использовать файлы, то зачем огород городить, велосипед изобретать и т.д??? Ведь это элементарное дело, организовать бд в виде файловой структуры?! :)
Back to top
View user's profile Send private message Send e-mail
Enilatiar
Участник форума



Joined: 09 Jun 2003
Posts: 690
Карма: 24
   поощрить/наказать


PostPosted: Mon Sep 08, 2003 10:45 am (спустя 13 часов 2 минуты)
   Post subject:
Reply with quote

Андрей Анатольич (Venom) wrote:
используя файлы а не БД
А вы себе хотя бы представляете в общих чертах, насколько это сложно и насколько неэффективно?
Такие решения есть. Но это не БД, а так... Может быть проще воспользоваться MS Access?
Back to top
View user's profile Send private message
Otetz
Участник форума



Joined: 27 Sep 2003
Posts: 22
Карма: 3
   поощрить/наказать

Location: Москва

PostPosted: Sat Sep 27, 2003 3:32 pm (спустя 19 дней 4 часа 46 минут)
   Post subject:
Reply with quote

Вообще-то такое уже давно написано и именно в рамках DBI - DBD::CSV. Работает именно с файлами позволяя для получения записей из них использовать SQL. Конечно по производительности вероятно песня еще та (сам смотрел когда-то очень давно, уже не помню), но зато готовое решение ;-)
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Sep 29, 2003 12:00 am (спустя 1 день 8 часов 27 минут)
   Post subject:
Reply with quote

Если бы речь шла о Си, я бы порекомендовал Berkeley DB. Простая, но страшно эффективная штука. На ее основе даже один из типов таблиц в MySQL построен. Как раз сейчас ей занимаюсь (раздумываю над написанием XML СУБД с поддержкой PDOM).
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 388
   поощрить/наказать


PostPosted: Mon Sep 29, 2003 12:28 am (спустя 27 минут)
   Post subject:
Reply with quote

Otetz:
 Ну тут производительность и не очень важна, а важно удобство работы. Именно его нам дает SQL.

Дмитрий Котеров:
Вы, как всегда монстрите =) Еще бы мне знать, что такое XML СУБД, то есть зачем она нужна и где ее использовать - пока не могу представить.
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Sep 29, 2003 2:17 am (спустя 1 час 49 минут)
   Post subject:
Reply with quote

Гость wrote:
Еще бы мне знать, что такое XML СУБД, то есть зачем она нужна и где ее использовать - пока не могу представить.
В том-то и дело, что в мире нет ни одной opensource XML СУБД, которая бы поддерживала DOM на нормальном уровне. Ни на Си, ни на Java. Правда, вроде бы есть коммерческие реализации, но в них уверенности у меня тоже никакой.
Back to top
View user's profile Send private message Send e-mail
Aлекceй Бoндaрь
Заглянувший



Joined: 20 Dec 2003
Posts: 4
Карма: 0
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Fri Apr 16, 2004 6:13 pm (спустя 6 месяцев 17 дней 15 часов 56 минут)
   Post subject:
Reply with quote

Удивительно, но есть такой деятель Sergej Tarasov (www.risearch.org), он написал
хорошую, не сказать отличную поисковую систему. На моей достаточно медленной машине, она делает все другие "влёт". Я слил для разбора демонстрационную версию, немного поразбирался, и нашёл отличное решение по созданию текстовых баз.
Описывать бессмысленно, надо качать и смотреть. Скачиваем RiLax Demo, ищем файлик lib/index_lib.pm и начинаем его листать вниз.
У кого нервов больше, запасаются дебагером с удобным мониторингом namespace'a и желательно с выводом значения всех переменных, и начинаем дебажить.
Я лично первый раз вижу такую реализацию, в которой поиск занимает такое ничтожное время. Конечно база там не сильно "толстая", но результаты явно потрясающие.
Может это мнение "молдого-зелёного", но я уже начал потихоньку вникать в суть написанного, ибо велосипед с файловыми бинарными базами мне сильно нужен. Ибо надо создавать кросс-платформенную систему, где перенос базы был бы обычным копированием структуры из одного места в другое.
 
А главное что все помнят - копирайты за умным (не в обиду, во славу ;] ) товарищем Тарасовым.

Кто расскажет как оно это сделал, с мудрыми примерами получит конфетку.
Ваш.
Back to top
View user's profile Send private message Send e-mail
Silent
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sat Apr 17, 2004 12:27 am (спустя 6 часов 14 минут)
   Post subject:
Reply with quote

To Aлекceй Бoндaрь:

Разбираться с RiLax будет неприятно. Это результат многократных переписываний и оптимизаций формата индекса. Сам я в нем разбираюсь, но для посторонний глаз он не предназначен, там многое было добавлено для достижения определенных целей, например использование самописных in-memory хешей, вместо стандартных Перловых, чтобы иметь возможность хоть как-то контролировать потребление памяти. Для понимания идеи лучше просто взять любое пособие по теории алгоритмов и почитать про деревья и хеши.

А если нужно иметь легкую и переносимую базу общего назначения, советую посмотреть на DBM::Deep. Сам я им пока не пользовался, только почитал описание, но выглядит очень многообещающе. Там реализован классический алгоритм динамического хеширования, реализован на чистом Перле, поэтому должен легко переносится. Работать будет, конечно, медленнее Berkeley DB, но в целом заслуживает внимания (к тому же он позволяет хранить в одной базе многомерные структуры, вроде хеша хешей).
Back to top
Aлекceй Бoндaрь
Заглянувший



Joined: 20 Dec 2003
Posts: 4
Карма: 0
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Mon Apr 19, 2004 12:35 pm (спустя 2 дня 12 часов 8 минут)
   Post subject:
Reply with quote

Буду безмерно благодарен за любой посыл в сторону указанной документации, или на уже готовые примеры с обильными комментариями.
Фактически, использование сторонних форматов не совсем приемлемо, т.к. в последующем возможен вариант перехода на другие языки.
 Фактически perl пока идёт отправной точкой, сейчас я всё больше смотрю в сторону Python, и хотелось бы сделать так чтоб алгоритм
 был хорошо переносимым на любой другой язык.
Back to top
View user's profile Send private message Send e-mail
jkeks_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Fri Aug 06, 2004 6:23 am (спустя 3 месяца 16 дней 17 часов 47 минут)
   Post subject: еще одна реализация
Reply with quote

как писал давно Дмитрию Котерову, о начале разработки проекта ret WebOS, на сегодня она имеет видок немного побольше.. дак вот проект ret WebOS - содержит модуль blogs.pm, который собственно и является микро СУБД, работающей с плоскими файлами, на базе Storable. Приемущества в скорости тут скорее всего нет, я не проверял, тут другое приемущество: Принципиальное отличие от SQL подобия. Я писал эту вещь слабо представляя себе SQL, и это результат. Само преимущество заключается в том, что можно хранить структуры любой сложности, без извращений с сериализацией и т.п.
СУБД просто нацелена на работу со сложными данными, хотя минусов конечно наверно тьма.
Слить можно тут: ret.revda.biz
Ну и кроме того там еще много интересного должно быть.
Back to top
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You cannot download files in this forum.
XML