【发布时间】:2020-12-11 01:22:47
【问题描述】:
我目前正在 Microsoft Azure 中构建用于处理图片、文档等的 SQL 数据库。存储数据的最有效/最佳方式是什么?将文件直接上传到数据库,还是从 Azure BLOB 之类的文件中获取文件?我读过很多关于人们将其直接上传到数据库的帖子,但我担心它的效率。
提前感谢您的任何回复。
【问题讨论】:
标签: sql database azure blob azure-blob-storage
我目前正在 Microsoft Azure 中构建用于处理图片、文档等的 SQL 数据库。存储数据的最有效/最佳方式是什么?将文件直接上传到数据库,还是从 Azure BLOB 之类的文件中获取文件?我读过很多关于人们将其直接上传到数据库的帖子,但我担心它的效率。
提前感谢您的任何回复。
【问题讨论】:
标签: sql database azure blob azure-blob-storage
例如,您可以存储在 Azure SQL DB 之类的东西中,但我不推荐它,您绝对应该存储在 Azure 存储 (BLOB) 中,然后在数据库中进行参考存储。 Azure 有多个作为平台服务提供的关系和 NoSQL 数据存储。
我会做两件事,使用像 Cosmos DB 这样的 NoSQL 平台数据存储,使用 SQL Core API 来存储图像的元数据,在这里您可以使用文件名作为分区 ID 进行点读取(这非常快读取,这将是一个非常便宜的选择,具有超快的性能),其次我会使用 Azure CDN 来确保通过 CDN 访问图像,以便它们更快。
Azure CDN 有三个选项; Akamai、Verizon 和微软。您可以从这里测试哪个 CDN 更快:https://cloudharmony.com/speedtest-for-azure
使用上面的 URL,您还可以用来测试哪个 Azure 区域离您更近,以便使用该区域,或者测试您的最终用户并选择离他们更近的区域。
【讨论】:
我会说存储在 Azure BLOB 中是一个更好的主意。假设您有 100 GB 的文件存储在 DB 中。
如果您的总文件大小足够小,那么差别不大。
【讨论】: