在大型服务器上存储大量图像

Nas*_*ter 6 database store image large-data cassandra

我想知道在谷歌,脸书等多个服务器上存储大量图像的最佳解决方案是什么.

似乎存储在文件系统中比在数据库中更好但是如何使用像cassandra这样的noSQL DB.

Google/Facebooke是否将相同的图像存储在多个服务器中以实现负载平衡.它是如何工作的?什么是最好的解决方案?

多谢

sdo*_*lgy 4

您所采取的方法没有任何问题。如前所述,有一些警告,但是可能性确实存在,并且许多人和公司正在成功地将文件存储在 Apache Cassandra 中。

  • zjffdu/cassandra-fs是我研究的第一个解决方案。现在,它最后一次开发是在两年前,所以我对它第一次开箱即用时会有点谨慎。 Apache Cassandra目前版本为 1.0.x,1.1.x 版本即将推出。2 年前,那可能是 0.6.x 版本?24 个月内发生了很多变化和改进。
  • Semanico/cassandra-fs a fork ...最后一次接触是在 7 个月前
  • favoritas37/cassandra-fs另一个 fork ...最后一次触及 3 个月前,表明与 Cassandra 1.0.5 分支兼容

这背后的原理是获取一个文件,将其分成一组块并将这些块存储为一行中的列。检索时,拉动每一列,重新组装文件,瞧。

Cassandra 常见问题解答:大文件和博客存储

...大约 64Mb 或更小的文件可以轻松存储在数据库中,而无需将它们分成更小的块...

Cassandra 中的 Lucene 索引

...它的文件被分解为块(其大小有上限),其中每个块(请参阅 FileBlock)存储为相应行中列的值...

您将在 Cassandra 邮件列表和 IRC 频道上获得更多积极的反馈。

最后,这是 2009 年由 Facebook 的人员撰写的,它应该在某种程度上帮助回答您遇到的更多基本问题: Cassandra - 分散式结构化存储系统