在我的系统中,用户可以上传非常大的文件,我需要将这些文件存储在 Couchbase 中。我不需要这么大的对象来持久化在内存中,但我希望它们总是从磁盘读取/写入/写入磁盘。这些文件是只读的(从不修改)。用户可以上传、删除、下载它们,但永远不会更新它们。由于某些技术限制,我的系统无法将这些文件存储在文件系统中,因此必须将它们存储到数据库中。
我做了一些研究,发现一篇文章[1] 说在数据库中存储大对象通常是一个坏主意,尤其是对于 Couchbase,但同时提供了一些建议:创建一个具有低 RAM 配额的辅助存储桶,调整值(value)/完全驱逐政策。我担心的是作者提到的 20Mb 的限制。我的文件会比那大得多。
将大文件存储到 Couchbase 而不让它们保留在内存中的最佳方法是什么?是否有可能提高 20Mb 的限制?我应该创建一个具有非常低 RAM 配额和完整驱逐策略的辅助存储桶吗?
[1] http://blog.couchbase.com/2016/january/large-objects-in-a-database
最佳答案
一般情况下,Couchbase 工程师建议您不要在 Couchbase 中存储大文件。相反,您可以将文件存储在某个文件服务器(如 AWS 或 Azure Blob 或其他东西)上,并将有关文件的元数据存储在 Couchbase 中。
关于blob - 在 Couchbase 中存储大对象 - 最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37687081/