БД для бесплатных сайтовых движков

Posted by: Rumba
Date: Thu, 20 Dec 1979 09:29:51
Tags: движек настройка интернет cms системы База данных

Раз дощечка, два дощечка
- будет лесенка.


Для внутренних нужд в собственной БД командой Rumba разрабатывается база данных на текстах. Эта база является прототипом для других разработок, однако она прекрасно подойдёт и для простых скриптов, коими богата Румба, равно как и для сторонних разработчиков. Имя базы данных - Rumba Data Base, она реализована в виде класса для РНР5 и соответственно на хостингах с РНР4 работать не будет.

RDB предназначена для использования в качестве базы данных для скриптов с частым получением отдельных записей, выборки записей по ПРИЗНАКУ, удаления записей и нечастой перезаписи (т.к. перезапись - самая медленная функция). Структура базы линейна, поэтому последняя запись (за исключением перезаписи) будет первой при выборке по ПРИЗНАКУ. Это понятие ПРИЗНАК расширяет широкоизвестную парадигму плоских файлов ключ-значение и значительно улучшает удобство работы с базой.

Кому может быть интересна Rumba Data Base ? Разработчикам скриптов, которые хотят иметь как можно большую независимость скриптов от хостинга. В виду своей простоты (как и всё на Rumba), RDB легко подключать (достаточно одного include_once) и также легко использовать. При этом скорость работы (к примеру выборка одной записи) достаточно высокая, поскольку скрипт создаёт байт-карту базы данных. В дистрибутиве показаны варианты использования базы данных - добавление, выборка, удаление и т.д.

Ограничения Rumba Data Base
- Запрещено использовать символ
- Файл базы данных должен иметь UNIX-формат
- РНР не ниже 5 версии

ОПИСАНИЕ ФУНКЦИЙ

ИМЯ - название записи
ПРИЗНАК - категория или раздел
КОНТЕНТ - содержимое записи
СТРАНИЦА - номер страницы в выборке
ЗАПИСЕЙ - количество записей на страницу

add_one (ИМЯ, ПРИЗНАК, КОНТЕНТ)


/ добавить запись /
возвращает ok в случае успешного добавления
и no в случае, если такая статья уже есть

write_one (ИМЯ, ПРИЗНАК, КОНТЕНТ)


/ добавить запись /
аналогична add_one, но добавляет запись без
проверки на наличие в базе (работает быстрей)

get_last (ПРИЗНАК, СТРАНИЦА, ЗАПИСЕЙ)


/ получить последние записи /
возвращает массив записей, отвечающих запросу
в формате [ИМЯ]=ИМЯ‡ПРИЗНАК‡КОНТЕНТ
ПРИЗНАК может принимать значение all

get_list (ПРИЗНАК)


/ получить список записей /
возвращает массив со списком записей, отвечающих запросу
в формате [ИМЯ]=ПРИЗНАК
ПРИЗНАК может принимать значение all

replace_one (ИМЯ, ПРИЗНАК, КОНТЕНТ)


/ перезаписать запись /
возвращает ok если успешно перезаписано, и no
если такой записи нет

get_one (ИМЯ)


/ получить запись /
возвращает массив с записью в формате
[ИМЯ]=ИМЯ‡ПРИЗНАК‡КОНТЕНТ

del_one (ИМЯ)


/ удалить запись /
возвращает ok если успешно удалено, и no
если такой записи нет

Лицензия распространения RDB требует, чтобы при использовании Rumba Data Base на сайте разработчика в описании программного продукта, использующего RDB и в сопроводительной документации к скриптам (например readme.txt) были указаны копирайты Rumba. При этом на генерируемых интернет страницах копирайты указывать не требуется. Проще говоря, если вы используете RDB для своих скриптов, то на страничках, посвящённых этим скриптам надо указать, что используется RDB, а накже это прописать в файле readme.txt, который обычно лежит в архиве в составе дистрибутива.

Смотри также:


Простая cms система в стиле cmsimple  Администрирование в движке Easy 1.1  Рождение Rumba Wiki CMS в стиле WEB2  Автоматическая перелинковка страниц  Бесплатный интернет магазин на базе Rumba Easy 





Комментарии


Маэстро

Thu, 17 Dec 2009 21:57:00

Это правда, на базе Rumba DB будет создан простой движок, который любой желающий сможет модифицировать как угодно и распространять под своим брендом, но с условием, что будут соблюдены все условия по использованию встроеной в него базы Rumba DB - указание в readme и на сайте разработчика. Когда движок увидит свет, будет написана статья с подробным описанием. Спасибо, что следите за новостями проекта Rumba.


Будулай

Thu, 17 Dec 2009 16:57:28

Есть слух, что для Rumba BD будет сделана какая-то Rumba Blank с особой лицензией. Можно поподробней об этом?


Маэстро

Thu, 17 Dec 2009 11:26:24

Как было написано выше, Rumba DB - это прототип. С одной стороны, она удобна для сторонних разработчиков, которым надо сделать что-то простое, со второй стороны, некоторые данные будут храниться в ней и для движков Rumba, и в третьих, прототип этот для Rumba News (однако это весьма отдалённая и условная перспектива).


Artemonische

Thu, 17 Dec 2009 09:23:52

Маэстро, а какие движки вы планируете перевести на Rumba DB? Али грядёт новый движок? :-)


Zorro

Thu, 17 Dec 2009 09:27:41

ПРи разработке своей БД важно, чтобы она была быстая (а не только удобная). Иначе смысла её эксплуатировать не будет. Сейчас вижу, выборка статьи делается быстро, пожалуйста, не теряйте это важное преимущество в последующих версиях.


Zorro

Thu, 17 Dec 2009 08:08:42

Неплохая идея с собственной БД. Однако пригодится она прежде всего вам, Маэстро, так как и заточена под ваш взгляд на движки.


Маэстро

Thu, 17 Dec 2009 21:19:52

БД будет и дальше развиваться и со временем интегрироваться в движки Rumba. Вы можете заметить, что есть уже версия 0.7 По поводу ленты новостей с интерфейсом - это действительно уже движок. БД распространяется отдельно от движка, чтобы у пользователя была возможность заточить её под свои конкретные нужды.И с копирайтами всё верно, главное, чтобы вы прописали в документации строку о используемой БД. В конце концов никого не смущает, что упоминается SQL или dba, эдесь аналогично.


Банкир

Thu, 17 Dec 2009 09:24:04

Правильно я понял, что используя в своём самопальном движке вашей БД я не должен в шаблонах прописывать интерактивную ссылку на ваш сайт? Почему уточняю - обычно наличие ссылки обязательно и удаляется только платно.И ещё вопрос - как будет дальше развиваться RDB (и будет ли вообще)? Не хотелось бы остаться без техподдержки в самый нужный момент :)И спасибо, а то с мускулом связываться неохота, а тут такое простое решение, притом ваш ПРИЗНАК в базе прямо заточен под комментарии и блоги. Т.е. ваша база в моём понимании есть лента новостей, к которой можно просто прикрепить интерфейс - и движок готов


Комментировать


Ваше имя
Ваша почта
Ваш сайт
Рассылка комментариев





Ввести код:


    Сгенерировано
    Rumba News v.1.0a
    за 0.691032 сек.