在CouchDB / Cloudant与CDN(CloudFront)中存储文件(视频/图像/音乐)?

时间:2010-10-19 15:25:30

标签: amazon-s3 couchdb cdn amazon-cloudfront cloudant

我是CouchDB / Cloudant和CDN(CloudFront)的新手。

我即将使用CouchDB构建一个应用程序作为数据库。

此Web应用程序将处理大量文件。

我知道CouchDB可以将文件作为附件存储在数据库中。但后来我听说利用CDN在世界各地存储和分发文件。

我的问题:

  1. 与CDN(CloudFront)相比,如何在CouchDB中存储文件?
  2. Cloudant的服务与CDN(CloudFront)相比如何?
  3. Google存储空间也是CDN吗?
  4. Amazon CloudFront和S3有什么区别?
  5. 我是否必须选择在CouchDB / Cloudant或CDN中存储文件,还是可以/我应该将它们实际组合在一起?
  6. 使用CouchDB时存储文件的最佳做法是什么?

1 个答案:

答案 0 :(得分:5)

其中一些问题是基于您的具体实施,但这是一个概括(不按任何特定顺序):

  • 除非他们在全球众多服务器上镜像Cloudant(实际上是CDN本身,只是静态文件),真正的CDN可能会有更好的响应时间,主要取决于你如何使用Cloudant(例如,你可能会得到很好的响应时间,但是如果你在输出它之前将整个文件加载到内存中,你就会失去CDN之战。

  • CouchDB必须先处理更多数据服务器端才能输出附件。

  • CloudFront(以及一般的CDN)针对最近的服务器以最快的响应时间进行了优化。

  • S3只是存储; CloudFront使用该存储并将其分布在许多服务于内容的服务器上,这些服务器基于哪个服务器更靠近请求该内容的用户。

  • 是的,您必须在Cloudant或CDN之间进行选择;一个将它们逐字存储在文件系统中,另一个将它们存储在数据库的文件系统中。

我不知道其中一些的答案,例如,CouchDB如何实际处理低级别的附件存储,也不知道它的最佳实践,但是,这应该给你足够的想法,至少开始考虑哪个最适合您的需求。