2013-06-30 34 views
2

我有一組圖像文件,它們通常非常小,介於5k和100k之間。它們可以是任何尺寸,但不超過50MB,但這是非常罕見的。當這些圖像被放入系統時,它們不會被修改。總共有大約50TB的這些圖像。目前它們被分塊並存儲在Oracle的BLOB中,但我們想要改變它,因爲它需要特殊的軟件來提取它們。我應該如何最好地存儲這些文件?

這些映像有時在大約10臺服務器中以每秒100個請求的速度訪問。

我正在考慮Hadoop或Cassandra,但我真的不知道哪個最好或最好如何索引它們。

+0

http://nbonvin.wordpress.com/2011/03/14/apache-vs-nginx-vs-varnish-vs-gwan/ – Schildmeijer

+0

http://serverfault.com/questions/219620/which-is-該條最佳Web服務器換服務,靜態內容和負載平衡 – Schildmeijer

回答

2

首先我建議你看看HBase。 Imageshack的人們正在使用HBase存儲他們的圖像內容,並且他們能夠成功完成。看到這個thread

回到原來的問題,您可以將不是很大(〜10MB)的圖像存儲到Cassandra中。而大文件可以通過Cassandra(或HBase)中的指針轉儲到HDFS中。

HTH

0

如果你要爲他們服務到互聯網,我建議只是把他們在Amazon S3。它可以爲您節省大量的操作開銷,存儲設備足夠便宜,如果需要,您可以在其上放置CDN(CloudFront)。只需爲每個圖像使用隨機ID,將其用作文件名,然後將該文件名保存在數據庫中(Cassandra可能是個不錯的選擇)。

最後,這取決於你將如何處理圖像。你應該更新你的問題,並更多地解釋你的用例。如果你只存儲圖片,可能根本不需要數據庫,但如果圖片每秒會上傳到互聯網幾百次,那麼你完全需要其他的東西。

相關問題