Quelle est la meilleure base de données NOSQL pour la plupart des applications? P>
Cassandra (0.7x) et Mémbase: P>
Cassandra a sélectionnable par requête Durabilité / Cohérence Garanties P>
Cassandra a un support de colonne Bigtable P>
MEMBASE a une asynchrone (retour immédiat) écrit p>
Au-delà des garanties de cohérence Pourquoi choisiriez-vous un sur l'autre? P>
3 Réponses :
Cassandra propose des lignes brisées dans des colonnes pouvant être indexées, efficacement actuellement mises à jour de manière indépendante (au lieu de devoir réécrire la ligne / objet entière) et utilisée comme des vues matérialisées (contrairement aux lignes relationnelles, les noms de colonne Cassandra peuvent être déterminés de manière dynamique. au moment de l'exécution). P>
Cassandra propose une réplication entièrement multi-maître sur plusieurs centres de données, configurable Per-Keyspace. (E.G., je veux 3 copies du jeu de données X dans le centre de données d'Amérique du Nord et 1 copie en Europe. Mais le jeu de données Y, je ne veux que 2 copies en Amérique du Nord.) P>
Il est incorrect de dire que "Cassandra est davantage orientée vers des écritures que de lire." La différence est que les deux em> sont très rapides avec Cassandra, contrairement à la plupart des systèmes qui ne sont que rapides à des lectures. P>
FWIW, Cassandra utilisait des écrivies asynchrones, mais nous l'avons sortis, car lorsque vous arrivez à la limite de votre capacité, vos choix sont (1) exécutant le serveur dans le sol ou (2) des demandes de chute sans retour sur client que c'est ce qui s'est passé. Cela ne vaut pas la très petite augmentation de performance. P>
Cela signifie-t-il, Cassandra écrit de manière synchrone en fonction du niveau de consistance? Une autre question est dans les conditions de la Whique, un état de données incompatible (valeurs anciennes) dans certains nœuds, plus de 1 minute? Et que pensez-vous de Megastore, y aura-t-il une réflexion sur Cassandra?
Googles i> Tout ce que j'ai lu est la même chose, KKOVACS .eu / Cassandra-vs-Mongodb-vs-Couchdb-vs-Redis dit "Le mieux utilisé: Lorsque vous écrivez plus que vous lisez (journalisation)." - accordé que je n'ai utilisé que Ravendb et Mongodb.
Phil, l'article que vous citez est l'aveugle qui dirige les aveugles.
En fait, j'aime bien l'article de Phill, mais il y a plusieurs incohérences. La plupart des articles ne vont pas assez profond pour comprendre les compromis réels. Il est similaire aux problèmes avec de nombreux points de repère. En ce qui concerne l'idée fausse concernant l'écriture, je crois que cela se résume au fait que rien de quelque chose de montrer notre produit à la mauvaise lumière. Au lieu d'indiquer que les rouges de Cassandra ont tendance à être un peu plus lents en raison de préoccupations de cohérence, les écrivies sont caractérisées comme étant extrêmement rapides.
Dans les bases de données de mémoire telles que Mongo sont plus rapides que Cassandra, mais la durabilité de sacrifier. Mongo peut être fait pour être plus durable, mais cela sacrifierait alors son point de vente de ventes. De ce que je peux voir Membase ne permet pas un paramètre de durabilité par fonctionnement. Cela a du sens puisqu'il hérite de memcaches.
MEMBASE a récemment fusionné avec CouchDB et mettra à jour sa couche de disque / persistant de SQLLITE à CouchdB, donnant à MEMBASE la possibilité de faire de la carte / réduction et d'interrogation / indexation / indexation. P>
Une chose que personne n'a mal mentionné est que les clusters MEMBASE sont miraculeusement faciles à installer, alors que Cassandra prend plus de travail administrateur système. P>
Cassandra est également plus largement adopté jusqu'à présent, bien qu'il existe des cas d'utilisation clés pour Mémasse tels que Zynga et ses jeux sociaux. P>
"Une chose que personne n'a déjà mentionné, c'est que les clusters MEMBASE sont miraculeusement faciles à installer" ... surtout sur Mac, comme le canapé
C'est vraiment une question simpliste. Pourquoi ne comparez-vous pas aussi Riak, Couchdb, Hadoop et autres? P>
Il n'y a rien de tel que le NOSQL DB qui est meilleur pour la plupart des applications. Tokyo Tyrant est génial pour certaines choses. SQLite est un excellent dB qui peut être mis à l'échelle si vous savez ce que vous faites. P>
L'ensemble du point de NOSQL est de déconstruire les SDBM monolithiques et de fournir des outils db dénudés sur les aspects de l'accès à la DB qui sont des goulots d'étranglement pour votre application. Chaque application est différente et donc il n'y a pas de meilleur choix. P>
Il y a cependant une meilleure stratégie. Cela consiste à identifier les besoins de performance bruts de votre application, trouvez où les goulots d'étranglement seront et choisissent DB Tools (peut-être NOSQL et peut-être des SGDB) qui soutiennent ces goulots d'étranglement et vous aident à les gérer. P>
La blogosphère est remplie d'histoires de personnes qui ont commencé avec la même question simpliste et ont fini par faire les mauvais choix. Si vous voulez la bonne réponse, vous devez commencer par poser la bonne question, et parfois vous devez vous réveiller et sentir le café et vous rendre compte que votre application est juste difficile à gérer à partir d'une perspective technique. D'autres ont découvert que les problèmes de mise à l'échelle peuvent être mieux résolus par les hommes d'affaires, mais la condition préalable est que les personnes techniques doivent être en mesure d'expliquer le système, ses goulots d'étranglement et ses contraintes naturelles, ainsi que les opportunités d'échelle plus facilement de certaines manières que si seulement le entreprise se déplacerait dans une direction différente. P>
Il existe d'autres produits qui pourraient être meilleurs ou pires que ce qui précède. Une raison de choisir ces deux?
Pour des requêtes en temps réel avec une haute disponibilité et une élégance simple, ils sont des coutures pour être les pelliculaires. Ils promettent tous deux des écritures de latence rapide rapides ainsi que des lectures avec une simple échelle de processus homogène unique.
Cassandra est davantage axé sur les écritures que lit ...
Cassandra a asynchrone (retour immédiat) écrit - il suffit de sélectionner
consistencyendencyvel.zero code>.