57 votes

Peut mongodb être utilisé comme une base de données incorporée?

Je suis en train de travailler sur un lecteur de flux RSS de l'application. Et j'ai besoin de trouver un backend de base de données. Je veux que la base de données doit être incorporée dans la mesure où je ne veux pas les utilisateurs à installer un serveur de base de données.

Je sais que SQLite est un bon choix, mais je me demande si il y a d'autres nosql choix?

55voto

Steve McDowell Points 468

(Je n'ai pas encore de 50 points de rep pour les commenter, de les et construire, de la accepté de répondre; sinon, je n', désolé!)

Vous pouvez incorporer MongoDB dans votre OEM solution, mais il y a deux choses à considérer:

  1. Il est écrit en C++, donc si vous êtes de codage dans une langue différente, vous pourriez avoir besoin d'écrire un wrapper qui lance la base de données séparément.

  2. MongoDB est sous licence Gnu AGPL-3.0 qui est une copie de la gauche serveur de licence. La accepté de répondre, et le groupe Google devis, bon état que ce serait normalement vous forcer à être également sous licence AGPL. Cependant, ils MongoDb états que l'intention de la licence est de permettre à des améliorations de leur code pour être soumis en arrière, et que votre produit resteront séparés. Cela me fait penser que la copie normale à gauche règles ne s'appliquent pas.

L'objectif de la licence serveur est d'exiger que les améliorations apportées à MongoDB être libérés dans la collectivité. Traditionnelle GPL n'a souvent pas plus cela comme une énorme quantité de logiciel s'exécute dans le cloud. Par exemple, Google n'a aucune obligation de libérer leurs améliorations à la base de noyau s'ils le font, ils sont gentils.

Pour rendre cette pratique, nous vous promettons que votre application cliente qui utilise la base de données est un autre travail. Pour faciliter cela, l'mongodb.org pilotes pris en charge (la partie que vous avez un lien avec votre demande) sont publiés sous licence Apache, qui est libre sans gauche d'auteur. Remarque: si vous souhaitez une lettre signée d'affirmer au-dessus de la promesse veuillez en faire la demande par e-mail.

Source: http://www.mongodb.org/display/DOCS/Licensing

18voto

Joe Doyle Points 4298

Selon le Groupe Google, oui c'est possible, mais elle ne couvre pas exactement comment.

Oui, mais il n'est pas assez et la force de votre application sous licence AGPL. Si vous êtes intéressé de prendre un coup d'oeil à la façon dont les outils de gérer l' --dbpath option.

Source: http://groups.google.com/group/mongodb-user/browse_thread/thread/463956a93d3fb734?pli=1

Si vous êtes en utilisant .NET, une option pourrait être RavenDB, qui est un document de base de données, et peuvent être incorporées.

14voto

Anton Points 101

Veuillez caisse https://github.com/Softmotions/ejdb Ce projet en cours d'élaboration pour résoudre ce problème.

5voto

Shane Points 1

Comment sur Couchbase Lite? C'est un open source, intégrable de document de la base de données. Alors qu'il peut fonctionner comme un document autonome de la base de données, sa valeur réelle est dans sa capacité à se synchroniser à distance avec des bases de documents. Il peut être destiné à iOS / Android, mais il peut fonctionner sur n'importe quoi avec une machine virtuelle java.

https://github.com/couchbase/couchbase-lite-java

2voto

Andreas Jung Points 1

Il n'y a pas de transfert façon d'utiliser MongoDB comme un intégré à la bibliothèque en termes de bien-bibliothque. Eliot - tête de 10gen - a parlé de "il serait agréable d'avoir un" - mais il n'y a rien de disponible qui pourrait être réutilisé dans une façon saine.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X