1

J'ai essayé à la fois l'api natif et l'api fluide pour le graphe datastax java. J'ai trouvé l'API api plus lisible car elle ressemble à la POO de Java.API DataStax API native vs API Fluent

L'API native a moins de lisibilité dans Java car des chaînes de caractères sont en train d'être ajoutées pour créer tout le script gremlin. mais sur le côté positif un seul appel est fait pour exécuter l'ensemble du script gremlin

je voulais savoir quelle est la meilleure API à suivre dans le cas où je dois ajouter un grand nombre de bords et de sommets en une seule transaction et ce sont les problèmes de performance qui peuvent se produire dans les deux cas

Répondre

1

À l'avenir, je recommanderais d'utiliser l'API Fluent sur l'API basée sur la chaîne. Alors que nous prenons toujours en charge l'API à base de chaînes dans les pilotes DataStax, la plupart de nos travaux et améliorations utiliseront l'API fluide. Les principaux avantages de l'API Fluent sont que vous pouvez utiliser la bibliothèque Apache TinkerPop directement pour former Traversals, elle n'a pas besoin de passer par le moteur de script groovy (comme le fait l'API String). En ce qui concerne le chargement de plusieurs sommets/arêtes en une seule transaction, vous pouvez le faire avec Apache TinkerPop, et ce sera beaucoup plus efficace que l'API basée sur les chaînes, car tout cela n'a pas besoin d'être évalué par le gremlin. moteur -groovy. De même, tout travail futur concernant le traitement par lots sera probablement effectué dans l'API Fluent (via Apache TinkerPop), voir JAVA-1311 pour plus de détails.

+0

merci pour la réponse. Je vais aller de l'avant avec Fluent API. J'ai aussi eu la question sur le batching puisque maintenant je suis à l'aise pour chaque traversée qui met à jour le graphique j'ai besoin d'exécuter la fonction executeGraph() et je n'ai trouvé aucun moyen de créer un lot de traversées. bon à savoir ce sera également disponible dans un avenir proche –

+0

Pour l'instant, il n'y a pas grand-chose que vous pouvez faire à part les appels de chaîne addV() sur un seul parcours. Voici un exemple de cela (quoique dans scala): https://github.com/mpollmeier/gremlin-scala-examples/blob/master/dse-graph/src/test/scala/SimpleSpec.scala#L82-L89. J'espère que cela va changer avec le temps. –