繁体   English   中英

Azure上的文档Db使用情况

[英]Document Db Usage on Azure

在我们的项目中,我们尝试将大文件(例如图像)存储在我们的nosql数据库中。 在进行一些研究时,我们听说了Azure Cloud Platform中的Document Db nosql数据库。 此外,我们会将数据存储在Azure中。

在Azure平台中存储大文件的最佳方法是什么?文档Db是否足够好?在Azure中使用MongoDb是否合适?

尽管DocumentDB允许您存储文件(它们存储为附件),但我不建议您使用它。 这是我的原因:

  • 在当前版本中,附件的最大大小为2 MB。
  • 您无法真正流式传输附件。 您需要首先阅读应用程序中的附件内容,然后从那里流式传输它。

为了在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM