考虑到拥有庞大且活跃的用户群的情况,每个用户都希望存储个人资料图片和一些额外的图像或其他工件,是否有任何库或框架可以轻松存储和查询此类数据?
一个参考实现是 Facebook 的Haystack Photo Infrastructure。
以下特征很重要
- 数据存储应该可以很好地扩展:添加资源应该对使用存储的应用程序是透明的(类似的问题有一个参考LinkedIn 的 Voldemort的答案)。
- 能够在存储的数据旁边添加一些元数据。
- 元数据可以以良好的性能进行查询(例如存储在可配置的索引中,如 Lucene/Solr)。
- 基于密钥的快速访问和一些中间缓存层
欢迎任何关于可以轻松集成到 Java Web 应用程序中的库或框架的建议。
更新:感谢您的前几个答案。我必须更详细地了解预期的答案类型。东武的回答,虽然不是java相关的很好(刚刚投了赞成票)。可以通过文件系统访问和数据库的组合来实现解决方案,并在两者之间添加一些缓存层,但我认为这是浪费时间,如果比我更有资格的人已经设计、实现并运行了更好的解决方案。基于具有底层 DB 或 JCR 实现的解决方案的东西非常适合,但实现其他基础设施不是我想要做的。