Как указывалось ранее, SQLite, JavaDB и SimpleDB являются хорошими примерами. Я бы добавил Berkeley DB в список. Berkleley DB хорошо документирован, существует уже несколько лет, имеет несколько доступных API, а также несколько методов доступа, таких как HASH, QUEUE и RECNO, в дополнение к традиционному B-дереву. Berkeley DB - это библиотека базы данных ключ / значение, написанная на C. Berkeley DB XML - библиотека баз данных XML, написанная на C ++ поверх Berkeley DB. Berkeley DB Java Edition - это 100% библиотека данных ключа / значения Java. Все они доступны по лицензии, подобной лицензии GPL, а исходный код включен в дистрибутив .
API-интерфейс Berkeley DB включает API-интерфейс SQLite, в основном реализуя хранилище данных пары ключ / значение BDB под слоем запросов SQLite. Berkeley DB был также первой реализацией хранения данных под MySQL, снова приняв слой SQL-запроса и сохранив данные в простом формате данных ключ / значение данных. Это, безусловно, интересный способ взглянуть на проблему - если у вас есть гибкое, быстрое, масштабируемое, надежное хранилище данных, вы можете затем наложить поверх него любой тип API или представление / абстракцию данных. Это именно то, что делает Berkeley DB, предоставляя выбор между хранилищем данных основной пары ключ / значение или XML, SQL, коллекциями Java или POJO-подобным постоянным уровнем поверх инфраструктуры базовой пары ключ / значение.
Berkeley DB примерно так же близок к "чистому" механизму хранения данных, как вы собираетесь найти. Он не делает никаких предположений о структуре, содержании или формате хранимых данных. Это позволяет верхним уровням предоставлять эти абстракции, в то время как нижний уровень ориентирован на быстрое, масштабируемое и надежное хранение. Это одна из причин, почему Berkeley DB так широко используется - его простота и целенаправленность делают его очень быстрым, надежным и масштабируемым.
Отказ от ответственности: я являюсь одним из менеджеров по продуктам в Berkeley DB, так что, очевидно, я немного предвзят. Но я также работаю над продуктами баз данных 25 лет и немного знаю о внутренностях СУБД. : -)
Удачи в ваших исследованиях.
Dave