是否可以在不借助 SQL 数据库的情况下将数据持久保存在 Gigaspaces XAP 8 中?我的应用程序实际上与 SQL 没有任何关系,要重新构建所有内容以反映典型的 SQL 设计将是一个巨大的麻烦。但是在糟糕的 XAP 8 文档中,只提到了 Hibernate/SQL 作为可能的持久性。
我真正想要的是当我重新启动 XAP 或我的处理单元时,我放入空间中的数据不会消失。
是否可以在不借助 SQL 数据库的情况下将数据持久保存在 Gigaspaces XAP 8 中?我的应用程序实际上与 SQL 没有任何关系,要重新构建所有内容以反映典型的 SQL 设计将是一个巨大的麻烦。但是在糟糕的 XAP 8 文档中,只提到了 Hibernate/SQL 作为可能的持久性。
我真正想要的是当我重新启动 XAP 或我的处理单元时,我放入空间中的数据不会消失。
GigaSpaces 持久性非常通用且可扩展。使用外部数据源提供持久性。关于外部数据源 API 的更多信息在这里,http://www.gigaspaces.com/wiki/display/XAP8/External+Data+Source+API
上面的页面也有一个简单的例子。NoSQL 数据库(MongoDB 和 Cassandra)的示例实现在 GigaSpaces Best Practices Wiki, http://www.gigaspaces.com/wiki/display/SBP/NoSQL+External+DataStore
免责声明:
原则上,由于您空间中的所有内容都应该是可序列化的(如果不是,复制将不起作用),您可以简单地将所有内容写入文件。但这是一个非常糟糕的主意,因为您每次都必须序列化所有内容。数据库为您处理存储格式、同步、防止损坏、提供索引......
任何重要的持久性要求都会引发技术问题,这些问题对于“内部”解决来说过于昂贵。数据库是需要持久性时使用的正确解决方案。
好消息:GigaSpaces 为您提供您正在寻找的是基于空间复制 API 的Space Dump 和 Reload 。
如果您查看页面末尾,您会看到以下注释:
确保 Space Dump 实用程序将 /gigaspaces-xap-root/lib/platform/jdbc/h2.jar 作为其类路径的一部分。
事实上,它是由一个数据库 H2SQLDB 支持的,它可能是通过反射填充的
我建议您咨询 Gigaspaces 客户支持。这可能是您必须付费的功能。
不是,我查看了“待售”的功能。
我建议你还是问。使用其中一个非免费版本可以让您获得技术支持、论坛和/或更好的文档。
或者,您可以“咬紧牙关”,做一些您试图避免做的额外的与数据库相关的工作。