本地存储数据库

Posted

技术标签:

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

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

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

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

谢谢,

亚当

【问题讨论】:

【参考方案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 的,请使用建议的数据库之一。

【讨论】:

以上是关于本地存储数据库的主要内容,如果未能解决你的问题,请参考以下文章

vue项目数据本地存储

我应该使用本地存储来存储用户数据吗

在本地存储中存储压缩的 json 数据

如何将编辑的数据存储在本地存储中?

如何使用 Angularjs 将数据存储在本地存储中?

检查本地数据存储是不是为空