назад

xBase

Новая файловая система, базируемая на БД "ESF"
Ядро для новых продуктов "НооЛаб" и "Green Leaf workgroup"

ПРЕДВАРИТЕЛЬНОЕ ОПИСАНИЕ ВОЗМОЖНОСТЕЙ

Предыстория и решение о разработке "xBase"

В 1999-2000 годах в компании "НооЛаб" и группе "Green Leaf" осуществлялась разработка программных продуктов "xFiles" и "Reminder!". Эти продукты в основе своей содержат базы данных, весьма похожие по структуре и выполняемым операциям на файловую систему. Поскольку эти продукты предполагается развивать и совершенствовать, а также не исключен выпуск других продуктов, с аналогичной базой данных в основе, - напрашивается решение о создании единого ядра с единой структурой данных (базой данных) и операциями над ней.

В ноябре 2000 года принято решение разработать базу данных иерархического типа, которая включает в себя функции файловой системы как подмножество. Для проекта разработки описанной базы данных дано рабочее название "xBase". Кроме типичных для файловой системы операций (и типов данных), "xBase" будет иметь ряд расширений, которые необходимы для ранее разработанных продуктов "xFiles" и "Reminder!", а также будут полезны для их новых версий.

Предполагается также в ходе консультаций с партнерами и независимыми разработчиками определить некоторые перспективные возможности "xBase", которые могут не требоваться описанным продуктам (xFiles, Reminder!), но будут полезны в будущем.

Назначение и построение системы "xBase"

Относительно назначения и построения "xBase" возможна следующая аналогия: "xBase" - это подобие чипсета, на основе которого разработчики могут выпускать свои продукты для конечных пользователей. Разработчик сможет сам решить: оставить ли в продукте лишь те функции, которые "унаследованы от чипсета", или дополнять продукт новыми возможностями.

Система "xBase" будет являться набором библиотек и модулей для разработчиков программного обеспечения, с помощью которых будет сведено к минимуму количество действий, которые потребуется выполнить для включения в программный продукт "своей файловой системы".

В "xBase" будут полностью решены вопросы размещения данных на диске, поддержания (и проверки) их целостности. Будут изначально заложены базовые операции файловых систем: создание папок (узлов), создание файлов (листьев), перемещение и копирование, переименование, удаление. Кроме этих операций, планируется поддержка истории файлов и папок (их вариантов), поддержка списка пользователей, разграничение доступа и поддержка информации об авторстве.

Система "xBase" будет полностью поддерживать выполнение транзакций, что существенно повысит надежность системы, а в силу особенностей ESF (СУБД, на основе которой планируется построить "xBase") - одновременно с этим и быстродействие.

"xBase" планируется к реализации в двух основных вариантах: 1) набор библиотек для построения "локальных" приложений; 2) набор компонент для построения клиент-серверных систем.

Предполагаемые возможности "xBase"

Возможности "xBase" будут определять основные функции и возможности продуктов, построенных на его основе. Предполагаются следующие основные функции и возможности:

В целом, "xBase" будет превосходить и по функциональности, и по быстродействию, и по надежности большинство существующих файловых систем. По уровню надежности "xBase" будет аналогичен системе NTFS, но предполагается существенное опережение этой системы по скорости выполнения операций с файлами/папками. Кроме этого, предполагается более высокая компактность хранения информации - накладные расходы на хранение файлов/папок будут составлять не килобайты (как в FAT32 и NTFS), а лишь десятки (максимум сотни) байт.

Дополнительные возможности "xBase"

Следующие возможности предполагается реализовать в дополнение к основным, в более поздних версиях "xBase":

Перспективные возможности "xBase"

Ряд функций и возможностей, заложенных в проект, отнесен к списку перспективных. Это означает, что их важность несомненна, но относительно сроков реализации пока нет определенности. Некоторые функции и возможности из приведенного ниже списка могут быть реализованы в первой версии "xBase", некоторые - в более поздних:

Продукты, которые планируется построить на основе "xBase"

"xBase", предположительно, выступит ядром для построения следующих продуктов:

Разработчики "xBase" приглашают также всех заинтересованных лиц рассмотреть возможность использования описанной системы в других продуктах, для которых "xBase" может принести новые возможности, а также повысить технические параметры (скорость, надежность, поддерживаемый объем баз).

Дополнительные преимущества "xBase"

Поскольку "xBase" разрабатывается как основа для построения прикладных продуктов, то все эти продукты будут работать с базами единого формата. В принципе возможна полная совместимость баз этих продуктов, что несомненно является важным положительным эффектом.

В ходе создания "xBase" и построения продуктов "xFiles" и "Reminder!" разработчики планируют также выпускать разнообразный инструментарий по выполнению множества сервисных операций над базами "xBase". Этот инструментарий впоследствии может быть выпущен в виде отдельных продуктов (вероятно, FreeWare), которые будут полезны при работе с базами уже конкретных прикладных систем ("xFiles", "Reminder!").

СУБД ESF - основа для "xBase"

Систему "xBase" планируется разработать на основе СУБД "ESF". Эта СУБД (первой версии) уже использовалась в продуктах "xFiles" и "Reminder!". Но ранее СУБД ESF (в первой версии) имела крайне ограниченные возможности и не предназначалась для "локального" использования. Вследствие этого продукт "xFiles" не применялся иначе как в варианте "клиент-сервер", а "Reminder!" - был все же распространен как продукт для "локального" использования, но при работе под операционными системами Windows 95/98 проявлялись некоторые недостатки задействованной СУБД.

Со времени разработки первых версий "xFiles" и "Reminder!", а также на основании опыта использования этих продуктов - СУБД "ESF" претерпела множество изменений, включая полную переработку "с нуля". У данной СУБД полностью изменилось внутреннее строение, API, а также существенно расширена модель данных. Развита система транзакций.

СУБД "ESF" версии 2.2, которая в настоящий момент не только разработана, но и доведена до состояния рыночного продукта, является идеальной основой для построения "xBase". Лишенная всех недостатков, проявлявшихся при использовании ESF 1.0 в продуктах "xFiles" и "Reminder!" старых версий, данная СУБД имеет многочисленные преимущества:

Все перечисленные преимущества и положительные стороны "ESF" будут полностью сохранены в "xBase".

Приглашение к участию в проекте "xBase"

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

По ходу работы над "xBase", когда будут появляться "API", отдельные модули и инструментарий, - мы планируем публиковать эти материалы и продукты, передавать их независимым разработчикам, желающим принять участие в проекте.