王程程,王麗偉,吳天亭
(吉林省氣象信息網絡中心,吉林長春130062)
氣候整編資料是以氣象學、概率論和數理統計學理論為基礎,把氣象臺站的各種觀測記錄加工統計成平均值、合計值、極端值、頻率和變率等各種氣候標準值。世界氣象組織認為30年長度已經足夠來消除年變化影響,建議各國以30年為標準,為政府部門提供氣候標準值。中國30年氣候整編資料每十年發布一次整編版本,目前在用版本為中國30年(1981年~2010年)氣候整編資料。作為重要氣候資料的一種,不僅在很多天氣、氣候、模式計算等方面使用,也廣泛用于農業、環境、能源利用、交通、旅游以及國防、科研等。本文以正在使用的中國30年(1981年~2010年)氣候整編資料為例,探討整編數據庫的設計。
中國30年(1981年~2010年)地面氣候整編資料,基于中國基本、基準地面氣象觀測站1981年~2010年地面月報信息化文件,按照《氣候資料統計整編方法(1981年~2010)(修改版)》進行整編統計而得。要素包括氣壓、氣溫、空氣濕度、云、降水、天氣現象、能見度、蒸發、積雪、風、地溫、凍土、日照等13個。統計值包括平均值、總量、頻率、平均初終日、初終日間日數等。累年值統計頻次為年、月、旬、候、日,歷年值統計頻次為年、月。統計精度一般精確到小數點后一位。主要數據集包括:
中國地面累年值年值數據集(1981年~2010年);
中國地面累年值月值數據集(1981年~2010年);
中國地面累年值旬值數據集(1981年~2010年);
中國地面累年值候值數據集(1981年~2010年);
中國地面累年值日值數據集(1981年~2010年);
中國地面氣候標準值年值數據集(1981年~2010年);
中國地面氣候標準值月值數據集(1981年~2010年)。
30年(1981年~2010年)地面氣候整編資料的使用查詢,往往會以特定臺站、行政區域和時間為限定查詢條件。使用最多的為單一要素特定統計值指定臺站和時間或時間段的直接查詢,以特定統計值為限定條件的復合查詢和對查詢結果的二次統計也有需求。綜上所述,30年(1981年~2010年)地面氣候整編資料的業務特點可以概括為:
以累年值、歷年值為主,數據總量不是特別龐大;業務數據中要素、統計值繁多,并且存在種類變動的可能性;業務數據為一次性寫入,后期基本沒有數據更新;時間和臺站及行政區域是主要的查詢限定條件。
以中國地面累年值數據集為例,范式化設計的表結構可以為單一表,包括站號、時間及各類要素與統計值的組合,約70余列。其優勢是符合范式化設計及其帶來的便利,查詢效率在數據量不大的前提下有一定保障。其問題通過數據庫表的列擴展實現后續業務統計值的變動,其可擴展的成本和兼容性較低。
本文中采用了反范式化設計的表垂直拆分化列為表的方法進行了業務表的設計,即將屬性較多,一行數據較大的業務表,按不同的屬性拆分到不同的表中。垂直拆分后,每個表的表結構和索引結構一致;每個表僅保存單一的實體數據,如累年各月平均氣溫、累年各旬的平均氣溫、累年各月極端最高氣溫、累年各月極端最高氣溫出現日期是四個獨立的表,表名稱按相關規則命名。這樣設計的主要優勢是將列的維護轉換為對表的維護,提高了數據表的可擴展性和數據庫的易維護性;單一實體數據的查詢效率有所提高;所有業務數據表結構一致,實現了底層數據庫的統一設計,便于后期編程及升級維護;減小了單個表的長度,劣勢是查詢多個要素值需要使用join關聯;以特定統計值為限定條件的復合查詢需要多條查詢語句,聯合多個表進行查詢。
針對業務數據為一次性寫入的特點,業務數據表將建立多重復合索引以提高查詢效率。并且為了滿足對查詢結果的二次統計需求,將建立業務統計值的復合索引。
為與實體數據集相對應,日照相關資料采用真太陽時,其他為北京時。
數據庫邏輯上劃分為元數據表和業務數據表。元數據表包括臺站、業務數據種類,用戶、共享分級、查詢監控信息等元數據信息。業務數據表為整編實體數據集。
通過業務數據種類表,定義不同時效、不同要素、不同統計值與業務數據表的對應。
為了便于以各級行政區劃為條件進行統計查詢,將建立氣象臺站與國標行政區劃代碼的索引,行政區劃代碼一般由6位阿拉伯數字組成,第一、第二位表示省(自治區、直轄市、特別行政區)。第三、第四位表示市(地區、自治州、盟及國家直轄市所屬市轄區和縣的匯總碼)。第五、第六位表示縣(市轄區、縣級市、旗)。
為保證統計精度并提高效率,所有類型的業務數據以0.01為單位轉換為整數進行存儲。
保存相關臺站沿革信息,見表1。

表1 臺站信息表
行政代碼字典,見表2。

表2 行政代碼字典表
定義業務數據庫表的名稱、要素、統計值、時效等信息,見表3。

表3 業務數據種類表
業務表名稱由業務數據種類表定義,其結構完全一致,見表4。

表4 業務類別表
索引:站號、日期;
站號、日期排序;
站號、數值;
日期、數值;
日期排序、數值。
用于記錄數據庫表更新查詢等信息,見表5。

表5 數據記錄表
30年氣候整編資料數據庫設計是氣象信息化的基礎工作,其功能與性能對后續系統的研發有重要影響。本文提出的垂直拆分化列為表的反范式設計方式,是否是較優化的解決方案,需要在實際工作中不斷驗證與完善。