我的工作是为静态图像/视频文件设计一个分布式系统。数据的大小约为数十 TB。它主要用于 HTTP 访问(因此不对数据进行处理;或仅进行简单的处理,例如调整大小——但这并不重要,因为它可以直接在应用程序中完成)。
说得更清楚一点,这是一个系统:
- 必须是分布式的(横向规模),因为数据的总规模非常大。
- 主要通过HTTP提供小型静态文件(例如图像、缩略图、短视频)。
- 一般来说,不需要处理数据(因此不需要 MapReduce)
- 可以轻松地设置对数据的 HTTP 访问。
- (应该有)良好的吞吐量。
我正在考虑:
本机网络文件系统:但似乎不可行,因为数据无法放入一台机器。
Hadoop文件系统。我之前使用过 Hadoop mapreduce,但我没有使用 Hadoop 作为 HTTP 请求的静态文件存储库的经验。所以我不知道这是否可能或者是否是推荐的方式。
MogileFS。看起来很有希望,但我觉得使用 MySQL 来管理本地文件(在单台机器上)会产生太多开销。
请问有什么建议吗?