Встраиваемая база данных хранилища документов

Есть ли что-то похожее на SQLite, кроме ориентированной на документы базы данных, в отличие от СУБД?

Orient, казалось, был чем-то похожим на то, что я искал, но он написан на Java, и я ищу что-то, что я могу использовать из C++.

В идеале это будет безсерверная система, такая как SQLite.

8 ответов

Решение

UnQLite

UnQLite - это внутренняя программная библиотека, в которой реализован автономный транзакционный механизм баз данных NoSQL с нулевой конфигурацией и нулевой конфигурацией. UnQLite - это база данных хранилища документов, аналогичная MongoDB, Redis, CouchDB и т. Д., А также стандартное хранилище ключей / значений, аналогичное BerkeleyDB, LevelDB и т. Д.

UnQLite на 100% написан вручную, написан на ANSI C, Thread-safe, Full reentrant, компилируется без изменений и должен работать на большинстве платформ, включая встроенные устройства с ограниченным доступом с компилятором C. UnQLite тщательно протестирован в системах Windows и UNIX, особенно в Linux, FreeBSD, Oracle Solaris и Mac OS X.

На самом деле CouchDB не строго ориентирован на сервер. Он предназначен для работы в различных средах. Смотрите здесь для дивана на мобильном телефоне.

Erlang, язык реализации CouchDB, был разработан для работы на встраиваемых устройствах на величины меньше и менее мощные, чем современные телефоны.

С http://guide.couchdb.org/draft/why.html

Кабинет Токио / Киото написан на C++, но является простым хранилищем ключей.

Смотрите полный список nosql для других альтернатив: http://nosql-database.org/

Существует RavenDB, написанный на.NET, со встроенной версией.

Вы рассматривали возможность использования Xapian, аналога C++ от Lucene? Он помогает хранить и выполнять сложные запросы к документам с несколькими полями.

Другое предложение заключается в использовании Berkley DB, так как он оптимизирован для встроенного доступа к данным и очень зрелый. Они обеспечивают не только доступ на основе K/V, но и SQL-подобный, XML и Java Object Access. Кроме того, проверьте этот обзор.

Попробуй хомячка. Он написан на C и имеет поддержку C++ ( среди прочих). Поддерживается много платформ.

Я не пробовал себя, но, возможно, этот будет соответствовать вашим требованиям:

--CouchDB

http://couchdb.apache.org/

с

- библиотека C++ для связи с Apache CouchDB

http://code.google.com/p/couchdbpp/

РЕДАКТИРОВАТЬ.

Я ответил слишком быстро, я вижу, поскольку CouchDb скорее ориентирован на сервер. Тем не менее, посмотрите.

Там также ископаемое.

Два вопроса (или критика), которые часто возникают в отношении ископаемых, можно обобщить следующим образом:

Почему Fossil основан на SQLite, а не на распределенной базе данных NoSQL? Почему Fossil написан на C, а не на современном языке высокого уровня? Ни на один вопрос нельзя ответить напрямую, потому что оба они основаны на ложных предположениях. Мы утверждаем, что Fossil вообще не основан на SQLite и что Fossil не основан на распределенной базе данных NoSQL, потому что Fossil является распределенной базой данных NoSQL. И Fossil использует современный язык высокого уровня для своей реализации, а именно SQL.

Другие вопросы по тегам