【问题标题】:DataStax Graph Native API vs Fluent APIDataStax Graph Native API vs Fluent API
【发布时间】:2017-07-23 13:53:37
【问题描述】:

我已经在 java 中尝试了本地 api 和 fluent api for datastax graph。 我发现 fluent api 更具可读性,因为它类似于 java 的 OOP。

原生 api 在 java 中的可读性较低,因为基本上是附加字符串来创建整个 gremlin 脚本。但从好的方面来说,只需调用一次即可执行整个 gremlin 脚本

如果我需要在一个事务中添加大量边和顶点,我想知道哪个是最好的 api,以及在这两种情况下可能出现的性能问题是什么

【问题讨论】:

    标签: datastax-enterprise datastax-java-driver datastax-enterprise-graph


    【解决方案1】:

    以后我会推荐使用 Fluent API 而不是基于字符串的 API。虽然我们仍然在 DataStax 驱动程序中支持基于字符串的 API,但我们的大部分工作和改进都将使用 fluent API。

    Fluent API 的主要好处是您可以直接使用 Apache TinkerPop 库来形成 Traversals,它不需要通过 groovy 脚本引擎(就像基于字符串的 API 那样)。

    就在一个事务中加载多个顶点/边而言,您可以使用 Apache TinkerPop 来做到这一点,它会比基于字符串的 API 更有效,因为这一切都不需要通过 gremlin-时髦的引擎。此外,未来任何有关批处理的工作都可能在 Fluent API 中完成(通过 Apache TinkerPop),有关更多详细信息,请参阅JAVA-1311

    【讨论】:

    • 感谢您的回答。我将继续使用 Fluent API。我也有关于批处理的问题,因为现在每次遍历都流利地更新了我需要运行 executeGraph() 函数的图形,但找不到创建一批遍历的方法。很高兴知道这也将在不久的将来提供
    • 目前除了在单次遍历中调用链式 addV() 之外,您无能为力。这是一个这样做的例子(尽管在 scala 中):github.com/mpollmeier/gremlin-scala-examples/blob/master/…。希望这会随着时间的推移而改变。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2021-07-14
    • 2017-03-29
    • 1970-01-01
    • 2014-09-12
    • 2021-02-06
    • 1970-01-01
    相关资源
    最近更新 更多