Встраиваемая база данных хранилища документов
Есть ли что-то похожее на SQLite, но документарно-ориентированная база данных в отличие от СУБД?
Orient казался чем-то похожим на то, что я искал, но он написан на Java, и я ищу что-то, что я могу использовать из С++.
В идеале это будет безсерверная система, такая как SQLite.
Ответы
Ответ 1
UnQLite
UnQLite - это библиотека программного обеспечения в процессе, которая реализует автономный, безсерверный, нулевой конфигурации, транзакционный NoSQL двигатель базы данных. UnQLite - это база данных хранилища документов, аналогичная MongoDB, Redis, CouchDB и т.д., А также стандартный хранилище ключей/значений аналогично BerkeleyDB, LevelDB и т.д.
UnQLite 100% ручной код, написанный на ANSI C, Thread-safe, Full реентерабельный, компилирует немодифицированный и должен работать на большинстве платформ включая ограниченные встроенные устройства с компилятором C. UnQLite - это широко протестированы в системах Windows и UNIX, особенно Linux, FreeBSD, Oracle Solaris и Mac OS X.
Ответ 2
Фактически CouchDB не является строго ориентированным на сервер. Он предназначен для работы в самых разных средах. См. Здесь диван на мобильном телефоне.
Erlang, язык реализации CouchDBs был разработан для работы на встроенных устройствах, размеры которых меньше и менее мощные, чем сегодняшние телефоны.
От http://guide.couchdb.org/draft/why.html
Токио/Киотский кабинет написан на С++, но является простым хранилищем ключей.
См. полный список nosql для других альтернатив: http://nosql-database.org/
Ответ 3
Существует RavenDB, написанный на .NET, со встроенной версией.
Ответ 4
Считаете ли вы использование Xapian, аналог С++ Lucene? Он помогает хранить и запускать сложные запросы в документах с несколькими полями.
Ответ 5
Другое предложение - использовать Berkley DB, поскольку оно оптимизировано для встроенного доступа к данным и очень зрелого. Они не только обеспечивают доступ на основе K/V, но и дополняют SQL-подобный, XML и Java Object Access. Кроме того, просмотрите этот обзор.
Ответ 6
Попробуйте hamsterdb. Он написан на C, и он также поддерживает С++ (среди других). Существует много platforms.
Ответ 7
Я не пробовал себя, но, возможно, это соответствовало бы вашим требованиям:
- CouchDB
http://couchdb.apache.org/
с
- библиотека С++ для связи с Apache CouchDB
http://code.google.com/p/couchdbpp/
ИЗМЕНИТЬ.
Я ответил слишком быстро, так как CouchDb скорее ориентирован на сервер. Тем не менее, взгляните.
Ответ 8
Там также Fossil.
Два вопроса (или критика), которые часто возникают в отношении ископаемых можно суммировать следующим образом:
Почему Fossil основан на SQLite вместо распределенной базы данных NoSQL? Почему Fossil написана на C вместо современного языка высокого уровня? На любой вопрос можно ответить напрямую, потому что они оба основаны на ложных предположениях. Мы утверждаем, что Fossil не основывается на SQLite на все и что Fossil не основано на распределенной базе данных NoSQL потому что Fossil - это распределенная база данных NoSQL. И, Fossil действительно использует современный язык высокого уровня для его реализации, а именно SQL.