推荐一款Java内存数据库

4
寻求建议。我有一个命令行实用程序,现在需要处理来自Web服务的大量数据,以CSV形式呈现。
我需要对数据运行多个测试,以查找异常和模式。我希望这个实用程序是某人可以下载而不必安装或配置的东西。
是否有一个NoSQL或SQL数据库的建议,我可以在内存中运行,将CSV加载到表中,然后针对该数据运行我的查询?
Redis可以在没有安装的情况下使用吗?还是其他什么?

你确切地需要什么?只是一个基于主键的blob kv存储?JSON处理?查询语言? - radai
数据会有多大? - The Coder
2个回答

7
连接到内嵌(本地)数据库。

示例:

import org.h2.jdbcx.JdbcDataSource;

JdbcDataSource ds = new JdbcDataSource();
ds.setURL("jdbc:h2:˜/test.db");
ds.setUser("sa");
ds.setPassword("sa");
Connection conn = ds.getConnection();

(来源:http://www.h2database.com/javadoc/org/h2/jdbcx/JdbcDataSource.html 改编)

如果您想要一个内存数据库,请将URL更改为类似于 jdbc:h2:mem:test.db 的内容。请参考文档中的“内存数据库”。


@julianwki:不错,这是一个SQL数据库,对吧? - serv-inc
是的,它就是。只需要看看他们的网站,它以“欢迎使用H2,Java SQL数据库”开头。H2的主要特点是....;-) - julianwki
谢谢!我有点犹豫,因为这会留下一个文件,但这是一个可靠的线索。 - mikebz
正因为如上所述,你可以完全在内存中使用它。 - julianwki
@julianwki 老帖子了,但是H2不支持很多SQL语法,所以基本上没什么用。 - undefined
@sledgehammer 不仅是旧帖子,而且是关闭的问题。不管怎样:这个SQL支持是否足够(或者更好地说:曾经足够)很大程度上取决于具体的使用情况。而且,既然已经过去了8年,我希望原帖作者已经解决了他的问题... - undefined

2

我还没有使用过它,但是看看JasDB

从网站中可以得到以下信息。

快速安装指南

JasDB非常容易上手,在一分钟内即可运行。只需下载并运行它,或将其包含在你的项目说明中即可。

  • 通过解压缩下载来安装JasDB
  • 使用start.bat或start.sh启动数据库
  • 打开http://localhost:7050

https://github.com/oberasoftware/jasdb/wiki/Using-In-memory-indexes-and-storage

JasDB can run with full in memory based indexes and record storage. The following configuration needs to be used in that case:

<Storage>
    <RecordWriter provider="inmemory"/>
    <!--<RecordWriter provider="transactional"/>-->
</Storage>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接