2010-10-19 49 views
1

我是CouchDB/Cloudant和CDN(CloudFront)的新手。在CouchDB/Cloudant與CDN(CloudFront)中存儲文件(視頻/圖像/音樂)?

我即將建立一個使用CouchDB作爲數據庫的應用程序。

此Web應用程序將處理大量文件。

我知道CouchDB可以將文件作爲附件存儲在數據庫中。但後來我聽說利用CDN在世界各地存儲和分發這些文件。

我的問題:

  1. 如何存儲在CouchDB中的文件相比,CDN(CloudFront的)?
  2. Cloudant的服務與CDN(CloudFront)相比如何?
  3. Google存儲也是CDN嗎?
  4. Amazon CloudFront和S3有什麼區別?
  5. 我是否必須選擇將文件存儲在CouchDB/Cloudant或CDN中,還是可以/應該將它們合併在一起?
  6. 使用CouchDB時存儲文件的最佳做法是什麼?

回答

5

其中的一些問題,根據您的具體實現,但這裏有一個概括(不以任何特定的順序):

  • ,除非他們有Cloudant衆多服務器鏡像在世界各地(實際上是CDN本身就是無用的靜態文件),真正的CDN可能會有更好的響應時間,主要取決於你如何使用Cloudant(例如,你可能得到很好的響應時間,但如果你在輸出之前將整個文件加載到內存中它,你正在失去CDN戰鬥)。

  • CouchDB必須在服務器端處理更多的數據才能輸出附件。

  • CloudFront(和一般的CDN)針對最近的服務器進行了最快的響應時間優化。

  • S3只是存儲; CloudFront使用該存儲並將其分發到許多服務於內容的服務器上,這些服務器基於哪個服務器更接近請求該內容的用戶。

  • 是的,你必須在Cloudant或CDN之間進行選擇;一個將它們逐字地存儲在文件系統中,另一個將它們存儲在數據庫中的文件系統中。

我不知道答案的一些,例如,如何CouchDB的實際處於較低的水平處理附件存儲,也不是它的最佳實踐,但是,這應該給你足夠的想法至少開始考慮最適合您的需求。

+0

似乎可以通過CDN傳輸文件(視頻)等。而且這也是我鏈接到其他網站的CDN的好方法,因此我不必自己存儲所有內容。因此,如果我使用CDN,我應該在CouchDB文檔中指向CDN中該文件的鏈接嗎?有這方面的指導嗎? – 2010-10-19 17:01:29