2010-12-07 7 views
3

GraphDB vs Key-valueDBNoSql Battle - Survivants?

Neo4j contre OrientDB Valdemort contre OrientKV

Caractéristiques de choix et comparez

  • Facile à installer (pas de dépendances, lieu/extrait juste sur le dossier)
  • Performances et évolutivité
  • faible encombrement
  • bonne documentation (tutoriels et des exemples)
  • installations d'administration, des outils de surveillance
  • faible courbe d'apprentissage
  • Interface
  • avec Java ou Ruby

Quels sont les gagnants?

Une autre option avec les mêmes caractéristiques/caractéristiques?

+0

Ou fleetdb a l'air d'être une solution facile. Mais il manque peut-être certaines fonctionnalités que vous recherchez .. – Alfred

Répondre

1

Ce n'est pas le gagnant que vous recherchez. D'après mon expérience, le type de base de données idéal est celui qui convient le mieux à votre application. Pour une application avancée, vous souhaiterez peut-être avoir une liaison d'objet à la base de données. La meilleure option est la base de données relationnelle comme SQL. Il a été développé pour plus de 20 ans. Les outils sont disponibles pour SQL partout. La base de données NoSql est encore jeune et les outils sont difficiles à trouver.

J'ai personnellement essayé avec Neo4j. J'adore le modèle graphique qu'ils utilisent dans Neo4j. Cela vous permet d'ajouter des attributs au noeud et aux relations. Cependant, les outils pour afficher le graphe ou la base de données NoSQL ne sont pas aussi bons que la table SQL. Pour moi, je trouve que le fichier texte ou xml est la meilleure base de données pour la plupart de mes applications.

2

Qu'en est-il des bases de documents? Je pense que mongo est la plus grande chose jamais

+0

mongodb est bon même si je préfère redis.Je pense aussi qu'il veut des solutions Java (neo4j/orientdb/voldemort/orientkv sont toutes des solutions java). – Alfred

+3

Mauvais! Selon Google, la plus grande chose ** est la version Muppets de Bohemian Rhapsody; http://www.youtube.com/watch?v=tgbNymZ7vqY –

+0

@alfred: redis est un magasin de valeurs clés, qui est aussi proche d'une base de documents que d'une base de données relationnelle. @Stephen C: Je suis corrigé. –

2

Je suis avec Steve C. Les Muppets gagnent! En fait, j'évalue Neo4j et OrientDB. Penchée vers OrientDB parce que son profil de performance correspond à ce dont j'ai besoin. Plutôt que de regarder le "bling" comprendre ce que le rapport de lecture/écriture sera pour votre système. Est-ce plus de lire que d'écrire, ou les recherches sont-elles plus importantes? Une fois que vous avez compris cela, alors la sélection devient plus facile.

BTW Les deux Neo4j et OrientDB ont une bonne documentation et des exemples. Tout le meilleur avec votre choix.

+0

pourriez-vous s'il vous plaît partager votre expérience avec OrientDB jusqu'à présent? Je l'évalue moi-même et apprécierais grandement tout retour d'expérience réel. – Zaki

1

La plus grande différence que je dirais est - l'évolutivité. Neo4j ne prend pas en charge le cluster dès maintenant. Mais vous pouvez avoir une réplication maître-esclave. Cependant cluster de soutien OrientDB.

Les données de chaque noeud doivent être stockées sous la forme paires de valeurs-clés dans Neo4j. Avec OrientDB, vous pouvez enregistrer des données en tant que document et pouvez toujours avoir des relations de type graphique. OriendDB prend également en charge ACID.