2012-01-23 72 views
4

我想用一個相當小的數據庫創建一個java應用程序。我想安裝的電腦上沒有任何數據庫的東西在他的電腦上(沒有wamp服務器,沒有oracle,沒有...)。我在這種東西相當新的,我不知道,如果它已經被問,但是這就是我要完成安裝數據庫的java應用程序

現在我有幾個問題:

  1. 這是可行?
  2. 我應該使用什麼? Mysql,Oracle,...
  3. 我該怎麼做?

我希望這是足以讓一個像樣的回答。

回答

2
  1. 是的,這是可行的。
  2. 對於Java的使用,我強烈建議Apache Derby因爲
    • 你有能夠嵌入式客戶端 - 服務器之間進行選擇分貝巨大的靈活性,需要改變的數據訪問模式
    • 沒有代碼重構
    • H2HSQLDB:根據的經驗,我已經找到的Apache Derby
      • 要可靠得多/彈性(其他嵌入式數據庫管理系統往往在電源故障時,打破比德比更)
      • 吃更少的RAM
      • 會對更大的部署(大量的行,大量的數據更好的性能[在幾乎沒有真實數據的microbenchmarks H2和HSQLDB實際上可以得分更好])。
      • 要與select查詢特別快,在重多線程環境
    • 在MySQL和PostgreSQL
      • 它實際上是更快,當你沒有CPU /網絡結合的,因爲我已經看到了更好的表現在許多情況下(尤其是對於更大的數據庫 - 比如說10GB),當涉及到文件系統訪問時(MySql和PostgreSql在CPU /網絡利用率方面更有效率,當這些是約束條件時)更有效
    • 通過MySql,Post greSql,Oracle數據庫等
      • 這是出奇的快(通常更快),與非常大的數據塊(比如,30 GB) - 這是一個不會從一個DBMS希望你可以在任何應用程序中嵌入沒有部署/配置
  3. 要開始,請參閱

如果你不需要從網絡客戶端遠程連接到你的數據庫,「embedded database」是你想實現什麼。


火焰阻止免責聲明:以上所有語句根據我自己的親身經歷是,與我和/或文章/我閱讀和值得信賴的可靠基準工作的項目。除非另有說明(事實上,我不會在其他地方聲明:)),我指的是最新開箱即用的非微調安裝。

+0

我應該從下載中選擇什麼? – user999379

+0

版本10.8.2.2 –

+0

我檢查了這個,但他們說我必須安裝德比。但是當我想在別人的電腦上安裝這個,我不想安裝我的應用程序和數據庫,我想在一次安裝中執行此操作 – user999379

1

你或許應該使用嵌入式數據庫像H2HSQLDB。它們只是您在應用程序中放置的簡單庫,但它們提供的是完全相同的JDBC接口。

您可以使用SQL數據庫的全部功能,無需任何外部的依賴。 H2是我個人最喜歡的,它允許你創建內存中以及持久化數據庫,你可以選擇使用套接字連接它,它可以通過默認的8082端口暴露Web界面,等等。在我的開發者機器上,我甚至沒有安裝「正常的」數據庫,我總是使用H2。

+0

所以當我使用H2時,我不必在PC上安裝它,它會自動與項目交付? – user999379

+0

@ user999379:是的,它是一個JAR,就像任何其他庫一樣。 –

1

HSQL或使用SQLite JDBC適配器之一。

1

我推薦使用Derby數據庫。嵌入到java應用程序中非常簡單。

相關問題