blob - 在 Couchbase 中存储大对象 - 最佳实践?

标签 blob couchbase

在我的系统中,用户可以上传非常大的文件,我需要将这些文件存储在 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/

相关文章:

couchbase - 由于以下 n1ql 错误,无法执行查询

security - Couchbase注入(inject)?

ruby-on-rails-3 - Rails-如何使用ActiveRecord添加BLOB列?

javascript - 使用 JavaScript 膨胀一个 blob?

php - 如何在 PHP 中将动态生成的视频缩略图作为 BLOB 上传到 MySQL 数据库中

ruby-on-rails - 如何查找并修复 Rails 和 Couchbase 内存泄漏

couchbase - 如何将不同类型的数据存储在 couchbase 的单个存储桶中

java - 如何使字段成为 BLOB 而不是 TINYBLOB?

oracle - .NETCore Oracle ManagedDataAccess 客户端 : cannot read BLOBs (TTC error)

javascript - couchbase 查询结果值总是返回 null