1

我是 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 时存储文件的最佳实践是什么?
4

1 回答 1

5

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

  • 除非他们将 Cloudant 镜像到世界各地的众多服务器上(实际上是 CDN 本身,只是没有静态文件),否则真正的 CDN 可能会有更好的响应时间,这主要取决于您使用 Cloudant 的方式(例如,您可能会变得更好)响应时间,但如果你在输出之前将整个文件加载到内存中,你就输掉了 CDN 之战)。

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

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

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

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

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

于 2010-10-19T15:35:28.760 回答