分布式存储还是云存储

项目最近遇到一个预期中的问题:数据量急剧增加。由于前期的数据都是集中式管理,模型数据存于数据库,地形高程数据和影像存于文件系统,数据增加后现在需要换到分布式系统。为此我们做了一些调研,包括目前主流的 GIS 数据管理方式以及最新技术发展。主流的数据管理以武汉大学为代表,数据存于分布式关系数据库 Oracle 上,构建多级缓存提高数据访问效率。通过与武大遥感实验室沟通,他们也反映目前数据读取仍然不够快,特别是模型较大时延时很明显。另外,也有一些单位将数据通过云平台进行管理,浙大的地理系就做了这样一个系统,非结构化数据(遥感影像)存于 HDFS,而元数据等结构化信息存于 HBase。但是与他们交流说同样存在读取效率不高的问题。究竟采取哪种技术好呢?

上周,百度的一位校友过来与他交换了一些经验,据他所说,百度目前的数据大量使用数据库存储,而且是 NoSQL 方式,基于分布式数据库部署在非常大规模的集群上。NoSQL 具有非常高的读取速度,当然这与他们的应用有关,百度搜索的结果大都是文本,并发量大,单次访问数据量小。对于我们的项目来说,目前并发量不大,但是单次访问的数据量很大,三维模型是否适合 key-value 存储?

这是一个“小马过河”式的过程。每个项目都有其自身的特点,尽管都要过“大数据量”这条河,但是实际水有多深,只有自己趟过才知道。无论是百度、淘宝还是其他做得很好的 IT 公司,都经历了从小数据量到大数据量的过程,在每个阶段也都采用了不同的技术来解决遇到的问题。从淘宝的发展历程看,最开始是 LAMP 的小网站,逐渐规模壮大加入成熟的企业级的中间件,最后这些成熟中间件也解决不了问题了,开始开发自己的应用。所以对于我们来说,用最有效的方法解决了问题才是最重要的,不管是云平台还是分布式系统,能代价最小地解决当前问题就是最好的方案,一味追求新技术,从目前的条件来看可能并不合适。



Questions & Discussion: ✉️ zjuvis@cad.zju.edu.cn