Встраиваемая база данных хранилища документов
Есть ли что-то похожее на SQLite, кроме ориентированной на документы базы данных, в отличие от СУБД?
Orient, казалось, был чем-то похожим на то, что я искал, но он написан на Java, и я ищу что-то, что я могу использовать из C++.
В идеале это будет безсерверная система, такая как SQLite.
8 ответов
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
с
- библиотека C++ для связи с Apache CouchDB
http://code.google.com/p/couchdbpp/
РЕДАКТИРОВАТЬ.
Я ответил слишком быстро, я вижу, поскольку CouchDb скорее ориентирован на сервер. Тем не менее, посмотрите.
Там также ископаемое.
Два вопроса (или критика), которые часто возникают в отношении ископаемых, можно обобщить следующим образом:
Почему Fossil основан на SQLite, а не на распределенной базе данных NoSQL? Почему Fossil написан на C, а не на современном языке высокого уровня? Ни на один вопрос нельзя ответить напрямую, потому что оба они основаны на ложных предположениях. Мы утверждаем, что Fossil вообще не основан на SQLite и что Fossil не основан на распределенной базе данных NoSQL, потому что Fossil является распределенной базой данных NoSQL. И Fossil использует современный язык высокого уровня для своей реализации, а именно SQL.