ФЭНДОМ


Оригинал: http://habrahabr.ru/blogs/os_inferno/16123/
Автор: kovleon

В ОС Inferno есть интересный способ представления баз данных - в виде файловой системы. Для этого используются команды dbfs, rawdbfs – которые монтируют базу данных как файловую систему. Возьмем, для примера, базу календаря(wm/calendar):

% rawdbfs -e user/inferno/cal /mnt/schedule

cмонтирует в папку /mnt/schedule базу данных из файла user/inferno/cal (если файл cal не существовал – он будет создан, благодаря ключу -e). В точке монтирования будет сгенерирован список файлов, где каждый файл соответствует одной записи в БД. Благодаря этому с записями базы можно работать создавая и удаляя, записывая и считывая соответствующие файлы. Записывая в файл NEW создаются новые записи:

% echo 20071107 1 > /mnt/schedule/new

в пустой безе создали первую запись, чтобы проверить:

% ls /mnt/schedule
/mnt/schedule/0
/mnt/schedule/new

наша запись номер ноль:

% cat /mnt/schedule/0
20071107 1

Основное различие между dbfs и rawdbfs в способе хранения данных. В первом случае, используется обыкновенный текстовый файл, где записи разделяются пустой строкой; во втором, специальный формат, позволяющий не переписывать весь файл БД, при изменении одной только записи, что хорошо для Flash накопителей. В Inferno имеются другие базы данных: существуют модули dbm, attrdb которые работают со своими «форматами»; а также модуль dbsrv, который позволяет обращается к БД основной операционной системы(в случае, если Inferno используется как гостевая ОС).

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики