【发布时间】:2011-07-16 17:59:33
【问题描述】:
在工作中,我开始研究一个每小时可能生成数十万个大部分是小文件的程序。我的前辈发现处理许多小文件会变得非常缓慢,因此他们采用了一些(在我看来)粗略的方法来缓解这个问题。
所以我问我的老板为什么我们不使用数据库,他给了我他那非常有名的我比你更了解的样子并告诉我显然一个数据库这么大不会有好的表现。
我的问题是,真的是这样吗?在我看来,数据库引擎应该能够比文件系统更好地处理这些数据。以下是我们具备的条件:
- 程序主要是写入数据。查询的频率要低得多,它们的性能也不是很重要。
- 每天可以生成数百万个文件。其中大部分都很小(几千字节),但有些可能很大。
如果您认为我们应该选择数据库解决方案,您认为哪种开源数据库系统效果最好? (如果我认为数据库肯定会更好地工作,那么无论老板说什么,我都会推动改变!)
【问题讨论】:
-
您的老板可以非常确定,数据库开发人员已经优化了数据库插入和检索,至少与您的前辈优化了对数千个小文件的访问一样多。许多用户发誓 MySQL 是一个开源数据库。许多这些用户运行着数十万条记录的数据库。性能比使用裸文件系统要好得多,部分原因是数据库表通常可以保存在内存中(您看,这只是其中一种优化技术)。 显然! :-)
标签: database