【发布时间】:2011-08-12 11:00:40
【问题描述】:
我的应用程序使用数据库(除其他外)存储扫描的文档。这些通常是 JPEG 图像,而且大多只是文本。
我知道建议使用图像文件并从数据库链接到它们,但这样更容易检索它们。该应用程序使用一台服务器和多个客户端,存储文件会浪费大量硬盘空间(开销、扇区分配等),并且需要使用共享文件夹和映射驱动器等。速度慢,安全性较低。
不管怎样,我们的一些客户已经使用我们的应用程序几年了,他们的数据库已经增长到数十 GB,主要是因为这些图像。目前它们存储在 InnoDB 表 (MySQL) 中。
问题是:有没有更好的方法?
数据本身是一次性写入的,通常不会被删除(但理论上是可能的),因此存储速度慢(在合理范围内)、不可更改且访问速度快的数据将是完美的。
我正在考虑制作自己的存储引擎,包括压缩、索引和缓存,每个表只允许两列(bigint、blob)。类似的东西已经存在了吗?
【问题讨论】:
-
我会看看大佬们在做什么。 IE。 Flickr、Tumblr、Facebook(?) 等