Я пытаюсь создать легковесную встроенную базу данных nosql в .NET (больше просто для изучения вещей, чем для реального производственного использования). Идея состоит в том, чтобы сохранить запись (сериализованную, набор байтов) и иметь возможность получить ее по идентификатору и получить список записей на основе критериев сортировки. Записи могут обновляться и удаляться довольно часто. База данных должна быть защищена от сбоев.
Как бы вы подошли к хранилищу (в основном, к структуре файлов данных, давайте проигнорируем индексы, если это усложнит вопрос)? Есть хорошие статьи по этому вопросу?