Question

Avec l’augmentation de l’utilisation des bases de données non-SQL dans les sites Web à fort trafic, je suis intéressé de l’utiliser pour mon projet. Maintenant, j'ai entendu plusieurs noms tels que Voldermort , MongoDB et CouchDB . Mais qui sont parmi ces bases de données NonSQL qui sont prêts pour la production? J'ai vu les pages de téléchargement et il semble qu'aucune d'entre elles ne soit prête pour la production car elle n'est pas encore à la version 1.0. Existe-t-il d'autres noms que ceux-ci qu'il est recommandé d'utiliser en production?

Était-ce utile?

La solution

Je pense que vous devez commencer par les exigences de votre projet pour voir le type de base de données dont vous avez réellement besoin. Il existe de nombreux SGBD : non s relationnels et ils diffèrent beaucoup par ce type de problèmes qu'ils sont bons à résoudre. Je pense que l'article faut-il aller au-delà des bases de données relationnelles? de Martin Kleppmann est un bon point de départ pour déterminer ce dont vous avez besoin. Il y a aussi beaucoup de threads stackoverflow sur des sujets similaires, ce sont mes favoris:

Lorsque vous avez précisé ce dont vous aviez réellement besoin, vous pouvez examiner de plus près les solutions de rechange afin de déterminer quels SGBD sont prêts pour la production pour votre cas d'utilisation . L’état de préparation à la production n’est pas une question de type oui / non: les utilisateurs peuvent déployer avec succès une solution qui, par exemple, manque de prise en charge des outils. Dans un autre projet, cela pourrait être une solution de rechange.

En ce qui concerne les numéros de version, différents projets ont un point de vue différent, vous ne pouvez donc pas simplement comparer les numéros de version. Je suis impliqué dans le projet de base de données graphique Neo4j et même s'il est utilisé en production depuis plus de 5 ans nous n'avons toujours pas publié de version 1.0 finale.

Autres conseils

Qu'entendez-vous par prêt à la production? Autant que je sache, ils sont tous utilisés sur des systèmes en direct.

Vous devez faire votre choix en fonction de la manière dont les fonctionnalités qu’ils fournissent répondent à vos besoins.

Vous pouvez également ajouter Tokyo Cabinet à la liste ainsi qu'à la base de données mnesia fournie par la machine virtuelle Erlang.

Je suis tenté de répondre "utiliser SIRA_PRISE".

C'est définitivement non-SQL.

Et sa version actuelle est la 1.2, ce qui signifie que quelqu'un comme vous doit absolument assumer qu'il est "prêt pour la production".

Mais je ne devrais peut-être pas répondre du tout.

Bel article comparant rdbms à 'next gen' et énumérant certains fournisseurs:

La base de données relationnelle est-elle condamnée? http://readwrite.com/2009/02/12/is -la-base de données relationnelle condamnée

Je vous suggère d'utiliser Arangodb .

ArangoDB est une base de données multimodèle principalement à mémoire avec un modèle de données flexible pour les documents et les graphiques. Elle est conçue comme une & # 8220; base de données à usage général & # 8221; ", offrant toutes les fonctionnalités dont vous avez généralement besoin pour les applications Web modernes.

ArangoDB est censé évoluer avec l'application. Le projet peut démarrer comme un simple prototype à serveur unique, rien que vous ne puissiez utiliser avec une base de données relationnelle aussi bien. Après un certain temps, certaines fonctionnalités de géolocalisation sont nécessaires et un panier d'achat nécessite des transactions. Le modèle de données graphique d’ArangoDB est utile pour le système de recommandation. L’application pour smartphone nécessite une API simplifiée pour le back-end; c’est là que le cadre d’application Javascript intégré de Foxx, ArangoDB, entre en jeu.

Une autre caractéristique unique est le langage de requête AQL d'ArangoDB & # 8217; langage de recherche & # 8212; les requêtes sont puissantes et pratiques. AQL vous permet de décrire des conditions de filtre complexes et les jointures dans un format lisible, de la même manière que SQL.

Vous pouvez modéliser vos données de plusieurs manières:

  • dans les paires clé / valeur
  • en tant que collections de documents
  • sous forme de graphiques avec des noeuds, des arêtes et des propriétés pour les deux

Vous pouvez accéder aux données d'ArangoDB:

  • en utilisant l'API HTTP REST générale via curl / wget ou votre navigateur
  • via le shell ArangoDB (& # 8220; arangosh & # 8221;)
  • utilisant une bibliothèque client spécifique au langage de programmation

Configuration requise pour le serveur ArangoDB:

ArangoDB fonctionne sous Linux , OS X et Microsoft Windows . Il fonctionne sur les systèmes 32 bits et 64 bits , bien que l'utilisation d'un système 32 bits vous empêche d'utiliser environ 2 à 3 Go des données avec ArangoDB .

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