Grid模型(网格模型)是表格存储针对多维网格数据设计的模型。表格存储的Grid模型可以帮助您方便地实现多维网格数据的存储、查询和管理。

背景

什么是多维网格数据

多维网格数据是一种科学大数据,在地球科学领域(气象、海洋、地质、地形等)应用非常广泛,且数据规模也越来越大。多维网格数据一般包含以下五个维度:

  • 物理量(或者称为要素,例如温度、湿度、风向、风速等)
  • 时间(例如气象中的预报时效,未来3小时、6小时、9小时等)
  • 高度
  • 经度
  • 纬度

多维网格数据的挑战有哪些

  • 挑战一:数据规模大

    假设一个三维格点空间包含10个不同高度的平面,每个平面为一个2880 x 570的格点,每个格点保存一个4字节数据,那么这三维的数据量为2880 x 570 x 4 x 10,大约64MB。再加上物理量和时间维度,一个数据集的规模可以在几百MB到几GB的规模,而这样的数据集是每天不断产生,所以总数据量可以到百TB以上规模。

  • 挑战二:查询种类丰富、延迟要求高
    相关的科学工作者会有快速浏览数据的需求,例如对于气象预报员会快速的浏览各种相关的数据来进行气象预报,于是对这些数据有着在线查询的需求。在对数据进行查询时,因为一个数据集数据较多,一般不会一次全部查出,而是会按照几种不同的方式来查看其中一部分数据,例如:
    • 查询某个经纬度平面。
    • 查询某个经纬度区域在不同时间范围内的值。
    • 查询某个经纬度区域在不同时间不同高度范围内的值。

Grid模型介绍

  • 优势
    • 数据存储量无上限,解决了海量格点数据的规模问题。
    • 根据多维格点数据的特点,对数据进行了恰当的切分,大大提升了通过各种不同维度条件来查询数据的性能,解决了从海量格点数据进行快速检索的需求。
    • 利用了表格存储的多元索引,增加了数据集的元数据管理功能,可以通过多种组合条件筛选数据集,解决了海量格点数据集的管理问题。
  • 元素
    在Grid模型设计中,一个五维网格数据为一个网格的数据集(GridDataSet)。按照维度顺序,五维分别为:
    维度 描述
    variable 变量,例如如各种物理量
    time 时间维度
    z z轴,一般表示空间高度
    x x轴,一般表示经度或纬度
    y y轴,一般表示经度或纬度
    一个GridDataSet除了包含五维数据,还包含描述这些数据的元数据,例如各个维度的长度等,此外还包含GridDataSetId以及用户自定义的一些属性:
    名称 说明
    GridDataSetId 唯一标记这个GridDataSet的ID。
    Attributes 自定义属性信息,例如该数据的产生时间、数据来源、预报类型等等。

    您可以自定义属性,也可以给某些属性建立索引,建立索引后就可以通过各种组合条件来查询符合条件的数据集。

  • 数据存储方案
    表格存储设计了两张表分别存储数据集的meta和data:
    • meta表示这个数据集的元数据,例如GridDataSetId、各维度长度、自定义属性等。
    • data表示这个数据集里实际的网格数据。data相比meta在数据大小上要大很多。

    数据存储方案

Grid模型实现

具体参见基于TableStore的海量气象格点数据解决方案