2013-09-05 5 views
0

Je suis nouveau à la base de données NoSql nous avons lu un peu à propos de MongoDB et Cassandra, bien que nous ayons absolument aucune expérience avec non plus.Avantages de Cassandra db sur Mongo db

Nous voulons lancer un projet avec des fonctionnalités suivantes qui sont fournies ci-dessous qui base de données est adapté à nos besoins

  1. de stockage Geo emplacement et récupération

2.Dynamic Formulaire de stockage des données et récupération

3.Large quantité de stockage de données JSON

Dans quelles personnes âgées nous préférons MongoDB et Cassa ndra

Donc, fondamentalement, quelle base de données NoSQL recommandez-vous pour notre utilisation?

Cordialement, Sagar

+0

Toute question demandant ce type de sujet a tendance à devenir subjective et opiniâtre en tant que telle n'est pas un bon choix pour SO J'ai peur – Sammaye

+0

Je vous recommande de mettre en place une installation de test des deux et de jouer un peu avec chacun d'eux pour savoir lequel est le plus adapté à ** votre ** approche de ** votre ** projet.En passant, lorsque JSON est une exigence explicite, vous devriez aussi essayer CouchDB, car JSON est son format de données natif. – Philipp

Répondre

3

Comme @sammaye états, ce genre de questions peuvent apporter des réponses subjectives et non utiles. Donc, pour être utile, je vais essayer de montrer certains objectifs avantages/inconvénients et les capacités de chaque base de données cités:

Cassandra:

  • Une base de données de la colonne (certains genre de Hashtable multi-valeur). Afin de tirer parti de toutes les capacités et de la puissance de Cassandra, vous devez créer votre modèle de données avec un accès basé sur une clé. Ainsi, l'utilisation de Cassandra pour des modèles de données complexes/riches peut devenir très difficile.
  • En raison de ses très structures de données brutes, la gestion des données géospatiales est presque impossible (à ma connaissance, le seul qui a utilisé Cassandra pour les données géospatiale est SimpleGeo avec Mike Malone après deux ans de développement)
  • Son offert des structures de données ne ne comprend pas JSON. Donc, l'utiliser pour manipuler une grande quantité de données JSON peut aussi être difficile.

MongoDB:

  • Un document de base de données (base de données JSON simples). Les données complexes peuvent être modélisées très facilement en raison de la richesse de la sémantique des documents JSON.
  • Données géospatiales is supported natively.

En résumé, MongoDB semble répondre à vos besoins. Remarque: J'utilise les deux bases de données dans mon travail quotidien et je pense personnellement que vous devez utiliser chaque base de données pour ce qu'elle est faite. Cassandra a un grand nombre d'avantages sur MongoDB mais dans des domaines très spéciaux (et vice versa).

+1

Merci de votre suggestion – sagar

+0

Cassandra excelle en ce qui concerne "le stockage et la récupération d'emplacement géospacial" et beaucoup de gens l'utilisent à cette fin - en particulier dans les télécommunications mobiles. Ce que Cassandra ne fait pas nativement, ce sont tous les calculs de distance, les calculs polygonaux, etc. qu'une solution SIG complète fournit. Donc, cela dépend vraiment si vous avez seulement besoin de stockage et de récupération de coordonnées, ou si vous cherchez votre base de données pour fournir plus de fonctionnalités. – platforms

+0

Vous avez raison. Si vous voulez stocker des informations géospatiales (brutes), Cassandra fait le travail. Cependant, les cas d'utilisation courants incluent quelque chose comme récupérer des points géospatiaux de la base de données et les filtrer par leurs distances à partir d'un point donné; et ce genre de questions est presque impossible avec Cassandra. – fsenart