【问题标题】:How should I best store these files?我应该如何最好地存储这些文件?
【发布时间】:2013-06-27 20:38:15
【问题描述】:

我有一组图像文件,它们通常很小,在 5k 到 100k 之间。它们可以是任何大小,超过 50mb,但这非常罕见。当这些图像被放入系统时,它们永远不会被修改。这些图像总共大约有 50 TB。它们目前在 Oracle 中被分块并存储在 BLOB 中,但我们想要改变这一点,因为它需要特殊的软件来提取它们。

有时在大约 10 台服务器中以每秒超过 100 个请求的速度访问这些图像。

我正在考虑使用 Hadoop 或 Cassandra,但我真的不知道哪个最好或如何最好地为它们编制索引。

【问题讨论】:

标签: hadoop nosql cassandra hbase


【解决方案1】:

首先,我建议您也看看 HBase。 Imageshack 的人们正在使用 HBase 来存储他们的图像内容,并且他们能够成功地做到这一点。看到这个thread

回到您最初的问题,您可以将不是很大(~10MB)的图像存储到 Cassandra 中。大文件可以通过 Cassandra(或 HBase)中的指针转储到 HDFS 中。

HTH

【讨论】:

    【解决方案2】:

    如果您要将它们提供给 Internet,我建议您将它们放在 Amazon S3 上。它将为您节省大量操作开销,存储足够便宜,如果需要,您可以在其上放置一个 CDN (CloudFront)。只需为每个图像使用一个随机 ID,将其用作文件名,然后将该文件名保存在您的数据库中(Cassandra 可能是一个不错的选择)。

    最终,这取决于您要如何处理这些图像。您应该更新您的问题并更多地解释您的用例。如果你只存储图片,也许你根本不需要数据库,但如果图片每秒被提供到互联网数百次,你就完全需要别的东西了。

    【讨论】:

      猜你喜欢
      • 2014-04-11
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      相关资源
      最近更新 更多