【问题标题】:Database for local storage本地存储数据库
【发布时间】:2012-01-11 00:31:34
【问题描述】:

我正在寻找一个数据库,我可以用它来存储有关某些股票多年的数据。可能会有几千条记录。我正在用 Java 和 Clojure 编写一个应用程序,它会在需要显示数据时从本地数据库中提取数据。

我想知道是否有人知道为此目的可以使用一个好的数据库?我只有在服务器端运行 MySQL 的经验。

哪个数据库最容易在 Clojure 和 Java 中用于本地存储?

谢谢,

亚当

【问题讨论】:

    标签: java database clojure local


    【解决方案1】:

    JDK 6 及更高版本与Java DB 捆绑在一起,这对于您的用例来说已经足够了。

    【讨论】:

    • Java DB 是否与 Apache Derby 相同。我认为只是想确认是否有任何重大差异?
    • @adamjmarkham “Sun 表示它将把 Apache Derby 与其补丁结合起来,并称之为“Java DB”。此举为 Sun 日益增加的对开源应用程序的支持增加了另一个数据库。”来自internetnews.com/dev-news/article.php/3570696/…
    【解决方案2】:

    对于这种小型应用程序,如果您从众多优秀的embedded Java databases 中选择一个,那几乎肯定是最简单的。

    我个人的首选可能是:

    • H2 - 可能是整体性能最好的纯 Java 数据库,如果您相信他们的 benchmarks,那么在单机环境中运行时,它比 MySQL 和大多数其他数据库要快得多。
    • Apache Derby - 全面、成熟且支持良好(Oracle 在最近的 JDK 中包含了一个名为 Java DB 的版本)

    之后,您应该能够使用标准 JDBC 工具集轻松使用它们,与 MySQL 没有太大区别。

    如果您正在寻找一个非常好的 DSL 来使用 Clojure 与 SQL 数据库交互,那么您绝对应该看看 Korma

    【讨论】:

    • 注意这里提到的“Apache Derby”被Java吸收了,改名为“Java DB”;它们只是同一事物的不同名称。 Apache Derby 曾经是一个单独的产品。我研究了差异,甚至找不到足够的功能或性能来证明向项目中添加不同的 jar 文件是合理的,所以我使用了 Java DB。
    • 嗯,如果我错了,请纠正我,但 Java DB 不只是在 JDK 中吗?如果你想部署到 JRE 上的最终用户(或运行旧 JDK 的人),那么你仍然需要额外的 jar 文件......
    【解决方案3】:

    我曾将 Apache Derby 用于类似的应用程序(尽管大部分是用 Java 编写的)。他们已经运行了将近四年,并且使用它执行了超过 60,000 笔交易,没有出现重大问题。只是我偶尔的错误。

    Derby 是与 JavaDB 相同的数据库,但是使用 Derby 更容易跟上版本,因为您可以将其作为依赖项包含在内,而不是等待下一个 JDK 版本何时发布。

    另外,IIRC,JavaDB 仅包含在 JDK 中,不包含在 JRE 中。

    【讨论】:

      【解决方案4】:

      根据您的数据和应用程序的性质以及您在使用新数据库模式时的意愿和/或限制,您可能还需要考虑面向文档的数据库之一,MongoDB 或 CouchDB。如果您的数据和应用程序是面向 SQL 的,请使用建议的数据库之一。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-15
        • 2019-03-26
        • 2011-01-24
        • 1970-01-01
        • 2015-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多