当您必须从一组数据库构建 writes/reads 的应用程序时,Apache Gora 是否适合?

Would Apache Gora fit when you have to build an application which writes/reads from a set of databases?

当您必须从一组数据库(包括 SQLServer、MongoDB、HBase 和 Cassandra)构建 writes/reads 应用程序时,Apache Gora 是否适合?

想法是开发一个能够跨数据库执行CRUD操作的应用程序?请求 1 转到 SQLServer,请求 2 转到 MongoDB,请求 3 转到 HBase,依此类推。请求将包含有关应用程序应访问哪个数据库的信息,并且数据库列表有限。

还有其他选择吗?

有什么指点吗?

如果需要任何其他信息,请告诉我。

根据你的描述,我会说 "yes", 除了 访问 SQL 服务器(不支持)。

我可以告诉你两件事作为开始的重要提示:

  1. 使用此 DataStoreFactory#createDataStore() 方法创建您的数据存储,该方法允许配置不同的 "gora.properties" 内容和配置。
  2. 请记住,每个 gora-xxx-mapping.xml 都在同一后端的所有连接之间共享。

备选方案:

-- 根据评论编辑:

有一个 gora-sql 模块,但由于一些许可证问题,它在几年前不得不被禁用。如果你查看 modules in the pom,你会看到 gora-sql 没有被编译。没有人带工作人员重建它:(

关于第2点,它可以存在Application1MongoDBApplication2MongoDB:如果它们是不同的应用程序,它们可以在各自的类路径中有不同的gora-xxx-mapping.xml。 如果它们是调用 #createDataStore()(在同一个应用程序中)的数据存储实例,那么所有映射都必须进入 casspath 的 gora-xxx-mapping.xml。这只是我建议的提示,我发现它很棘手。

更多选择:

  • 评论中提到的 Hibertane OGM。
  • EclipseLink(虽然不支持很多后端)
  • 数据核