哪一个是处理脱机数据的最佳数据库应用程序



我有一个要求,那就是创建一个数据驱动的web应用程序的桌面应用程序版本。此web应用程序当前正在MySql数据库上运行。

现在,根据我的要求,我需要创建一个桌面版,它将与数据文件一起从网络应用程序下载,并且可以在Windows和Mac平台上无需连接互联网即可工作。

所以现在我不能在这里使用MySql,因为它需要与数据库服务器连接。所以我的问题是,在我的桌面版中,哪一个是最好的数据库选项,它可以在没有任何服务器应用程序的情况下与离线数据文件一起使用?此外,如果从MySql迁移到该数据库只需最少的努力,这将是一个优点。

以下是需要考虑的一些因素:

  1. 它应该能够存储blob数据
  2. 它应该具有与MySql几乎相同的sql结构
  3. 它应该支持像Hibernate这样的ORM框架
  4. MySql数据可以在其兼容的结构中传输

请给我推荐最好的选择。

此外,这将是基于Java的解决方案,所以我计划使用JavaFX作为UI框架。请建议我在Java中是否还有其他更好的选择。

您可以很容易地将以下数据库(以及其他数据库)嵌入到可移植应用程序中:

  • H2数据库
  • HSQL数据库
  • Derby数据库

通常的做法是默认使用其中一个,但也允许用户配置自己的数据库。因此,如果他们希望使用自己的mysql数据库,他们可以选择。

堆栈溢出类似的问题在这里回答

这些嵌入式数据库允许您使用JDBC、JPA、Hibernate,因此您可以正确地使用与web应用程序服务器端点上相同的数据库通信/事务代码,但有新的要求。。。就我个人而言,我更喜欢使用HSQLDB。

最新更新