将MySQL Connector / MXJ用于应用程序的优缺点/替代方法是什么?

时间:2012-03-07 19:56:55

标签: java mysql playframework mysql-connector embedded-database

我最近使用Play Framework和MySQL Connector / MXJ创建了一个有趣的应用程序来创建一个带有数据库的完全可移植的Web服务器,独立于任何当前安装的软件(包括Java)。

我还不熟悉MXJ和桌面应用程序领域(而不是直接的webapps),所以我想知道是否还有其他更好的方法来存储/访问大量数据而不是嵌入式MySQL。我会这么认为,因为似乎没有多少人使用MXJ。它基本上只是以多种形式为多个操作系统和平台打包mysqld.exe。它在自己的线程中运行,并将其数据存储在您提供的任何目录中。

对于经常分析和搜索大块数据(100MB到5GB)的应用程序,还有哪些其他(快速)选项,或者我的网络应用程序是否合理引入MySQL?

2 个答案:

答案 0 :(得分:2)

  

独立于任何当前安装的软件(包括Java)。

如果您正在为桌面应用程序寻找嵌入式数据库,那么您可以转到SQLITE。但是,使用MySQL或SQLite

有利弊

<强> SQLite的:

  1. 易于设置
  2. 非常适合临时(测试数据库)
  3. 非常适合快速发展
  4. 非常适合嵌入应用程序
  5. 没有用户管理
  6. 没有很多性能特征
  7. 不能很好地扩展。
  8. MySQL的:

    1. 设置更加困难/复杂
    2. 更好的性能调整选项
    3. 适合生产数据库
    4. 如果调整得当可以很好地扩展
    5. 可以管理用户,权限等。
    6. 您可以找到有关何时使用SQLite here

      的更多信息

      更新:我遇到了HSQLDBhere是其测试结果。 HamsterDb是另一种选择。

答案 1 :(得分:1)

如果您的应用是基于单用户和桌面的,那么您真的需要一个数据库吗?也许将大文件写入本地文件系统然后通过网络层加载更快。如果您的应用程序非常复杂,您可以使用嵌入式数据库来存储您的域和配置,但如果不是,您可以避免使用db + sql + o / r-mapping等等。