Блок задач

5. Проекты

Темы
Сложность 7

Проект «Простая база данных»

Создать пакет для создания/поддержки/доступа простой базы данных на основе файлов. Пакет должен поддерживать:

  • создание нового файла, содержащего базу даных
  • открытие существующей базы данных
  • последовательный доступ
  • быстрый (логарифмический -- B-деревья, или константный -- hash) доступ к паре <ключ, данное> по ключу
    • в качестве данных могут быть использованы двоичные данные произвольной длины
    • в качестве ключа -- двоичные данные произвольной длины, но с фиксированным ограничением в одном файле
    • атомарность операций (для одного процесса)
    • контроль размеров файла (чистка, удаление незакрытых транзакций и проч.)