gpt4 book ai didi

mongodb - 将数亿小图像存储到键/值存储或其他 nosql 数据库是个好主意吗?

转载 作者:可可西里 更新时间:2023-11-01 10:01:34 28 4
gpt4 key购买 nike

我正在开发一个网络系统来处理一组非常大的小图像,大约 1 亿张 50kb ~ 200kb 的图像,在 ReiserFS 上工作。

目前,备份和同步那些大量的小文件非常困难

我的问题是,如果将这些小图像存储到键/值存储或其他 nosql 数据库(例如 GridFS (Mongodb)Tokyo Tyrant)是个好主意, Voldemort 以获得更高的性能并带来更好的备份支持?

最佳答案

首先,看看这个:Storing a millon images in the filesystem .虽然它与备份无关,但值得就手头的主题进行讨论。

是的,大量的小文件很烦人;它们占用 inode,需要空间用于文件名和 c。 (并且备份所有这些元数据需要时间)。基本上听起来您已经弄清楚了文件的服务;如果你在 nginx 上运行它,前面有一个 varnish 之类的,你很难让它变得更快。在其下添加数据库只会使事情变得更复杂;在备份方面也是如此。唉,我建议在就地 FS 备份策略上更加努力。

首先,您是否尝试过使用 -az 开关(分别是归档和压缩)的 rsync?它们往往非常有效,因为它不会一次又一次地传输相同的文件。

或者,我的建议是将 tar + gz 压缩到多个文件中。在伪代码中(假设您将它们放在不同的子文件夹中):

foreach prefix (`ls -1`):
tar -c $prefix | gzip -c -9 | ssh -z destination.example.tld "cat > backup_`date --iso`_$prefix.tar.gz"
end

这将创建许多 .tar.gz 文件,这些文件可以轻松传输而无需太多开销。

关于mongodb - 将数亿小图像存储到键/值存储或其他 nosql 数据库是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4164024/

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