我了解 GAE 使用自己的 NoSQL 大表数据存储来实现持久性。但我想知道是否可以连接到外部/远程/非 GAE 数据库。
我看到JDBC 不受支持,至少截至 2012 年 8 月。但我想知道是否还有其他方法可以访问远程数据库并提取数据。
我对 JDO 很弱,但我相信它支持 RDBMS 连接。因此,一个潜在的途径可能是为 RDBMS (MySQL) 找到一个“JDO 驱动程序”并将其与我的 WAR 捆绑在一起。除此之外,我没有想法。有什么想法吗?
GAE 不允许传出连接 IIRC(任何人都可以随意纠正),因此无论 JDO(或更好的 JDO 实现)功能如何,它都不会到达 GAE 之外。
对于任何未来的读者,这就是我的决定。我将在非 GAE 服务器上托管一个安全(HTTPS) RESTful Web 服务,可能是 Amazon EC2 或 Beanstalk,也可能只是一个简单的 GoDaddy 服务器。这并不重要,因为我的应用程序的这一部分不需要可扩展。
此 Web 服务将等待来自我的 GAE 应用程序的 RESTful API 调用。此调用将包含它需要连接到的 RDBMS 的必要连接信息。Web 服务将包含其所需功能所需的所有 JDBC 驱动程序。
收到调用后,它将连接到适当的(远程)RDBMS,提取它需要的数据(由调用内部的指令提供),然后使用 GoogleSQL 的网络服务将数据插入到我的 GoogleSQL 数据存储中。一旦它在那里,我的 GAE 应用程序将可以自由支配它。