我有一组图像文件,它们通常非常小,在5k到100k之间。它们可以是任何大小,超过50mb,但这是非常罕见的。当这些图像被放入系统时,它们永远不会被修改。这些图像总容量约为50 TB。它们当前被分块并存储在Oracle中的BLOB中,但我们想要改变这一点,因为它需要特殊的软件来提取它们。
在大约10个服务器中,这些图像有时以每秒超过100个请求的速率被访问。
我在考虑Hadoop或Cassandra,但我真的不知道哪一个是最好的,或者如何最好地索引它们。
发布于 2013-07-01 14:13:25
如果你打算把它们放到互联网上,我建议你直接把它们放到亚马逊S3上。它将为您节省大量的操作开销,存储空间足够便宜,如果需要,您可以在其上添加一个CDN (CloudFront)。只需为每个图像使用一个随机ID,使用该ID作为文件名,并将该文件名保存在数据库中(Cassandra可能是一个很好选择)。
最后,这取决于您将如何处理这些图像。你应该更新你的问题,并更多地解释你的用例。如果你只存储图片,也许你根本不需要数据库,但如果图片每秒要被提供给互联网数百次,你需要完全不同的东西。
https://stackoverflow.com/questions/17392370
复制相似问题