gpt4 book ai didi

database - 如何使用 VelocyPack (VPack) 在 ArangoDB 中存储图像?

转载 作者:搜寻专家 更新时间:2023-10-30 20:33:39 24 4
gpt4 key购买 nike

在将二进制数据存储在数据库而不是文件系统中有意义的用例中,应该如何使用 ArangoDB 3.3 或更高版本来完成?我预计会使用 Foxx,但如果有其他选择,我愿意接受。

这个主题是 discussed three years prior但从那时起,Arango 对其内部数据存储技术进行了重大改变。特别是,ArangoDB 现在使用 VelocyPack,如下所述:

GitHub - arangodb/velocypack: A fast and compact format for serialization and storage

据说 VPack“涵盖所有 JSON 数据类型,加上日期、整数、二进制数据和任意精度数字。”

先前接受的答案是“在 ArangoDB 中存储二进制数据一直是一项长期存在的功能请求。目前它不可能开箱即用。”

如果我对 VPack 的理解正确,那么现在的答案似乎是不正确的。因此,假定需要一个新问题。

在阅读 ArangoDB 手册中关于 Foxx 中的文件访问之后 here , 再加上阅读 VPack 并且对这些东西没有任何经验,我不确定该采取什么方法。

另一种方法是按照此处所述将图像存储在文件系统上:

Handling Binary Data in Foxx 3.0 - J@ArangoDB

但是,正如 ArangoDB 手册所述,

ArangoDB is primarily a database. In most cases the best place to store data is therefore inside the database, not on the file system.

最佳答案

IMO 的答案仍然是正确的,因为主要的传输格式是 JSON,不直接支持二进制数据。您会在 GitHub 上找到很长的讨论.

您还应该考虑到这两个存储引擎都遵循仅附加原则。对文档的任何更改都会创建一个新的文档修订版,这意味着必须复制大部分数据。如果您在文档中存储大量数据,与小文档相比,对任何属性的更新都需要更长的时间来保存。

因此,您不应在单个文档中存储数兆字节的数据,而应引用文件系统中的文件。

关于database - 如何使用 VelocyPack (VPack) 在 ArangoDB 中存储图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53860280/

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