2010-08-26 49 views

回答

10

Derby高超聲速SQL既可以在存儲和服務器模式下運行。

+3

+1。這應該是答案,而不是需要特定於平臺的庫的sqlite。只需添加一些鏈接: http://db.apache.org/derby/ http://hsqldb.org/ http://www.h2database.com/html/main.html – 2010-08-26 16:55:58

2

如上所述,Derby可以在嵌入模式下運行。它實際上包含在Java 6 SE中,並且稱爲Java DB(儘管它實際上只是Apache Derby)。雖然默認的數據庫工具(ij)不是很好,但使用起來相當簡單。我會使用像SQuirreL SQL來查看數據。

2

除了已經提到的嵌入式關係數據庫外,還有非關係嵌入式Java數據庫,如exist(XML DB)或db4o(對象DB)。

14
H2

什麼?

H2是用Java編寫的關係數據庫管理系統。它可以嵌入到Java應用程序中或以客戶端 - 服務器模式運行。磁盤佔用空間(jar文件的大小)大約爲1 MB。 (維基百科)

3

如果有人尋找一個非常簡單的基於文件的數據庫試試這個年長low-level database這是很容易理解的。這是一個教程,但你可以下載完整的源代碼here

基本上,它使用了一個簡單的RandomAccessFile和標準的Java序列化,這樣你就可以存儲序列化的一切,你不需要在你的對象的任何特殊配置或批註使用它。不需要任何庫。

3

MapDB提供了由磁盤存儲或堆內存支持的併發映射,集合和隊列。它是一個快速且易於使用的嵌入式Java數據庫引擎。

https://github.com/jankotek/MapDB

http://www.mapdb.org/

+0

在鍵值存儲, [Chronicle Map](https://github.com/OpenHFT/Chronicle-Map)和[JetBrains Xodus](http://jetbrains.github.io/xodus/)也是強有力的替代品(參見[性能比較,包括MapDB ](http://jetbrains.github.io/xodus/#benchmarks)) – leventov 2017-03-19 07:37:32