Différence entre CouchDB et Couchbase
Existe-il des différences essentielles entre les CouchDB et Couchbase.
- Confus au sujet des noms? Ainsi étais-je, j'ai donc commencé par le remixage le nommage des informations à partir de cette réponse sommet en visualisation de l'histoire de noms, ce qui devrait aider à comprendre l'une de ces réponses.
- C'est un jeu génial de visualisation. Devrait-il être montés en haut de réponse?
- Merci, content que ça a aidé.Je n'arrive pas à juger si c'est assez précis, mais si rsp (le principal auteur de cette réponse) / la communauté juge digne alors n'hésitez pas à l'inclure dans le cadre de la licence.
Vous devez vous connecter pour publier un commentaire.
Nous l'avons écrit plus en détails la relation entre CouchDB et Couchbase. En un mot, Couchbase Server prend toutes les tendres NoSQL bonté de CouchDB, il donne du croustillant au bord dur d'un memcache glaçage.
Si vous êtes nouveau à NoSQL, fondamentalement, vous conservez vos JSON dans Couchbase. Il est très rapide et peut à l'échelle pour charges de trafic comme les grands, vous êtes susceptible de voir.
Comme une base de données relationnelle, il vous donne ce que vous avez stockées, quand vous en avez besoin. Yay bases de données!
Contrairement à une base de données relationnelle, au lieu de vous avoir à spécifier l'avance ce que vous allez au magasin, vous pouvez simplement enregistrer (nous sommes une goutte de mise à niveau si vous êtes à l'utilisation de memcached) et nous allons vous aider à faire le tri plus tard.
Je pense qu'il y a certaines différences essentielles entre CouchDB et Couchbase Server qui ont besoin d'être souligné.
Je ne vais pas écrire sur les avantages de la commutation de CouchDB à la Couchbase Server, car celles-ci sont décrites un peu partout (voir L'Avenir de CouchDB par Damien Katz ou
Couchbase vs Apache CouchDB
par Couchbase). Au lieu de cela, je vais essayer d'énumérer caractéristiques de CouchDB que vous ne trouverez pas dans le Couchbase Server.
Tous les noms relatifs à CouchDB et Couchbase peut être vraiment déroutant, donc j'ai mis à jour cette réponse, à commencer par une brève explication des plus importants.
Noms et la confusion
Il est CouchDB, CouchIO, CouchOne, Couchbase, Couchbase Server, Couchbase Mobile, Couchbase Lite, CouchApps, BigCouch, Touchbase, Membase, Memcached, MemcacheDB... tous différents et pourtant liés d'une manière pas du tout évident d'après le nom seul.
Tout d'abord, il y avait CouchDB, une base de données créée par Damien Katz, un ancien d'IBM developer. Son nom officiel a été changé pour Apache CouchDB après c'est devenu un projet Apache.
Une société nommée CouchIO a été créée pour travailler sur Apache CouchDB et plus tard a changé son nom à CouchOne (par "son nom", je veux dire le nom de la société - non pas le nom de base de données).
CouchOne (anciennement CouchIO) a fusionné avec Membase (anciennement NorthScale) pour former une nouvelle société appelée Couchbase. Membase (la société) a développé Membase (un produit du même nom). Membase a été créé par plusieurs dirigeants de la Memcached projet et il a utilisé le protocole Memcached. Après la fusion de CouchOne et Membase, Couchbase a poursuivi le développement de la Membase logiciel et plus tard a changé son nom de Couchbase Server.
Aujourd'hui, je pense que la plupart des gens croient que Couchbase Server est une nouvelle version de CouchDB, mais il est, en effet, une nouvelle version de Membase. Il utilise le protocole Memcached et pas de l'API RESTful de CouchDB. Pendant ce temps, CouchDB est encore CouchDB, activement maintenu et amélioré comme un Apache projet.
Maintenant pour les différences:
De licence
La Couchbase Server n'est pas entièrement open-source/logiciel libre. Il existe deux versions: Community Edition gratuite mais pas plus tard que des corrections de bug) et Enterprise Edition (il y a des restrictions sur l'utilisation, les dispositions de confidentialité, les audits par Couchbase Inc. qui "sera effectuée pendant les heures ouvrables, dans les locaux du Concessionnaire" et d'autres conditions typique de logiciels propriétaires que de nombreuses personnes peuvent trouver inacceptable).
CouchDB est un open-source/logiciel libre (no strings attached) projet de L'Apache Software Foundation et est publié sous la Apache Licence, Version 2.0 (DFSG-compatible, la FSF approuvé par l'OSI a approuvé, compatible avec la GPL, non-copyleft, les commerciaux de l'environnement).
Philosophie
Je ne l'ai jamais vu directement fait remarquer, mais cela peut être fait la différence la plus importante entre ces deux bases de données, car il est profondément sur la philosophie sous-jacente de l'informatique distribuée modèles et pas seulement à propos de certaines fonctionnalités, Api ou d'agrément. CouchDB et la Couchbase Server complètement différents dans leur philosophie de la construction de systèmes distribués et des bases de données.
Selon la Théorème CAP il est impossible pour une base de données distribuée simultanément assurer la cohérence, la disponibilité et la partition de la tolérance.
CouchDB est un AP type de système (offre Disponibilité et Partition tolérance).
Couchbase Server est un CP type de système (selon Wikipédia) OU un CA type de système (selon Couchbase mise à jour technique) - LEQUEL EST CORRECT? S'IL VOUS PLAÎT COMMENTAIRE.
Caractéristiques
C'est ce que j'ai trouvé une liste de CouchDB fonctionnalités qui ne sont pas pris en charge par le Couchbase Server:
Les caractéristiques de CouchDB peut ou peut ne pas être important pour vous, afin de savoir si le manque d'eux est un inconvénient ou non, est strictement subjectif, mais je pense que la décision de passer de CouchDB de Couchbase Server ou pas devrait être fondée sur les différences et de votre dépendance à l'égard de ces longs dans votre CouchDB déploiements.
Par exemple, si vous avez intéressé dans CouchDB après avoir regardé Le CouchDB changements d'alimentation NodeCamp parler par Mikeal Rogers ou l'un des grands CouchApp tutoriels par J. Chris Anderson, alors vous devez comprendre que si vous souhaitez passer à la Couchbase Server, puis vous aurez à oublier à peu près tout ce dont ils parlaient.
À cause de cela, je dirais que Couchbase Server se présente comme une évolution de Memcached et Membase (pas une évolution de CouchDB) et en tant que tel, il ressemble à un excellent produit si vous utilisez actuellement Memchached ou Membase. Si vous utilisez CouchDB dans la manière la plus basique, alors vous pouvez envisager d'utiliser l'Couchbase Server pour les mêmes choses, et il peut ou ne peut pas effectuer de mieux (si vous n'avez pas l'esprit les restrictions de la licence). Mais si vous êtes réellement en utilisant l'une des caractéristiques qui sont uniques dans CouchDB (comme les changements d'alimentation, CouchApps, architecture à deux niveaux, peer-to-peer de réplication etc.) ensuite, vous pouvez oublier ces caractéristiques ou de rester avec CouchDB.
Dans tous les cas, assurez-vous de lire et de comprendre le La Migration de Couchbase pour CouchDB Utilisateurs tutoriel avant de penser à la commutation.
Les gens ont souvent une mauvaise impression (peut-être après avoir lu des choses comme "Quel est l'avenir de CouchDB? C'est Couchbase.") que CouchDB est en quelque sorte rendu obsolète par la Couchbase Server, ou que c'est une vieille version héritée de Couchbase. Pendant ce temps CouchDB est activement maintenu projet open-source, Couchbase server est un tout autre projet (c'est un nouveau projet, mais il n'est pas une version plus récente de CouchDB - ils ne sont même pas compatibles), et même de nouveaux outils pour la création de CouchApps gardent encore en cours de développement (par exemple. voir la Kanso projet) puis CouchDB ne va pas n'importe où bientôt.
J'espère que cela clarifie la confusion. S'il vous plaît corrigez-moi si je me trompe sur quelque chose ici.
Mise à jour:
Couchbase Server est en fait un nouveau nom pour le Membase Serveur (le Membase Serveur a été renommé de Couchbase Server, quelque part autour de la version 1.8). Voir Couchbase Revue de l'Année 2011:
Voir aussi:
Ils sont différents et pourtant semblables morceaux de logiciel. J'ai remixé le contenu de la réponse sommet dans une image qui pourrait aider à clarifier la "différence", ainsi que les choses communes:
Un commentaire de Matt Ingenthron ajoute: