2010-09-13 167 views
1

我開發管理數百個罐子(保存和加載上飛) 來管理他們,我有兩個選擇J2EE應用程序:將文件另存爲lob或作爲操作系統文件?

  1. 創建一個包含所有的罐子服務器 上的目錄
  2. 保存罐子作爲LOB在Oracle 10g數據庫

能不能幫我選擇最好的解決辦法是什麼?是每個選項的好處是什麼?

感謝您的幫助。

+0

首先有幾個問題:1.什麼是jar文件的平均大小? 2.您多久創建/修改/使用它們? 3.你如何訪問它們? – 2010-09-13 08:01:20

+0

4.您是否期​​望可以有應用程序服務器集羣而不是一個? – Thilo 2010-09-13 08:08:30

+0

1 - 我認爲文件的平均大小不會超過50kb 2 - 罐子我不創建它們,它們沒有修改,但它們從GUI加載並保存以供將來使用... 要使用該罐認爲我會生成ant文件並將jar包括在classpath中。 – user405458 2010-09-13 08:34:47

回答

1

如果有很多罐子可以使用Maven像文件組織按文件夾劃分。將文件存儲在針對大文件I/O優化的文件系統中,並將其路徑/ URL保存在您選擇的數據庫中總是更好。

+1

我也將支持將文件保存到文件系統並將其路徑/ URL保存在數據庫中。在文件系統上保存文件的主要優點是,與數據庫相比,集羣,複製等非常便宜且易於在文件系統上執行,您還可以利用CDN(內容分發網絡)的優勢如果需要,可以高速分發這些文件。 – 2010-09-13 08:34:55

+1

文件系統用於文件,數據庫用於記錄,+1用於將文件存儲在OS文件系統中,並將引用放入數據庫中。如果您需要從多臺機器訪問文件,您還可以考慮使用Amazon S3等解決方案。 – 2010-10-20 20:21:11

0

這些文件的安全性是什麼?

數據庫中的對象可能更容易保護並審覈對數據庫的訪問。

另外,看看SecureFiles/DBFS and deduplication 基本上,如果你存儲了大量的同一個文件的副本,數據庫就會意識到並且只有一個物理副本。相當於符號鏈接。爲SecureFiles的

寫入性能better than a regular filesystem

隨着DBFS你也可以裝入數據庫作爲一個文件系統。這可以使在「常規」文件系統存儲和數據庫存儲之間切換變得非常容易。

+0

不幸的是,這個解決方案是oracle 11g中的一個特性,我有oracle 10g – user405458 2010-09-14 08:26:49

0

涉及數據庫在幾乎所有情況下,即使數據庫被聚集,LOB的速度也會慢得多。開發目錄和文件命名約定並不會那麼困難。如果你願意,你可以使用DB來幫助跟蹤文件,這樣你就不必搜索文件系統本身。