web-dev-qa-db-fra.com

Comment décidez-vous quel type de base de données utiliser?

Je n'aime vraiment pas le nom "Nosql", car ce n'est pas très descriptif. Cela me dit ce que les bases de données ne sont pas où je suis plus intéressé par les bases de données sont. Je pense vraiment que cette catégorie englobe vraiment plusieurs catégories de base de données. J'essaie juste d'obtenir une idée générale de quel travail chaque base de données particulière est le meilleur outil.

Quelques hypothèses que j'aimerais faire (et vous demanderiez de faire):

  1. Supposons que vous ayez la capacité d'embaucher un nombre quelconque d'ingénieurs brillants qui sont également expérimentés avec chaque technologie de base de données existante.
  2. Supposons que vous disposiez d'une infrastructure technique pour prendre en charge une base de données donnée (y compris les serveurs disponibles et Sysadmins qui peuvent prendre en charge ladite base de données).
  3. Supposons que chaque base de données ait le meilleur support possible gratuitement.
  4. Supposons que vous avez 100% de buy-in de la direction.
  5. Supposons que vous ayez une somme d'argent infinie à jeter au problème.

Maintenant, je me rends compte que les hypothèses ci-dessus éliminent beaucoup de considérations valables impliquées dans le choix d'une base de données, mais mon objectif est de déterminer la meilleure base de données pour le travail sur un niveau purement technique. Donc, compte tenu des hypothèses ci-dessus, la question est la suivante: quels emplois sont chaque base de données (y compris SQL et NOSQL) le meilleur outil pour et pourquoi?

31
Jason Baker

Les bases de données relationnelles (SQL) sont excellentes pour les données que le modèle sous-jacent reste stable. De nombreuses implémentations sont autour depuis un moment (Oracle, DB2, SQLSERVER) et sont stables et sécurisées. En outre, il est très facile de trouver des personnes expérimentées à les administrer - et les administrateurs de la base de données sont un must! Les programmeurs ne devraient pas avoir à gérer les autorisations, la configuration et le réglage. Ils devraient pouvoir se concentrer sur la programmation et laisser les administrateurs s'inquiéter de garder la base de données. Les bases de données relationnelles sont également relativement faciles à interroger et il existe de nombreux outils pour vous aider à trouver des données d'eux.

6
Michael K

Sql

Objet relationnel. Serveurs stables avec contrôle de grain fin sur les autorisations.

Nosql

Stockage flexible. Capacités élevées d'évolutivité et de faste.

5
Josh K

Il y a de très bonnes informations sur cela dans cet article: (( Cassandra vs MongoDB vs Couchdb vs Redis vs Riak vs HBASE VS MEMBASE VS NEO4J Comparaison :

Bien que les bases de données SQL soient des outils incroyablement utiles, leur monopole de 15 ans arrive à une fin. Et c'était la fois: je ne peux même pas compter les choses qui ont été forcées dans des bases de données relationnelles, mais ne les a jamais réellement adaptées.
Mais les différences entre les bases de données NOSQL sont beaucoup plus grandes que jamais comprises entre une base de données SQL et une autre. Cela signifie que c'est une plus grande responsabilité des architectes logiciels de choisir le droit approprié pour un projet dès le début.
[.____] Dans cette lumière, voici une comparaison de Cassandra, Mongodb, Couchdb, Redis, Riak, Membase, Neo4j et Hbase [...]

1
Jason Baker