一篇文章告诉你 GIS 存储如何选?

478 阅读5分钟

地理信息系统(Geographic Information System,GIS)又称为“地学信息系统”或“资源与环境信息系统”,是以地理空间数据为基础,采用地理模型分析方法,适时地提供多种空间的和动态的地理信息,在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。

WechatIMG515.jpeg

简单说,没有地理信息系统,大家甚至都没法找到附近的人,也无法搜到附近好吃的餐馆。

国家十四五发展纲要中,要将二维的地理信息逐步向三维进行升级,为国土资源利用、林业、水利、交通、电力、救灾等国计民生的重要行业发展和决策提供高水平支持(例如,通过三维实景建模,可以清晰地模拟出江河水位每抬高一厘米,将对多少区域造成实际威胁,从而精准地实施防洪策略),这将推动整个地理信息行业向着更专业和更高标准发展。

大规模地理信息的描绘和获取,从最初靠测绘人员用脚丈量土地,随后使用卫星或飞机进行遥测,近些年随着无人机、地面高精度、高分辨率拍摄设备的快速发展,地理信息外业数据采集形式更加多元,这带来的是数据量的爆发性增长。中等规模城市单次采集的地理信息数据可达5-600TB,一线城市数据量甚至可以达到 1-2PB,单张高精度图片的大小达到 400MB。

采集到数据之后,需要在内业环境中使用专业软件(例如瞰景的 Smart3D、Bentley 的 ContextCapture 等)对数百 TB 原始数据(包括图片、视频、点云)进行处理(例如空三计算、标注等操作)。这些专业软件都是由大量高性能计算节点组成分布式的集群进行工作,这个集群需要从共享的数据源中获取原始数据。这样的架构是不是意味着,只要将数据实现多机共享,有足够的计算资源,就能快速完成地理信息绘制作业呢?答案当然是否定的。

那么,大规模的地理信息绘制应该选择什么样的存储进行支撑呢?我们从 ArcGIS 安装手册中,找到了对存储的建议和要求:(enterprise.arcgis.com/en/server/l…

选择文件存储设备 (NAS/SAN) 时,实时一致性和性能是需要考虑的两大基本要求。在选择文件存储设备之前,请务必了解服务器目录和配置存储。

  • 实时一致性 选择一种存储设备,一旦操作和相应的写入完成,就可以立即从计算集群中的任何节点读取文件。使用 NFS 时,必须设置相应配置以确保各个节点能够读取一致的数据,并避免使用过期的数据缓存。

  • 性能 选择性能优异的存储设备,才能减少随机 I/O 和小文件带来的影响。不同存储设备在面对不同特点的 I/O 时,读写性能有很大差异。小 I/O 的性能非常重要,因为 ArcGIS Enterprise 的 I/O 操作(例如 ArcGIS 与配置仓库、缓存包切片等进行交互的操作)就是大量的随机小 I/O。这通常意味着已针对大 I/O 顺序读取和写入(通常发生在图像和视频中)进行了优化的设备不适合与 ArcGIS Enterprise 组件一起使用。如果选择的文件存储不能很好地处理小的随机 I/O,用户可能会遇到响应时间显著增加甚至项目绘制失败的情况。可见,存储集群的性能,尤其是随机小 I/O 的性能,是 GIS 软件的一个硬性要求。

在和用户实际生产对接中,我们发现,数据共享存储面临两个重要挑战:

  • 共享存储中小 I/O 读写性能,制约了实景建模等项目的绘制进度。
  • 普通的数据共享存储(例如 NAS 阵列、或普通的分布式文件存储)无法支撑大规模的Smart3D 或 ContextCapture 计算集群进行并发处理。

在一个实际项目中,用户基于原有的一套分布式存储,使用瞰景 Smart3D 进行实景建模,单套存储软件只能支撑 60 台计算节点,无论从存储的使用效率、还是计算效能利用率的角度上看,都难以达到用户的预期。焱融科技工程师,基于同样的服务器,搭建了 YRCloudFile 存储集群,使用 YRCloudFile Windows 客户端,最大支撑到了 600 台计算节点的规模,将原来 3 天完成的绘制工作,缩短到 2 小时完成。

在 GIS 三维实景建模中的应用,是 YRCloudFile 发挥性能和大规模并发的又一个典型应用场景,通过高性能存储 YRCloudFile 作为支撑,将大幅提升地理信息项目的工作效率。