我是CouchDB / Cloudant和CDN(CloudFront)的新手。
我即将使用CouchDB构建一个应用程序作为数据库。
此Web应用程序将处理大量文件。
我知道CouchDB可以将文件作为附件存储在数据库中。但后来我听说利用CDN在世界各地存储和分发文件。
我的问题:
答案 0 :(得分:5)
其中一些问题是基于您的具体实施,但这是一个概括(不按任何特定顺序):
除非他们在全球众多服务器上镜像Cloudant(实际上是CDN本身,只是静态文件),真正的CDN可能会有更好的响应时间,主要取决于你如何使用Cloudant(例如,你可能会得到很好的响应时间,但是如果你在输出它之前将整个文件加载到内存中,你就会失去CDN之战。
CouchDB必须先处理更多数据服务器端才能输出附件。
CloudFront(以及一般的CDN)针对最近的服务器以最快的响应时间进行了优化。
S3只是存储; CloudFront使用该存储并将其分布在许多服务于内容的服务器上,这些服务器基于哪个服务器更靠近请求该内容的用户。
是的,您必须在Cloudant或CDN之间进行选择;一个将它们逐字存储在文件系统中,另一个将它们存储在数据库的文件系统中。
我不知道其中一些的答案,例如,CouchDB如何实际处理低级别的附件存储,也不知道它的最佳实践,但是,这应该给你足够的想法,至少开始考虑哪个最适合您的需求。