gpt4 book ai didi

image - 在三重存储中存储图像二进制文件与仅存储 url 引用

转载 作者:行者123 更新时间:2023-12-04 03:51:34 24 4
gpt4 key购买 nike

我有数以百万计的实体资源存储在三元组存储中,其中 (sparql) 查询可能返回数百(或数千)个(结果将进一步缩小,例如,pivot 查看器,其中实体的缩略图应该显示)。

现在,关于这个主题的大多数答案都建议将图像存储在三重存储之外,并在三重存储内部有一个 uri 引用(例如,foaf:Image)指向资源图像。

如果我将它们存储在三重存储中,我想我会通过对后端存储的一个 sparql 查询(获取实体及其缩略图)获得更好的性能。

另一方面,对于存储在三重存储之外的图像,我将不得不执行许多查询来获取图像。

处理这种情况的最佳做法是什么? (可能适用于实体资源的其他二进制数据属性)。

最佳答案

在这种情况下,最好的办法是单独存储图像。大多数三重存储没有优化的 blob 存储,您可能会通过在数据库中包含二进制数据来降低所有查询的性能。

您仍然能够在单个查询中获取某个请求的所有图像 -- 可能取决于我猜的请求,但它是可能的。我的建议是您对图像的 URL 引用由 Apache 之类的东西提供。这样您就可以直接向客户提供 URL,他们可以以任何最好的方式获取它们;把这想象成浏览器获取使用图像的网页,图像不是 HTML 的一部分,它单独获取它们。

如果需要,您可以处理图像上传,方法是拆分请求并将图像元数据放入三元组存储中,同时将图像的实际位放入 Apache 托管目录中。

这还可以让您设置缓存和其他标准 HTTP 级别的基础设施,以便尽可能快速和轻松地提供图像服务,我认为这最终会给您带来最佳性能水平。

关于image - 在三重存储中存储图像二进制文件与仅存储 url 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14716510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com