Jakarta ee Tinkerpop-泰坦/卡桑德拉项目设置

Jakarta ee Tinkerpop-泰坦/卡桑德拉项目设置,jakarta-ee,architecture,cassandra,titan,tinkerpop,Jakarta Ee,Architecture,Cassandra,Titan,Tinkerpop,我正在建立一个JavaEnterprise1.7项目,使用Tinkerpop3和Titan0.5与Cassandra 总体思路是: 运行Titan 0.5的专用数据库服务器 小叮当3 运行与数据库服务器分离的JavaEE7应用程序的应用程序服务器 我有很多悬而未决的问题,我想询问最佳实践,建议,示例 Tinkerpop 3应该住在哪里?是在应用服务器中还是在数据库服务器中 小叮当如何与泰坦沟通 对于Tinkerpop with Titan,这种环境的最佳配置是什么 Java企业应用程序应该如何与

我正在建立一个JavaEnterprise1.7项目,使用Tinkerpop3和Titan0.5与Cassandra

总体思路是:

  • 运行Titan 0.5的专用数据库服务器
  • 小叮当3
  • 运行与数据库服务器分离的JavaEE7应用程序的应用程序服务器
  • 我有很多悬而未决的问题,我想询问最佳实践建议示例

  • Tinkerpop 3应该住在哪里?是在应用服务器中还是在数据库服务器中
  • 小叮当如何与泰坦沟通
  • 对于Tinkerpop with Titan,这种环境的最佳配置是什么
  • Java企业应用程序应该如何与Tinkerpop通信
  • TinkerpoAPI应该如何与JavaEE集成?请记住同时有多个用户以及一般的企业环境问题(缓存、传输、对数据库的多次调用等)
  • 您有任何项目设置示例吗

  • 此基本配置最终将放入github ot bitbucket中,为其他项目做好准备。

    Titan有点像数据库,但也有点像GraphDB驱动程序。我这样说是因为无论您选择什么配置,Titan都将使用另一个DB作为存储后端。目前的选择是BerkeleyDB、HBase和Cassandra。描述Cassandra的系统架构选项

    我使用java web应用程序。我分别运行Cassandra,并在每个应用服务器中使用Titan通过thrift与Cassandra通信(Titan还支持astyanax)。我创建了一个TitanGraph实例,并将其(通过工厂bean包装器)注入到需要访问该图的任何服务bean中

    TitanGraph将同时负责事务级和数据库级缓存。这是可配置的

    TitanGraph将处理并发操作。关键是正确处理交易。您可能可以通过让事务以1:1的比例存在(带请求)开始。请记住,读取操作也会发生在事务中(这有时会让新手感到困惑)

    我尽可能地使用Blueprints API(TinkerPop),但通常我需要做一些Titan特有的事情——通常与搜索相关。我通常使用TinkerPop来:

    • !!(事实上,我得到了完全的小精灵般的甜蜜)
    • 填充带有子图的TinkerGraph实例
    (这只是一个简短的例子列表,但我几乎总是这样做。)

    我没有一个公共项目的例子,但我真的应该。也许这个周末我有时间吐点东西


    它使用Spring、JAX-RS和Jersey。

    非常有用的信息!我希望你能抽出时间来分享一个公共项目的例子!只有一点需要补充:Titan 0.5与TP3不兼容,仅与TP2兼容。Titan 0.9(下一版本)将与TP3一起使用。@AndreaT我添加了一个指向Titan web示例的链接。