代码之家  ›  专栏  ›  技术社区  ›  Lydon Ch

Nearmap架构

  •  0
  • Lydon Ch  · 技术社区  · 15 年前

    看着 http://www.nearmap.com/ ,

    只是想知道您是否可以估计存储图像需要多少存储空间? (Nearmap_的每月城市照片以3厘米、5厘米、7.5厘米或10厘米的分辨率拍摄)

    什么样的系统/体系结构适合交付这些数据/图像? (假设你不是谷歌,想要从头开始实现,你会怎么做?)

    比如,你会把这些图片存储在Hadoop中,然后使用apache/php/memcache来传送等等吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Mark Robinson    15 年前

    如果不能确定压缩比,就很难估计需要多少空间。简单地说,如果航空照片的房屋压缩得很好,那么它可以显著地改变需要存储的数据量。

    但是,为了数学的利益,我们可以试着找出需要什么。

    所以,如果每个像素测量3cm乘3cm,则覆盖9cm^2。一个快速的维基百科搜索告诉我们,伦敦大约有1700万平方公里,每平方公里有100亿平方厘米,是17亿平方厘米。这意味着我们需要18888888888像素才能以3cm的分辨率覆盖伦敦。以每像素4个字节的速度将其转换成字节大约是7000 GiB。如果压缩率达到50%,那么伦敦的压缩率将降到3500gib。把它乘以你想覆盖的每一个城市,就可以知道你需要什么样的数据存储。

    与收集内容相比,交付内容很简单。由于这是一个令人尴尬的并行解决方案,因此使用适当的前端来将流量路由到正确的节点的无共享集群可能是实现它的最简单方法。这是因为节点不需要保持状态或彼此通信。理想的方法将取决于您推送的数据量,如果您推送的数据足够多,那么实现自己的只响应HTTP GET的Web服务器可能是值得的。

    我不确定分布式FS是否是分发东西的最佳方法,因为您必须花费大量时间尝试从集群中的其他地方提取数据。