Question

J'enquête sur un nouveau projet qui sera un site de style de réseautage social. Je lis sur RavenDB et j'aime le regard d'un grand nombre de ses caractéristiques. Je n'ai pas lu sur NoSQL tant que ça, mais je me demande s'il y a une niche, il convient le mieux avec et vieux sql école est toujours le meilleur choix pour d'autres choses.

Je pense que les autorisations branchent serait idéal pour un site de style réseau social - mais sera-t vraiment réaliser dans un environnement où la base de données sera obtenir martelée - ou est-il optimisé pour un système de style plus de rapports où il est possible de lancer de nouvelles structures garder de données à la base de données et un rapport sur ces structures.

Je suis impatient d'utiliser le bon outil pour le travail -. Je vais utiliser MVC3, Windsor + soit + serveur Nhibernate Sql ou RavenDB

Devrais-je bâton avec l'ancien sql école ou aller avec le petit nouveau sur le bloc: RavenDB

Était-ce utile?

La solution

Cette question peut être très proche d'être subjectif (même si c'est vraiment pas), vous parlez NoSQL comme si elle est juste une chose, et qui n'est pas le cas.

Vous avez

  • bases de données graphiques (Neo4j etc),
  • map / reduce les bases de données de documents de style (Couch, Raven),
  • bases de données de documents qui tentent de se sentir comme des bases de données ordinaires (Mongo),
  • magasins clé / valeur (Cassandra etc)
  • Moar va ici.

Chacun d'eux tente de résoudre un problème différent par différents moyens, et si vous souhaitez utiliser l'un d'entre eux sur un magasin relationnel traditionnel est

  • Une question d'aptitude
  • Une question de préférence personnelle

A la fin de la journée, pour le principal de stockage de données pour un seul système, une base de données de documents ou un magasin relationnel est probablement ce que vous voulez, bien que pour les différentes parties de votre système vous pouvez bien finissent par utiliser une base de données de graphique (pour le calcul de voisins, etc.), ou un magasin clé / valeur (comme Facebook ne / a fait pour les messages de la boîte de réception).

Le principal avantage de choisir un magasin de documents comme votre magasin principal sur celui d'un relationnel, est que vous n'avez pas à vous soucier d'essayer de cartographier vos objets dans une collection de tableaux, et il y a moins de configuration frais généraux impliqués ce faisant.

L'autre inconvénient / serait à l'envers est que vous devez apprendre quelque chose de nouveau et faire des erreurs le long du chemin.

Alors ma réponse si je vais être directe?

  • RavenDB serait approprié
  • SQL serait approprié

Que préférez-vous utiliser? Ces jours, je serais probablement aller juste pour Raven, sachant que je peux vider les données dans un magasin relationnel pour les rapports et probablement faire de même pour d'autres parties de mon système, et d'obtenir la recherche de texte libre et fastish-écriture / rapide-lit sans aller grâce à l'effort de définir les magasins de lecture / écriture séparée est une victoire au classement général.

Mais que moi, et je suis partial.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top