• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      分析數(shù)據(jù)庫(kù)ClickHouse在國(guó)家地球物理臺(tái)網(wǎng)中心的應(yīng)用

      2023-05-30 17:46:31王軍黃經(jīng)國(guó)余丹紀(jì)壽文王方建
      地震研究 2023年2期
      關(guān)鍵詞:主鍵字段數(shù)據(jù)表

      王軍 黃經(jīng)國(guó) 余丹 紀(jì)壽文 王方建

      摘要:面對(duì)日益增長(zhǎng)的地球物理觀測(cè)數(shù)據(jù),傳統(tǒng)的Oracle數(shù)據(jù)庫(kù)已經(jīng)力不從心。根據(jù)地球物理歷史數(shù)據(jù)可大量被讀取的使用特點(diǎn),通過(guò)技術(shù)選型,以具備橫向擴(kuò)展能力的分布式OLAP數(shù)據(jù)庫(kù)ClickHouse作為數(shù)據(jù)底座,重新設(shè)計(jì)適用于ClickHouse的地球物理觀測(cè)數(shù)據(jù)表結(jié)構(gòu)。經(jīng)過(guò)全庫(kù)遷移、增量遷移和數(shù)據(jù)對(duì)比,國(guó)家地球物理臺(tái)網(wǎng)中心的Oracle數(shù)據(jù)庫(kù)中約13 TB的數(shù)據(jù)已經(jīng)遷移到ClickHouse并每日更新。實(shí)際測(cè)試表明:ClickHouse顯著提升數(shù)據(jù)讀寫性能,增強(qiáng)了數(shù)據(jù)統(tǒng)計(jì)查詢能力,并且通過(guò)多副本保證了數(shù)據(jù)庫(kù)的一致性和安全性。

      關(guān)鍵詞:ClickHouse;大數(shù)據(jù);地球物理臺(tái)網(wǎng);觀測(cè)數(shù)據(jù)

      中圖分類號(hào):P315-391.2?? 文獻(xiàn)標(biāo)識(shí)碼:A?? 文章編號(hào):1000-0666(2023)01-0308-07

      doi:10.20015/j.cnki.ISSN1000-0666.2023.0019

      0 引言

      2007年我國(guó)建成“十五”數(shù)字地震觀測(cè)網(wǎng)絡(luò),中國(guó)地震臺(tái)網(wǎng)中心是該網(wǎng)絡(luò)的數(shù)據(jù)匯集與存儲(chǔ)中心,匯集了地下流體、地電、形變、重力、地磁5個(gè)學(xué)科的全國(guó)地球物理觀測(cè)數(shù)據(jù)。這些數(shù)據(jù)都存儲(chǔ)在按“十五”數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的Oracle10g數(shù)據(jù)庫(kù)中(周克昌等,2009)。隨著觀測(cè)儀器的增多和高采樣率儀器的入網(wǎng),目前存儲(chǔ)的數(shù)據(jù)已占用13 TB磁盤空間,如此龐大的數(shù)據(jù)庫(kù)逐漸顯現(xiàn)數(shù)據(jù)訪問(wèn)速度較慢、使用不方便等問(wèn)題,給數(shù)據(jù)的分析應(yīng)用帶來(lái)挑戰(zhàn)。一些研究表明,通過(guò)使用OCI接口(王軍等,2008,2016)、CLOB字段壓縮、并行化讀取等技術(shù)手段進(jìn)行優(yōu)化(王建軍等,2019;劉堅(jiān)等,2019;李井岡等,2008;陳曉琳等,2020),可以在一定程度上提升數(shù)據(jù)庫(kù)的讀寫速度。但受限于Oracle的單節(jié)點(diǎn)I/O瓶頸(盡管Oracle有RAC,但存儲(chǔ)仍是共享的)(谷長(zhǎng)勇等,2011),這些優(yōu)化手段的效果隨著數(shù)據(jù)量的增長(zhǎng)會(huì)逐漸減弱,沒(méi)有從根本上解決性能問(wèn)題。

      ClickHouse是一個(gè)開(kāi)源、免費(fèi)的聯(lián)機(jī)分析處理(On-Line Analytical Processing,簡(jiǎn)稱OLAP)數(shù)據(jù)庫(kù),相對(duì)于傳統(tǒng)的聯(lián)機(jī)事務(wù)處理(On-Line Transaction Processing,簡(jiǎn)稱OLTP)數(shù)據(jù)庫(kù),如Oracle和MySQL,ClickHonse具有按列存儲(chǔ)、使用預(yù)計(jì)算加速聚合函數(shù)查詢、自帶數(shù)據(jù)壓縮、向量化引擎、可以在多個(gè)服務(wù)器上分布式處理等優(yōu)點(diǎn)(朱凱,2020);同時(shí),也比行式數(shù)據(jù)庫(kù)具有更高的性能(Wickramasekara et al,2020;Dwivedi et al,2012)。此外,ClickHouse還具備橫向擴(kuò)展能力,可以通過(guò)向集群增加新的節(jié)點(diǎn)來(lái)提升數(shù)據(jù)處理能力。ClickHouse的缺點(diǎn)是不支持事務(wù)、不支持嚴(yán)格意義上的數(shù)據(jù)刪除和更新,但在實(shí)際應(yīng)用中影響不大或者可以采用一些技術(shù)手段加以克服。ClickHouse集群支持?jǐn)?shù)據(jù)自動(dòng)復(fù)制,支持?jǐn)?shù)據(jù)的完整性和最終一致性;集群中的節(jié)點(diǎn)沒(méi)有主從之分,不會(huì)因?yàn)橹鞣?wù)器故障導(dǎo)致服務(wù)不可用。相對(duì)于Tdengine和IOTDB等分布式時(shí)序數(shù)據(jù)庫(kù)(王煥濤等,2021),ClickHouse的數(shù)據(jù)類型更豐富,對(duì)SQL(結(jié)構(gòu)化查詢語(yǔ)言,Structured Query Language)語(yǔ)句的支持更廣泛,系統(tǒng)也更成熟和穩(wěn)定(李亞臣,2021)。經(jīng)過(guò)選型對(duì)比,本文使用ClickHouse作為分析數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì),并將原始數(shù)據(jù)和預(yù)處理數(shù)據(jù)向ClickHouse進(jìn)行遷移,最后對(duì)Oracle數(shù)據(jù)庫(kù)和ClickHouse數(shù)據(jù)庫(kù)進(jìn)行對(duì)比研究。

      1 數(shù)據(jù)庫(kù)設(shè)計(jì)

      1.1 基礎(chǔ)信息

      原Oracle數(shù)據(jù)庫(kù)中保存著國(guó)家地球物理臺(tái)網(wǎng)的基礎(chǔ)信息,比如臺(tái)站、井泉、洞體、觀測(cè)室等,這些信息的完整性要求較高,而且含有多達(dá)上百兆字節(jié)的BLOB(Binary Large Object,二進(jìn)制大對(duì)象)字段,如臺(tái)站建設(shè)報(bào)告,仍然需要存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中。考慮到ClickHouse自帶訪問(wèn)MySQL數(shù)據(jù)庫(kù)的引擎,可以實(shí)現(xiàn)ClickHouse和MySQL的表的跨庫(kù)連接,所以把基礎(chǔ)信息遷移到MySQL中,表結(jié)構(gòu)仍然保持不變。

      1.2“十五”觀測(cè)數(shù)據(jù)表結(jié)構(gòu)

      “十五”O(jiān)racle數(shù)據(jù)庫(kù)中,觀測(cè)數(shù)據(jù)按測(cè)項(xiàng)、數(shù)據(jù)類型、采樣率進(jìn)行分表設(shè)計(jì)存儲(chǔ),表結(jié)構(gòu)類似。以水位數(shù)據(jù)為例,原始數(shù)據(jù)分鐘采樣表名為QZ_411_DYS_01,其中“411”是水位的測(cè)項(xiàng)代碼,“DYS”為原始數(shù)據(jù),“01”為采樣率,結(jié)構(gòu)設(shè)計(jì)見(jiàn)表1。存儲(chǔ)時(shí)序觀測(cè)數(shù)據(jù)的字段是obsvalue,類型是CLOB(Character Large Object,字符大對(duì)象),內(nèi)容是空格分隔的以ASCII碼表示的字符串?dāng)?shù)據(jù)。

      1.3 ClickHouse的特性與表結(jié)構(gòu)設(shè)計(jì)

      (1)本地表和分布式表

      ClickHouse本地表是存儲(chǔ)在本地磁盤上的,對(duì)它的操作只影響本節(jié)點(diǎn)上的數(shù)據(jù)。分布式表可以理解為集群所有分片上的本地表的合并視圖,對(duì)分布式表的操作會(huì)根據(jù)分片規(guī)則映射到相應(yīng)的分片節(jié)點(diǎn)上。分片規(guī)則必須是以數(shù)值類型定義,實(shí)際應(yīng)用中使用數(shù)據(jù)的年份進(jìn)行分片,即將相同年的數(shù)據(jù)放置在同一分片上。

      (2)日期類型

      ClickHouse的日期字段是DateTime類型,與標(biāo)準(zhǔn)的Unix時(shí)間戳一樣,不能表示1970年1月1日以前的日期。據(jù)了解,Tdengine、IOTDB等數(shù)據(jù)庫(kù)也不支持。由于Oracle中有1970年前的數(shù)據(jù),所以實(shí)際使用64位的整型數(shù)來(lái)存儲(chǔ)時(shí)間戳,含義與Unix時(shí)間戳一致,代表1970年1月1日0時(shí)以來(lái)的毫秒數(shù)(負(fù)數(shù)為1970年前),與Java語(yǔ)言中Date類型的getTime方法得到的時(shí)間戳相同。

      (3)主鍵

      ClickHouse的主鍵與傳統(tǒng)意義上的主鍵概念不同,它的主鍵主要用來(lái)建立索引查找數(shù)據(jù)更快,但是不具備唯一性約束,即相同主鍵的數(shù)據(jù)可以插入到同張表中。

      (4)表引擎

      ClickHouse最廣泛使用的表引擎是MergeTree家族,它有很多分支。比如ReplicatedMergeTree是指集群中的表,它可以自動(dòng)在副本之間同步數(shù)據(jù)。ClickHouse不具備真正的更新和刪除功能,它的刪除和更新需通過(guò)后臺(tái)的合并來(lái)間接實(shí)現(xiàn),合并的時(shí)間不可預(yù)知。而在實(shí)際應(yīng)用中,原始和預(yù)處理數(shù)據(jù)都有少量的更新需求,使用ReplacingMergeTree引擎引入一個(gè)版本列可以保證最終數(shù)據(jù)表里相同主鍵的數(shù)據(jù)只保留1條??紤]到多副本的數(shù)據(jù)安全性,最終所有的本地表都用ReplicatedReplacingMergeTree表引擎來(lái)建立。

      為保持與原Oracle數(shù)據(jù)庫(kù)設(shè)計(jì)的兼容,Oracle數(shù)據(jù)表中所有字段都保留,obsvalue字段則被拆分為時(shí)序數(shù)據(jù)格式單獨(dú)建表存放。為利用ClickHouse的高速查詢優(yōu)勢(shì),將Oracle數(shù)據(jù)庫(kù)中所有原始和預(yù)處理記錄合并到一張表中,但不包含obsvalue字段。ClickHouse數(shù)據(jù)記錄表結(jié)構(gòu)見(jiàn)表2,分布式表與本地表字段相同。

      (5)時(shí)序數(shù)據(jù)表

      原Oracle中的obsvalue字段存儲(chǔ)的是以空格分隔的字符串?dāng)?shù)據(jù)塊。在ClickHouse中,該字段需要拆分成單個(gè)的數(shù)據(jù)按對(duì)應(yīng)的時(shí)間戳,并以每行一個(gè)數(shù)據(jù)方式存儲(chǔ)。為提高存儲(chǔ)和查詢效率,時(shí)序數(shù)據(jù)按測(cè)點(diǎn)、數(shù)據(jù)類型(原始、預(yù)處理或產(chǎn)品)和采樣率建表。為了保證數(shù)據(jù)遷移后的精度,時(shí)序數(shù)據(jù)用Decimal類型保存。以中國(guó)地震局地質(zhì)研究所白浮臺(tái)(代碼03002)測(cè)點(diǎn)3氣象三要素觀測(cè)儀原始分鐘采樣數(shù)據(jù)為例,本地表名為DYS_01_03002_3,分布式表名為DYS_01_03002_3_ALL。本地表結(jié)構(gòu)見(jiàn)表3,分布式表字段與本地表相同。

      (6)產(chǎn)品數(shù)據(jù)表

      產(chǎn)品數(shù)據(jù)表包括均值類產(chǎn)品數(shù)據(jù)和學(xué)科專業(yè)產(chǎn)品數(shù)據(jù)。均值類產(chǎn)品數(shù)據(jù)主要由預(yù)處理軟件產(chǎn)生,在Oracle中的表結(jié)構(gòu)比原始和預(yù)處理表僅缺少processingflag字段,所以均值產(chǎn)品數(shù)據(jù)在ClickHouse中可與原始和預(yù)處理數(shù)據(jù)一樣,將均值產(chǎn)品的觀測(cè)數(shù)據(jù)序列拆分到時(shí)序表(表3),將記錄中其它信息存放在數(shù)據(jù)記錄表(表2)中,用數(shù)據(jù)類型字段對(duì)均值產(chǎn)品類型進(jìn)行區(qū)分。學(xué)科專業(yè)產(chǎn)品數(shù)據(jù)在Oralce中的表結(jié)構(gòu)與原始或預(yù)處理數(shù)據(jù)差異很大,需要根據(jù)各自特點(diǎn)分別設(shè)計(jì),此處不再贅述。

      (7)日志表

      日志表包括儀器運(yùn)行日志表和觀測(cè)日志表,這兩類表在Oracle中的表結(jié)構(gòu)按測(cè)項(xiàng)進(jìn)行分表。因?yàn)槿罩颈砻啃袛?shù)據(jù)量較小,而且不含有LOB字段,所以在ClickHouse中可以將各測(cè)項(xiàng)合并到1張表。儀器運(yùn)行日志表結(jié)構(gòu)見(jiàn)表4,觀測(cè)日志表結(jié)構(gòu)見(jiàn)表5。

      2 歷史數(shù)據(jù)遷移

      考慮到Oracle中最常用的是原始數(shù)據(jù)和預(yù)處理數(shù)據(jù),而且表結(jié)構(gòu)基本相同,所以先將原始和預(yù)處理數(shù)據(jù)遷移到ClickHouse數(shù)據(jù)庫(kù)。

      2.1 數(shù)據(jù)目錄

      在進(jìn)行數(shù)據(jù)遷移之前,需要掌握Oracle中的數(shù)據(jù)量、數(shù)據(jù)分布等。由于Oracle中的表按照數(shù)據(jù)類型、測(cè)項(xiàng)代碼、采樣率進(jìn)行分表,所以通過(guò)編寫PL/SQL過(guò)程來(lái)掃描數(shù)據(jù)庫(kù)中所有儀器的數(shù)據(jù)目錄并保存到Oracle中,數(shù)據(jù)目錄表結(jié)構(gòu)見(jiàn)表6。掃描過(guò)程為:①讀取數(shù)據(jù)庫(kù)中所有的原始和預(yù)處理數(shù)據(jù)表名。②對(duì)每張?jiān)蓟蝾A(yù)處理表,按照臺(tái)站代碼、測(cè)點(diǎn)編碼、測(cè)項(xiàng)分量代碼進(jìn)行分組,查詢每個(gè)測(cè)項(xiàng)分量的數(shù)據(jù)起止時(shí)間、行數(shù)、字節(jié)數(shù)、時(shí)間戳最大值,將這些信息保存到數(shù)據(jù)目錄表。

      2.2 數(shù)據(jù)遷移

      數(shù)據(jù)遷移分為兩個(gè)階段:第一階段一次性遷移全量數(shù)據(jù);第二階段每天遷移增量數(shù)據(jù)。遷移的基本單位是ClickHouse中的時(shí)序數(shù)據(jù)表,即某測(cè)點(diǎn)的某采樣率的原始或預(yù)處理數(shù)據(jù),采用多線程方式并行提高遷移速度。

      由于“九五”向“十五”并網(wǎng)等歷史原因,Oracle數(shù)據(jù)庫(kù)中的部分?jǐn)?shù)據(jù)時(shí)間戳字段為0,所以要進(jìn)行一次全表數(shù)據(jù)遷移,完成全量數(shù)據(jù)遷移后,再針對(duì)每天Oracle增加的數(shù)據(jù)定時(shí)進(jìn)行復(fù)制。全量數(shù)據(jù)遷移和增量數(shù)據(jù)遷移的流程相似,主要區(qū)別在于是否對(duì)數(shù)據(jù)按時(shí)間戳進(jìn)行篩選。增量數(shù)據(jù)遷移的流程見(jiàn)圖1。

      2.3 數(shù)據(jù)對(duì)比

      為保證數(shù)據(jù)遷移的準(zhǔn)確性,筆者編寫程序?qū)racle與ClickHouse的數(shù)據(jù)進(jìn)行對(duì)比。如果有錯(cuò)誤就將信息輸出到日志文件,排查原因后重新遷移。分析得出,除程序自身的BUG外,大多為數(shù)據(jù)格式或數(shù)據(jù)精度造成的錯(cuò)誤。

      3 應(yīng)用效果

      本次共遷移Oracle中265張表共5 355個(gè)測(cè)點(diǎn)的原始和預(yù)處理數(shù)據(jù),并從以下幾個(gè)方面將OLTP數(shù)據(jù)庫(kù)和ClickHouse數(shù)據(jù)庫(kù)進(jìn)行對(duì)比。

      3.1 磁盤占用

      遷移前Oracle占用約13 TB磁盤空間,遷移后ClickHouse單個(gè)副本占用約4 TB節(jié)的三分之二空間。原因是Oracle數(shù)據(jù)庫(kù)同一觀測(cè)對(duì)象的時(shí)序數(shù)據(jù)重復(fù)部分較多,而ClickHouse是按列存儲(chǔ)并自帶數(shù)據(jù)壓縮。

      3.2 服務(wù)器配置

      ClickHouse是分布式分析數(shù)據(jù)庫(kù),根據(jù)實(shí)際資源和數(shù)據(jù)安全需求,在中國(guó)地震臺(tái)網(wǎng)中心使用4臺(tái)服務(wù)器來(lái)部署ClickHouse,即2個(gè)分片2個(gè)副本的節(jié)點(diǎn)模式,節(jié)點(diǎn)服務(wù)器配置見(jiàn)表7。Oracle服務(wù)器為單節(jié)點(diǎn)。為減少網(wǎng)絡(luò)傳輸開(kāi)銷,測(cè)試程序在服務(wù)器上運(yùn)行,服務(wù)器配置與ClickHouse節(jié)點(diǎn)相同。

      3.3 時(shí)序數(shù)據(jù)讀取

      以地磁、形變、流體3個(gè)學(xué)科的各1套儀器對(duì)Oracle和ClickHouse時(shí)序數(shù)據(jù)讀取進(jìn)行對(duì)比,結(jié)果見(jiàn)表8。由表8可知,ClickHouse讀取速度為Ovalle的5~6倍;對(duì)于相同的查詢?nèi)蝿?wù),ClickHouse的CPU占用率較Oracle稍高,IO等待率較Oracle低,內(nèi)存占用兩者相當(dāng)??梢?jiàn),數(shù)據(jù)量越大,ClickHouse的性能優(yōu)勢(shì)越明顯。

      3.4 表的連接

      ClickHouse支持表連接查詢,并提供ALL、ANY、ASOF 3種連接策略??紤]這樣的需求,查詢所有儀器的測(cè)項(xiàng)分量名稱、儀器名稱、臺(tái)站名稱和機(jī)構(gòu)名稱。該查詢需要連接臺(tái)站信息表、機(jī)構(gòu)信息表、儀器信息表、臺(tái)站儀器運(yùn)行信息表、臺(tái)站測(cè)項(xiàng)分量信息表、測(cè)項(xiàng)分量信息表。該查詢Oracle用時(shí)約350 ms,ClickHouse用時(shí)約280 ms。此外,對(duì)表連接查詢性能要求較高的場(chǎng)合,ClickHouse可以使用Join和Dictionary表引擎將數(shù)據(jù)常駐內(nèi)存來(lái)加速查詢。

      3.5 其它查詢

      有些查詢需求,如查詢天津市2021年的數(shù)據(jù)條數(shù),在Oracle中需要遍歷所有測(cè)項(xiàng)相關(guān)的數(shù)據(jù)表,而在ClickHouse中僅需要一條SQL語(yǔ)句就可以完成;如查詢某時(shí)間段的數(shù)據(jù)均值,ClickHouse采用預(yù)計(jì)算技術(shù)因而可以毫秒級(jí)返回結(jié)果,而Oracle由于數(shù)據(jù)存儲(chǔ)在CLOB,無(wú)法完成此類查詢。

      3.6 數(shù)據(jù)的更新問(wèn)題

      對(duì)Oracle這樣的OLTP系統(tǒng),事務(wù)完成就標(biāo)志著數(shù)據(jù)達(dá)到一致性狀態(tài)。而ClickHouse是后臺(tái)合并實(shí)現(xiàn)更新,合并時(shí)間不可預(yù)知。在合并完成前讀取數(shù)據(jù)有可能出現(xiàn)同一主鍵對(duì)應(yīng)多條記錄的情況,對(duì)此有兩種處理方式:①表名后使用final關(guān)鍵字表示要讀取最終一致的狀態(tài),即合并后的狀態(tài),但這會(huì)帶來(lái)較大的時(shí)間開(kāi)銷。②應(yīng)用程序讀取時(shí)序數(shù)據(jù)時(shí)按數(shù)據(jù)時(shí)間戳和插入時(shí)間這兩列進(jìn)行排序,將數(shù)據(jù)按時(shí)間戳對(duì)齊放到內(nèi)存時(shí),如果存在同一主鍵多條記錄的情況,程序會(huì)使用最新的數(shù)據(jù)覆蓋掉之前的數(shù)據(jù),從而保證內(nèi)存的數(shù)據(jù)是最新的。從實(shí)際讀取測(cè)試的效果來(lái)看,與不加排序相比,這種方式帶來(lái)的時(shí)間開(kāi)銷可以忽略。使用final關(guān)鍵字的開(kāi)銷較大,大數(shù)據(jù)量時(shí)更為顯著,讀取時(shí)序數(shù)據(jù)時(shí)推薦使用第二種方法來(lái)解決最新數(shù)據(jù)問(wèn)題。

      3.7 數(shù)據(jù)的刪除問(wèn)題

      ClickHouse沒(méi)有事務(wù)的概念,不支持真正意義上的刪除,其刪除操作也是通過(guò)后臺(tái)合并實(shí)現(xiàn),這個(gè)過(guò)程是異步的。在業(yè)務(wù)場(chǎng)景中,預(yù)處理軟件刪除數(shù)據(jù)時(shí)可以通過(guò)將數(shù)據(jù)置空的方式,將刪除操作轉(zhuǎn)化為更新操作,由Replacing表引擎實(shí)現(xiàn)版本更新。極少數(shù)場(chǎng)景下,如果確實(shí)需要?jiǎng)h除數(shù)據(jù),可以手動(dòng)觸發(fā)強(qiáng)制合并數(shù)據(jù)涉及的分區(qū),總體延時(shí)比OLTP系統(tǒng)高,但在可接受的范圍內(nèi)。

      3.8 實(shí)時(shí)數(shù)據(jù)支持

      近年來(lái)對(duì)地球物理實(shí)時(shí)數(shù)據(jù)的應(yīng)用需求逐漸增加,而現(xiàn)有Oracle原始數(shù)據(jù)表每行只能按塊存儲(chǔ)1 d的數(shù)據(jù),不能支持實(shí)時(shí)數(shù)據(jù)的持久化。在ClickHouse中可以將所有儀器的實(shí)時(shí)數(shù)據(jù)按行存儲(chǔ)到一張表,充分發(fā)揮ClickHouse每秒百萬(wàn)行的讀寫速度優(yōu)勢(shì)。還可以設(shè)置TTL(time to live)自動(dòng)刪除過(guò)期實(shí)時(shí)數(shù)據(jù)。

      此外,遷移后的ClickHouse集群經(jīng)歷過(guò)一次磁盤故障的考驗(yàn),體現(xiàn)出良好的健壯性。

      4 結(jié)論

      本文使用ClickHouse作為國(guó)家地球物理臺(tái)網(wǎng)中心的應(yīng)用數(shù)據(jù)庫(kù),按照地球物理臺(tái)網(wǎng)數(shù)據(jù)的使用特點(diǎn),重新設(shè)計(jì)適合于ClickHouse的數(shù)據(jù)表結(jié)構(gòu),并將Oracle數(shù)據(jù)庫(kù)的265張表(5 355個(gè)測(cè)點(diǎn))的原始和預(yù)處理數(shù)據(jù)遷移到ClickHouse,主要得出以下結(jié)論:

      (1)數(shù)據(jù)遷移后,大數(shù)據(jù)量場(chǎng)景下時(shí)序數(shù)據(jù)讀取速度提升約5~10倍,占用磁盤空間僅為Oracle的三分之一,同時(shí)通過(guò)多副本增強(qiáng)了系統(tǒng)的高可用性和數(shù)據(jù)安全性。

      (2)ClickHouse支持常用的表連接策略,連接性能與Oracle相當(dāng),并且支持與MySQL數(shù)據(jù)庫(kù)的跨庫(kù)連接。

      (3)ClickHouse的數(shù)據(jù)更新問(wèn)題可以使用Replacing表引擎以及數(shù)據(jù)讀取時(shí)在應(yīng)用端對(duì)齊的方法解決。

      由于時(shí)序數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)發(fā)生較大變化,地球物理數(shù)據(jù)處理和分析軟件也需要做出相應(yīng)修改,ClickHouse的應(yīng)用還有很多工作要完成。ClickHouse可以跟其他大數(shù)據(jù)組件如Kafka、Pulsar等消息中間件,以及Spark、Flink等計(jì)算框架緊密集成,未來(lái)可以建設(shè)大數(shù)據(jù)架構(gòu)下的流批一體化地球物理數(shù)據(jù)處理平臺(tái)。

      參考文獻(xiàn):

      陳曉琳,李盛樂(lè),劉堅(jiān),等.2020.分布式數(shù)據(jù)庫(kù)Greenplum在地震前兆數(shù)據(jù)存儲(chǔ)中的應(yīng)用[J].地震研究,43(2):412-416.

      谷長(zhǎng)勇,吳逸云,單永紅,等.2011.Oracle 11g權(quán)威指南(2版)[M].北京:電子工業(yè)出版社.

      李井岡,姚運(yùn)生,李勝樂(lè),等.2008.基于Oracle 的地震前兆數(shù)據(jù)庫(kù)表結(jié)構(gòu)對(duì)比[J].計(jì)算機(jī)工程與設(shè)計(jì),29(1):243-245.

      李亞臣.2021.基于ClickHouse的用戶事件分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息與電腦:33(9):4.

      劉堅(jiān),李勝樂(lè),王子影.2009.基于LZMA的數(shù)據(jù)庫(kù)壓縮存儲(chǔ)應(yīng)用研究[J].大地測(cè)量與地球動(dòng)力學(xué),29(6):144-147.

      王煥濤,周念,陳俊彥.2021.基于時(shí)序數(shù)據(jù)庫(kù)的氫能源動(dòng)力監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)與軟件工程,(16):2.

      王建軍,趙銀剛,劉高川.2019.地震前兆Oracle LOB數(shù)據(jù)壓縮與交換及其訪問(wèn)效率研究[J].地震研究,42(3):447-453.

      王軍,方召盟,何案華,等.2016.電擾動(dòng)儀數(shù)據(jù)處理軟件的設(shè)計(jì)和實(shí)現(xiàn)[J].震災(zāi)防御技術(shù),11(3):667-673.

      王軍,趙剛,何案華,等.2008.通過(guò)C++類封裝Oracle調(diào)用接口實(shí)現(xiàn)地?zé)釘?shù)據(jù)庫(kù)的快速建庫(kù)與訪問(wèn)[J].地震研究,31(3):293-297.

      周克昌,蔣春花,紀(jì)壽文,等.2010.地震前兆數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)[J].地震,30(2):143-151.

      朱凱.2020.ClickHouse原理解析與應(yīng)用實(shí)踐[M].北京:機(jī)械工業(yè)出版社.

      Dwivedi A K,Lamba C S,Shukla S.2012.Performance analysis of column oriented database vs row oriented database[J].International Journal of Computer Applications,50(14):31-34.

      Wickramasekara A,Liyanage P P,Kumarasinghe U.2020.A comparative study between the capabilities of MySQL and ClickHouse in low-performance Linux environment[C]//University of Colombo School of Computing.Conference Proceedings of the 20th International Conference on Advances in ICT for Emerging Regions(ICTer)-2020.Sri Lanka.

      Application of the Analytical Database ClickHouse in the NationalGeophysical Observatory Network Center

      WANG Jun,HUANG Jingguo,YU Dan,JI Shouwen,WANG Fangjian

      (China Earthquake Networks Center,Beijing 100045,China)

      Abstract

      Traditional Oracle database has been unable to cope with the rapidly-growing seismic geophysical observation data.To meet the need of mass data processing of the historical geophysical data from the National Geophysical Observatory Network Center,through technology selection,the distributed OLAP database ClickHouse with horizontal expansion capability is used to redesign the structure of the data table which is suitable for ClickHouse.By full database migration,incremental migration,and data comparison,about 13 TB data in the Oracle database have been migrated to the ClickHouse database and have been keeping daily updating.Tests show that in ClickHouse,the performance of data reading and writing is significantly improved,the capability of data query is enhanced,and the consistency and security of the database is guaranteed through multiple copies.

      Keywords:ClickHouse;big data;geophysical networks;observation data

      JOURNAL OF SEISMOLOGICAL RESEARCH

      Vol.46? No.2? Series No.206?? April,2023

      CONTENTS

      Discussion on the Importance of the Features for the Judgement of Earthquake Sequence Types Applicable to Machine LearningJIANG Haikun,WANG Jinhong(172)

      Research Progress in Field of Earthquake Prediction by Machine Learning Based on Seismic DataWANG Jinhong,JIANG Haikun(187)

      Analysis of the Present-day Activity of the Qingchuan Fault and Its VicinityWU Weiwei,LIANG Mingjian,LONG Feng,SU Jinrong,CHEN Xuefen(203)

      Comparative Analysis of the Activity Characteristics and the Aftershock Forecasting Efficiency of Two Earthquake Sequencesin LushanBI Jinmeng,SONG Cheng,MA Yong(215)

      Determination of Three Parameters of the 2021 Maduo MW7.4 Earthquake Using High-rate BDS/GPSZHANG Huai,NIE Zhaosheng,LIU Gang,XIONG Wei,NI Yipeng,HUANG Jun(225)

      Retrospective Study on the Forecast of the 2021 Maduo MS7.4 Earthquake by PI MethodSONG Cheng,ZHANG Yongxian,ZHOU Shaohui,BI Jinmeng,XU Xiaoyuan(236)

      Analysis of Soil Hydrogen Anomaly in the Huoshan Seismic Window AreaFANG Zhen,HUANG Xianliang,TAO Yuechao,LI Shenliang, ?TAO Fangyu,YANG Yuanyuan,ZHU Houlin,LU Dongliang(244)

      Characteristics of 3D Velocity Structure in the Arcuate Tectonic Belt of Southeastern YunnanCAO Ying,F(xiàn)U Hong,QIAN Jiawei(260)

      The Holocene Activity Evidence of Paleo-earthquakes in the Northwestern Segment of the Deqin-Zhongdian FaultCHANG Yuqiao,LI Xi,ZHOU Qingyun,BAI Xianfu,RAN Hua,LUO Weidong(270)

      Seismic Resilience Analysis of Water Distribution Networks with Multi-components and Resilience Improvement StrategiesLIU Wei,WU Qianxiang(279)

      Seismic Resilience Evaluation of the Traffic System Based on the Dynamic Bayesian NetworkCHEN Yiqin,HUANG Shuping(290)

      Study on Intensity Parameters of the Monopole Communication Tower Subjected to the Pulse-like Ground MotionLI Bo,LI Xiaofei,WANG Zhijiang(299)

      Landslide Recognition After the 2021 Haiti MS7.2 Earthquake Based on the Improved YOLOv4 AlgorithmFU Rao,HE Jing,LIU Gang(307)

      Application of the Analytical Database ClickHouse in the National Geophysical Observatory Network CenterWANG Jun,HUANG Jingguo,YU Dan,JI Shouwen,WANG Fangjian(314)

      收稿日期:2022-02-15.

      基金項(xiàng)目:公共安全信息化工程(中國(guó)地震局建設(shè)項(xiàng)目)(12151013401).

      第一作者簡(jiǎn)介:王 軍(1979-),高級(jí)工程師,主要從事地震監(jiān)測(cè)數(shù)據(jù)管理與軟件開(kāi)發(fā).E-mail:wangjun825@163.com.

      王軍,黃經(jīng)國(guó),余丹,等.2023.分析數(shù)據(jù)庫(kù)ClickHouse在國(guó)家地球物理臺(tái)網(wǎng)中心的應(yīng)用[J].地震研究,46(1):308-314,doi:10.20015/j.cnki.ISSN1000-0666.2023.0019.

      猜你喜歡
      主鍵字段數(shù)據(jù)表
      基于Go 實(shí)現(xiàn)的分布式主鍵系統(tǒng)研究
      圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
      湖北省新冠肺炎疫情數(shù)據(jù)表
      黨員生活(2020年2期)2020-04-17 09:56:30
      基于外鍵的E-R圖繪制方法研究
      基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
      CNMARC304字段和314字段責(zé)任附注方式解析
      圖表
      無(wú)正題名文獻(xiàn)著錄方法評(píng)述
      基于VSL的動(dòng)態(tài)數(shù)據(jù)表應(yīng)用研究
      河南科技(2014年24期)2014-02-27 14:19:25
      關(guān)于CNMARC的3--字段改革的必要性與可行性研究
      凤城市| 广安市| SHOW| 榕江县| 山阴县| 翁源县| 大石桥市| 南江县| 镇安县| 铅山县| 渭源县| 卓资县| 阿鲁科尔沁旗| 辛集市| 景宁| 北京市| 台安县| 白城市| 万荣县| 固安县| 樟树市| 黄梅县| 蕲春县| 托克托县| 龙海市| 龙口市| 德化县| 囊谦县| 竹北市| 丁青县| 中阳县| 巴马| 古蔺县| 慈溪市| 兴海县| 苏尼特左旗| 宜兰市| 桐乡市| 桑日县| 上虞市| 吴忠市|