[英]Document Db Usage on Azure
在我们的项目中,我们尝试将大文件(例如图像)存储在我们的nosql数据库中。 在进行一些研究时,我们听说了Azure Cloud Platform中的Document Db nosql数据库。 此外,我们会将数据存储在Azure中。
在Azure平台中存储大文件的最佳方法是什么?文档Db是否足够好?在Azure中使用MongoDb是否合适?
尽管DocumentDB允许您存储文件(它们存储为附件),但我不建议您使用它。 这是我的原因:
为了在Azure中存储文件,我强烈建议您使用Blob Storage
。 它仅用于此目的。 您可以在Blob存储中存储的文件的最大大小为1 TB(我认为这对于您来说已经足够了),每个存储帐户最多可以容纳500 TB的数据。 此外,您可以直接将文件流式传输给最终用户。
DocumentDB确实允许您将文件添加到文档中,称为附件 。 使用该功能的优点是附件的存储与文档的生命周期相关:如果删除文档,附件也将被删除。
由于DocDB仍处于预览阶段,因此,一旦服务进入“通用可用性”,您可以期望上述限制有所不同。
您不必将附件存储在DocDB本身中。 DocDB允许您执行此操作,或者简单地将对文件的引用存储为附件的元数据的一部分。 如果您想将文件存储在其他位置,但是需要在DocDB文档中引用其位置,则此功能很有用。 从文档中 :
DocumentDB允许您通过DocumentDB或您自己的远程媒体存储来存储二进制Blob /媒体。 它还允许您使用称为附件的特殊文档来表示媒体的元数据。 DocumentDB中的附件是一个特殊的(JSON)文档,它引用存储在其他位置的媒体/ blob。 附件只是一个特殊的文档,它捕获了存储在远程媒体存储中的媒体的元数据(例如,位置,作者等)。
如果您需要将非常大的文件(例如视频文件或大工程文件)存储到Azure中,则最好的(也是最便宜的)选择可能是将数据存储在Block Blob中。 然后,您可以获取Blob的Uri,并将其作为附件元数据存储在docdb文档中。
存储文件的首选机制是Blob存储,因为它便宜。 请记住,Document DB确实很昂贵,因此,如果要使用Azure表将文件路径存储在Blob存储中,请注意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.