我需要Clojure應用程序的嵌入式數據庫。也許這與其他Java應用程序的標準是一樣的,但我寧願得到其他人的意見。我沒有選擇SQLite,因爲這不是純Java,所以獨立應用程序的分發變得更加複雜。似乎要走的路是Apache Derby。還有什麼我應該考慮的?Clojure的嵌入式(純Java)數據庫
回答
毫無疑問,H2
具體設置,
(def demo-settings
{
:classname "org.h2.Driver"
:subprotocol "h2:file"
:subname (str (System/getProperty "user.dir") "/" "demo")
:user "sa"
:password ""
}
)
再平常Clojure的SQL代碼:
(with-connection demo-settings
(create-table :DEMO_TABLE
[:M_LABEL "varchar(120)"]
[:M_DATE "varchar(120)"]
[:M_COMMENT "varchar(32)"]))
+1。 H2是「Clojure of databases」:-) –
對我來說肯定是H2。它在clojureql查詢庫中工作良好。對於使用clojureql的H2有一個必要的解決方法,H2在上次檢查時沒有支持JOIN USING語法,所以必須使用更詳細的JOIN ON等效。 –
我在clojure中使用了一個嵌入式數據庫H2,並使用clojureQL來訪問它。不過要注意,由於數據庫正在處理中,因此您不應將其用於大量記錄(單個表中的「超過10,000個」),因爲數據庫和代碼將共享相同的JVM
你看過FleetDB?這是一個帶有JSON協議的Clojure數據庫和多種語言的客戶端。我懷疑你可以運行它嵌入式而不用太努力。
我認爲Derby是一個優秀的100%Java嵌入式數據庫,對於各種各樣的應用程序非常有用,由活躍的社區進行良好維護,並且有很好的文檔記錄。
如果你不介意NOSQL,neo4j是一個嵌入式圖形數據庫的交易,根據GPL許可。我已經找到了最最新的綁定https://github.com/hgavin/borneo
還有與可插拔後端Clojure的一個有趣的圖形數據庫項目:https://github.com/flatland/jiraph
的還相當年輕,但前途尋找OrientDB可能是值得一看:http://www.orientechnologies.com/orient-db.htm
我使用https://github.com/clojurewerkz/archimedes它允許您稍後指定後端。
另一個需要考慮的選項是鍵值存儲Chronicle Map,因爲它是純Java並提供了一個vanilla Java Map
接口,所以使用它的工作應該非常簡單,使用Clojure。
- 1. Java:嵌入式數據庫
- 2. 帶嵌入式數據庫的Java EE
- 3. Java嵌入式數據庫持久性
- 4. 嵌入式nosql開源java數據庫
- 5. 將Java嵌入式數據庫轉換爲獨立數據庫
- 6. 哪個Neo4j嵌入式Neo4j Clojure庫?
- 7. Delphi嵌入式數據庫
- 8. HSQL嵌入式數據庫
- 9. 嵌入式Firebird數據庫
- 10. 用於大型數據集的嵌入式Java數據庫
- 11. Java嵌入式數據庫(java db/derby)連接管理
- 12. SQLite加入嵌入式數據庫表
- 13. 嵌入式Derby數據庫進入Java jar嗎?
- 14. 插入,刪除(快速)blob嵌入式java數據庫
- 15. berkely xml數據庫作爲來自java的嵌入數據庫
- 16. 停止H2的嵌入式數據庫
- 17. Jetty中的嵌入式數據庫
- 18. 用於ASP.NET的嵌入式數據庫
- 19. Qt中的嵌入式數據庫
- 20. 嵌入在Java數據庫H2編程
- 21. 哪個是最適合java的嵌入式數據庫?
- 22. 的Java DB(嵌入式)連接找不到數據庫
- 23. 有PL/SQL支持和Java API的嵌入式數據庫嗎?
- 24. 處理CSV文件中使用的嵌入式Java數據庫
- 25. Netbeans 7.2.1。帶嵌入式Derby數據庫的Java應用程序
- 26. Java EE應用程序中的嵌入式數據庫
- 27. 在Java中的H2(嵌入式)數據庫 - StackOverflowError
- 28. 併發嵌入式Java數據庫的簡單應用
- 29. Oracle 12.2數據庫中的getName()編碼嵌入式Java機器
- 30. SpringBoot數據庫嵌入式數據庫驅動程序異常JAVA
期待在這一個答案。我使用Java中的HSQLDB比Derby多,但僅用於單元測試。有興趣看看是否有人使用FleetDB,因爲它有一個Clojure客戶端.... –