一種資料庫數據管理系統、方法及裝置與流程
2023-05-20 06:34:51
本申請涉及資料庫領域,尤其涉及一種資料庫數據管理系統、方法及裝置。
背景技術:
隨著大數據時代的來臨,大數據分析應運而生,大數據分析被廣泛應用於通信行業的基礎設施建設優化、網絡運營管理和優化、市場精準營銷以及客戶管理等方面。而作為大數據分析基礎的資料庫技術,也因此被廣泛使用。
現有的資料庫包括三種:oldsql資料庫、nosql資料庫以及newsql資料庫。其中,每種資料庫用於存儲不同類型的數據。具體的,oldsql資料庫適用於處理結構化的數據,具有很好的資料庫acid特性;nosql資料庫適用於處理非結構化及價值密度低的數據;newsql資料庫適用於處理結構化以及價值密度高的數據,還適用於處理大規模複雜分析任務的數據。
但是,現有的大數據分析資料庫架構大多是使用某一種單一的資料庫架構,或者使用某一種特定的資料庫,從而僅能支持某種特定類型的數據的存儲和分析,同時,由於現有的數據具有數據量大、增長速度快、數據類型多樣以及價值密度稀疏的特點。因此,現有的資料庫架構無法滿足現有大數據的存儲與分析需求。例如,oldsql資料庫不支持非結構化的數據,在數據處理性能方面存在局限性;nosql資料庫不支持結構化數據,價值密度高的數據,且事務性應用差,即nosql資料庫在分析數據時,若該數據被調取查詢時,則會導致資料庫對該數據進行錯誤分析,得到錯誤的分析結果;newsql資料庫不支持非結構化數據,且在數據存儲和擴展方面成本高。
技術實現要素:
本申請提供的實施例提供一種資料庫數據管理系統、方法及裝置,用以解決現有的資料庫架構無法滿足現有大數據的存儲與分析需求的問題。
為達到上述目的,本申請的實施例採用如下技術方案:
第一方面,提供一種資料庫數據管理系統,包括:資料庫數據管理裝置、至少一個第一資料庫和每個第一資料庫對應的第一伺服器集群、以及至少一個第二資料庫及每個第二資料庫對應的第二伺服器集群,其中:
所述資料庫數據管理裝置,與所述第一伺服器集群互聯,用於獲取至少一個數據,將每個數據分別存儲至與其數據類型相匹配的第一伺服器集群中;
所述第一伺服器集群,用於對其存儲的數據進行數據分析,得到第一數據分析結果;
所述第二伺服器集群,與所述第一伺服器集群互聯,用於存儲所述第一數據分析結果。
可選的,所述至少一個第一資料庫包括:用於處理不存在大規模複雜分析任務的數據的第一類資料庫和用於處理存在大規模複雜分析任務的數據的第二類資料庫;
所述資料庫數據管理裝置,還用於判定所述至少一個數據中每個數據是否存在大規模複雜分析任務;
所述資料庫數據管理裝置在將每個數據分別存儲至其數據類型對應的第一資料庫的第一伺服器集群中時,具體用於:
將所述至少一個數據中不存在大規模複雜分析任務的數據存儲至其數據類型對應的第一類資料庫的第一伺服器集群中進行數據分析,並將所述至少一個數據中存在大規模複雜分析任務的數據存儲至其數據類型對應的第二類資料庫的第一伺服器集群中進行數據分析。
可選的,所述至少一個第一資料庫包括:用於處理不存在大規模複雜分析任務的數據的第一類資料庫和用於處理存在大規模複雜分析任務的數據的第二類資料庫;
所述資料庫數據管理裝置在將每個數據分別存儲至其數據類型對應的第一資料庫的第一伺服器集群中時,具體用於:將每個數據分別存儲至其數據類型對應的第一類資料庫的第一伺服器集群中;
所述第一類資料庫的第一伺服器集群,還用於判定其存儲的數據是否存在大規模複雜分析任務,並將其存儲的存在大規模複雜分析任務的數據同步至所述第二類資料庫的第一伺服器集群中進行數據分析。
可選的,所述資料庫數據管理裝置在將每個數據分別存儲至與其數據類型相匹配的第一伺服器集群中時,具體用於:
確定第一數據的價值密度情況和所述第一數據的數據源的數據結構;
從所述至少一個第一資料庫中,確定出與所述第一數據的價值密度情況相匹配且支持所述第一數據的數據源的數據結構的目標第一資料庫;
將所述第一數據存儲至所述目標第一資料庫對應的第一伺服器集群中;
其中,所述第一數據為所述至少一個數據中的其中一個。
第二方面,提供一種資料庫數據管理方法,應用於第一方面提供的系統,包括:
資料庫數據管理裝置獲取至少一個數據,將每個數據分別存儲至與其數據類型相匹配的第一資料庫對應的第一伺服器集群中,以便所述第一服務集群對其存儲的數據分析,得到第一數據分析結果,並將所述第一數據分析結果存儲至第二資料庫的第二伺服器集群中。
可選的,所述至少一個第一資料庫包括:用於處理不存在大規模複雜分析任務的數據的第一類資料庫和用於處理存在大規模複雜分析任務的數據的第二類資料庫;
所述將每個數據分別存儲至與其數據類型相匹配的第一資料庫對應的第一伺服器集群中之前,還包括:
判定所述至少一個數據中每個數據是否存在大規模複雜分析任務;
所述在將每個數據分別存儲至其數據類型對應的第一資料庫的第一伺服器集群中,包括:
將所述至少一個數據中不存在大規模複雜分析任務的數據存儲至其數據類型對應的第一類資料庫的第一伺服器集群中進行數據分析,並將所述至少一個數據中存在大規模複雜分析任務的數據存儲至其數據類型對應的類資料庫的第一伺服器集群中進行數據分析。
可選的,所述至少一個第一資料庫包括:用於處理不存在大規模複雜分析任務的數據的第一類資料庫和用於處理存在大規模複雜分析任務的數據的第二類資料庫;
所述在將每個數據分別存儲至其數據類型對應的第一資料庫的第一伺服器集群中,包括:
將每個數據分別存儲至其數據類型對應的第一類資料庫的第一伺服器集群中,以便所述第一類資料庫的第一伺服器集群判定其存儲的數據是否存在大規模複雜分析任務,並將其存儲的存在大規模複雜分析任務的數據同步至所述第二類資料庫的第一伺服器集群中進行數據分析。
可選的,所述資料庫數據管理裝置將每個數據分別存儲至與其數據類型相匹配的第一伺服器集群中,包括:
確定第一數據的價值密度情況和所述第一數據的數據源的數據結構;
從所述至少一個第一資料庫中,確定出與所述第一數據的價值密度情況相匹配且支持所述第一數據的數據源的數據結構的目標第一資料庫;
將所述第一數據存儲至所述目標第一資料庫對應的第一伺服器集群中;
其中,所述第一數據為所述至少一個數據中的其中一個。
第三方面,提供一種資料庫數據管理裝置,包括:
獲取模塊,用於獲取至少一個數據;
處理模塊,用於將每個數據分別存儲至與其數據類型相匹配的第一資料庫對應的第一伺服器集群中,以便所述第一服務集群對其存儲的數據分析得到第一數據分析結果,並將所述第一數據分析結果存儲至第二資料庫的第二伺服器集群中。
可選的,所述至少一個第一資料庫包括:用於處理不存在大規模複雜分析任務的數據的第一類資料庫和用於處理存在大規模複雜分析任務的數據的第二類資料庫;
所述處理模塊,還用於判定所述至少一個數據中每個數據是否存在大規模複雜分析任務;
所述處理模塊在將每個數據分別存儲至其數據類型對應的第一資料庫的第一伺服器集群中時,具體用於:
將所述至少一個數據中不存在大規模複雜分析任務的數據存儲至其數據類型對應的第一類資料庫的第一伺服器集群中進行數據分析,並將所述至少一個數據中存在大規模複雜分析任務的數據存儲至其數據類型對應的第二類資料庫的第二伺服器集群中進行數據分析。
可選的,所述至少一個第一資料庫包括:用於處理不存在大規模複雜分析任務的數據的第一類資料庫和用於處理存在大規模複雜分析任務的數據的第二類資料庫;
所述處理模塊在將每個數據分別存儲至其數據類型對應的第一資料庫的第一伺服器集群中時,具體用於:
將每個數據分別存儲至其數據類型對應的第一類資料庫的第一伺服器集群中,以便所述第一類資料庫的第一伺服器集群判定其存儲的數據是否存在大規模複雜分析任務,並將其存儲的存在大規模複雜分析任務的數據同步至所述第二類資料庫的第一伺服器集群中進行數據分析。
可選的,所述處理模塊在將每個數據分別存儲至與其數據類型相匹配的第一伺服器集群中時,具體用於:
確定第一數據的價值密度情況和所述第一數據的數據源的數據結構;
從所述至少一個第一資料庫中,確定出與所述第一數據的價值密度情況相匹配且支持所述第一數據的數據源的數據結構的目標第一資料庫;
將所述第一數據存儲至所述目標第一資料庫對應的第一伺服器集群中;
其中,所述第一數據為所述至少一個數據中的其中一個。
本申請提供的方案,通過將多種資料庫進行聯合部署,數據與數據分析結果存儲至不同的資料庫,以便數據分析結果再被調取查詢時,不會對數據分析過程產生影響,具體的,本申請根據數據的數據類型將每個數據分別存儲至與其數據類型相匹配的第一資料庫對應的第一伺服器集群中,以便第一服務集群對其存儲的數據分析得到第一數據分析結果,並將第一數據分析結果存儲至第二資料庫的第二伺服器集群中。這樣通過對多種資料庫進行聯合部署,形成互補,消除自身的局限,從而滿足對現有的具有數據量大、增長速度快、數據類型多樣與價值密度稀疏特點的數據進行合理的存儲與分析。
附圖說明
為了更清楚地說明本申請實施例的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本申請實施例提供的一種資料庫數據管理系統的系統架構圖;
圖2為本申請實施例提供的另一種資料庫數據管理系統的系統架構圖;
圖3為本申請實施例提供的一種資料庫數據管理方法的方法流程圖;
圖4為本申請實施例提供的另一種資料庫數據管理方法的方法流程圖;
圖5為本申請實施例提供的一種資料庫數據管理裝置的結構示意圖。
具體實施方式
下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行描述。
本申請中,「示例性的」或者「例如」等詞用於表示作例子、例證或說明。本申請實施例中被描述為「示例性的」或者「例如」的任何實施例或設計方案不應被解釋為比其它實施例或設計方案更優選或更具優勢。確切而言,使用「示例性的」或者「例如」等詞旨在以具體方式呈現相關概念。本申請中,「的(英文:of)」,「相應的(英文:corresponding,relevant)」和「對應的(英文:corresponding)」有時可以混用,應當指出的是,在不強調其區別時,其所要表達的含義是一致的。
圖1為本申請實施例提供的資料庫數據管理系統的系統架構圖,如圖1所示,該系統包括:資料庫數據管理裝置11、至少一個第一資料庫12和每個第一資料庫12對應的第一伺服器集群13、以及至少一個第二資料庫14及每個第二資料庫14對應的第二伺服器集群15,其中:
資料庫數據管理裝置11,與第一伺服器集群互聯,用於獲取至少一個數據,將每個數據分別存儲至與其數據類型相匹配的第一伺服器集群13中。
第一伺服器集群13,用於對其存儲的數據進行數據分析,得到第一數據分析結果。
第二伺服器集群15,與第一伺服器集群13互聯,用於存儲第一數據分析結果。
其中,上述數據的數據類型包括但不限於:數據價值密度情況和數據的數據源結構。示例性的,通信行業大數據分析涉及到的數據源主要包括:b側用戶消費帳單、語音通話詳單、數據業務詳單等數據;無線網絡性能相關的關鍵性能指標(英文:keyperformanceindicator,縮寫:kpi)、測量報告(英文:measurementreport,縮寫mr)、路測等數據;基礎工參的基站、網格、扇區、小區、鐵塔、交通幹線等數據;核心網側用戶上網業務相關的gn、iu-ps、cdr、dpi等數據;網元設備產生的信令、日誌等數據。示例性的,本申請需要管理和存儲的數據來源包括:計費系統、設備網管系統、掛表採集傳輸、網絡優化系統等。
例如,目前通用的資料庫包括:newsql資料庫、oldsql資料庫和nosql資料庫。其中,newsql資料庫,通常使用vertica集群架構,數據存儲擴展成本較高,不支持非結構化和半結構化數據,適用於高價值密度的數據,具有大數據分析性能;oldsql資料庫,通常使用oracle\mysql集群架構,不支持非結構化和半結構化數據,適用於低價值密度的數據,存在很大的局限性,且在大數據複雜分析方面存在很大的不足;nosql資料庫,通常使用hadoop集群架構,不支持結構化數據,適用於低價值密度的數據。
其中,上述的hadoop集群架構的分布式文件系統hdfs有高容錯性和高吞吐量的特點,適合那些有著超大數據集的應用場景,為海量數據提供了存儲;底層提供的mapreduce採用分而治之的思想將數據處理任務分布至各個節點上進行,並提供了hive、impala等查詢引擎進行複雜的數據分析操作;同時,hadoop集群架構具有可靠、高效、高擴展等優點。
vertica集群架構是一種分布式mpp列式資料庫,可以分布式運行在多臺伺服器上,提供高性能的分析處理能力。其中,列式存儲和計算,適用於按列的高速查詢,比行式存儲的資料庫有了很大的提升。vertica集群提供標準化的接口和靈活的部署方式,可以方便的與hadoop集群集成;vertica可以根據用戶查詢特性優化存儲結構和查詢算法進一步提升查詢性能,更加適用於複雜分析和即席查詢等應用場景。
在具體現實時,本申請可以將nosql資料庫和newsql資料庫作為第一資料庫,將oldsql資料庫作為第二資料庫。之所以將分析結果存儲至oldsql資料庫,是由於傳統的oldsql資料庫為小型的關係型資料庫,適合作為web應用的底層資料庫,且部署簡單、速度快、總體擁有成本低。
可選的,本申請中的至少一個第一資料庫包括:用於處理不存在大規模複雜分析任務的數據的第一類資料庫和用於處理存在大規模複雜分析任務的數據的第二類資料庫。在具體實現時,由於現有的newsql資料庫具備大數據分析性能,且存儲和擴展成本較高,因此,本申請可以將newsql資料庫作為第二類資料庫,將nosql資料庫作為第一類資料庫。
基於此,在一種示例中,若第一資料庫中的第一類資料庫和第二類資料庫均可進行數據存儲和數據分析時,則:
資料庫數據管理裝置11,還用於判定至少一個數據中每個數據是否存在大規模複雜分析任務。
資料庫數據管理裝置11在將每個數據分別存儲至其數據類型對應的第一資料庫12的第一伺服器集群13中時,具體用於:
將至少一個數據中不存在大規模複雜分析任務的數據存儲至其數據類型對應的第一類資料庫的第一伺服器集群13中進行數據分析,並將至少一個數據中存在大規模複雜分析任務的數據存儲至其數據類型對應的第二類資料庫的第一伺服器集群15中進行數據分析。
在另一種實例中,若第一資料庫中第二類資料庫僅對存在大規模複雜分析任務的數據進行數據分析時,則:
資料庫數據管理裝置在將每個數據分別存儲至其數據類型對應的第一資料庫的第一伺服器集群中時,具體用於:將每個數據分別存儲至其數據類型對應的第一類資料庫的第一伺服器集群中。
第一類資料庫的第一伺服器集群13,還用於判定其存儲的數據是否存在大規模複雜分析任務,並將其存儲的存在大規模複雜分析任務的數據同步至第二類資料庫的第一伺服器集群14中進行數據分析。
在具體實現時,若第一資料庫以newsql資料庫和nosql資料庫為例,第二資料庫以oldsql資料庫為例。由於newsql資料庫的vertica集群專門處理大規模的複雜任務,因此,這裡將newsql資料庫作為第二類資料庫,nosql資料庫作為第一類資料庫。具體的,若存儲在nosql資料庫的hadoop集群的數據有大規模處理不了的複雜分析任務,則需要同步至newsql資料庫的vertica集群中處理。即當nosql資料庫的hadoop集群的impala內存受限無法完成分析的任務,或impala分析的性能滿足不了分析需求(比如分析個任務花了1天)時,則將需要分析的數據同步至newsql資料庫的vertica集群,以提高分析處理效率。同時,由於vertica集群的存儲成本高,因此,hadoop集群在將需要分析的數據同步至vertica集群之前,會使用其中的impala對這些數據進行預處理(例如聚合、分組、預計算等手段),以縮小數據大小,減少newsql資料庫的存儲成本。當然,若不考慮該問題,則可以將存在大規模複雜分析任務的數據直接存儲至newsql資料庫的vertica集群中,進行數據分析。
在一種示例中,資料庫數據管理裝置11在將每個數據分別存儲至與其數據類型相匹配的第一伺服器集群中時,具體用於:
確定第一數據的價值密度情況和第一數據的數據源的數據結構;
從至少一個第一資料庫12中,確定出與第一數據的價值密度情況相匹配且支持第一數據的數據源的數據結構的目標第一資料庫;
將第一數據存儲至目標第一資料庫12對應的第一伺服器集群13中;
其中,第一數據為至少一個數據中的其中一個。
為了方便說明,本實施例以oldsql資料庫、nosql資料庫以及newsql資料庫這三種資料庫來進行說明,圖2為對應的資料庫數據管理系統的系統架構圖,具體的,數據引入層和數據存儲分析層將使用hadoop+vertica混合資料庫的方式進行部署;而分析結果存儲層採用分布式mysql和oraclerac兩套oldsql資料庫混合的方式進行部署以滿足不同種類的上層應用的展示。
參照圖2,由圖2可知,該系統架構由四層組成,由下至上依次包括:數據源引入層、數據存儲分析層、分析結果存儲層以及應用展示層,其中:
1、數據引入層
數據引入層,首先會對本申請需要分析和存儲的異構多源的數據建立相應的傳輸通道,消除數據噪聲、冗餘和不一致性,然後,針對原始數據進行提取,剔除冗餘數據,提高數據質量,降低數據的傳輸和存儲壓力,之後會對預處理的數據進行解析,完成數據的轉換和清洗工作,實現數據的規範化統一,最後將規範化的數據進行加載入庫。
數據引入層將數據源分為兩大類型:具有較低價值密度、非結構化和半結構化的海量數據;具有較高價值密度、結構化、複雜分析任務的數據。數據引入層將獲取到的無線側、基礎工參、gn、iu-ps、信令等低價值密度或者非結構化數據,利用hadoop集群中hive組件對於數據提取、轉化和加載方面的優勢,將數據寫入hadoop底層的hdfs存儲中,而b側帳單、詳單、cdr等高價值密度的結構化數據,以及需要使用複雜算法進行深度挖掘和分析的數據直接通過編寫c++程序完成etl操作,將數據分布式存儲到vertica集群各個伺服器節點中;另外,hadoop集群和vertica集群支持雙向數據同步,支持對hadoop集群存儲的數據價值提純後同步至vertica進行進一步的分析,vertica得出的分析結果也可以同步至hadoop集群用於後續的關聯查詢。即hadoop集群處理不了的存在大規模複雜分析任務的數據經過預處理後同步至vertica集群處理,而vertica集群得出的分析結果有可能是hadoop集群中需要有後續關聯查詢的,所以需要對分析後的結果進行同步。因此可以將vertica集群中存儲的歷史數據或者是冷數據同步到hadoop集群中進行持久化存儲,這樣vertica集群中的這些數據就可以刪除,騰出空間存儲最新的熱數據。
2、數據存儲分析層
數據源經過規範化後分別存儲在hadoop集群和vertica集群中,並根據存儲的數據完成相應的分析任務。
hadoop集群中hive、impala和hbase都可以直接對存儲在hdfs中的數據進行處理,其中hive是hadoop集群上的數據倉庫,擅長進行海量批處理查詢;impala是基於內存的實時交互式mpp查詢引擎,能夠低延遲的查詢pb級數據;hbase則是構建在hadoop之上的分布式面向列存儲的資料庫系統。
現有的hadoop集群中的hive、impala和hbase在hadoop集群中,都使用hdfs作為底層的存儲,並通過yarn負責各組件之間的資源調度,同時,使用zookeeper來維護和同步配置數據的集中服務,為集群提供穩定的服務,並且負責hbase的元數據管理,impala使用hive的元數據管理組件,但impala在計算時不需要調用mapreduce框架,而是運算在內存中的mpp查詢引擎,因此速度比hive快很多。
對於海量數據的複雜分析任務,impala負責數據的預處理和預統計,將處理過的數據同步至vertica集群進行進一步的複雜分析。另外,由於hadoop集群的存儲成本要比vertica集群小,且提供強大的冗餘備份機制,因此vertica集群生成的價值數據將同步至hadoop集群中進行持久化存儲。
數據存儲分析層的分任務的協調和調度由專門的任務調度伺服器處理,根據定義好的任務處理周期,檢查任務處理基礎條件和依賴關係,實現分析任務的並發執行和任務進度的控制。
3、分析結果存儲層
由於oldsql資料庫的mysql和oraclerac這兩套資料庫間存在同步機制,實現結果的冗餘備份。mysql是一個小型的關係型資料庫,適合作為web應用的底層資料庫,且部署簡單、速度快、總體擁有成本低;oracle的引入則是由於它可移植性好、使用廣泛且功能強大,大數據時代之前大部分數據分析使用的都是oracle資料庫,因此數據同步機制實現簡單且成熟。
數據存儲分析層生成的分析結果,通過以sqoop、goldengate等資料庫同步技術,以資料庫表的形式高效的同步至分析結果存儲層。將上層應用訪問到的結果表與數據分析層分離,分析任務的調度不影響上層應用的展示,保證系統的高可用性。通過建立單獨的分析結果存儲資料庫,實現hadoop集群所不具備的關係型資料庫的acid特性(原子性、一致性、隔離性和持久性)。結果庫中的結果表支持增量擴展,可以通過分區存儲等方式匯總周期性的結果表至匯總表。
部署配套的同步任務調度伺服器,周期性的掃描分析結果存儲層生成的結果表,將最新的結果表同步至分析結果存儲層,保證結果表在多個資料庫之間的一致性,並生成相應的同步日誌,便於對任務進行監控和管理。
4、應用展示層
應用展示層基於分析結果存儲層存儲的各種結果表進行上層應用的開發和展示,提供web應用、gis應用、app、數據集市等多種形式的大數據服務,用於指導通信行業的基礎設施建設優化、網絡運營管理和優化、市場精準營銷、客戶關係管理等,實現大數據價值的變現。
下面說明本申請實施例提供的與上文所提供的系統實施例相對應的方法實施例。需要說明的是,下述方法實施例中相關內容的解釋,均可以參考上述系統實施例。
本申請實施例提供的資料庫數據管理方法的執行主體可以為上文系統中的資料庫數據管理裝置,或者用於執行上述資料庫數據管理方法的電子設備。其中,資料庫數據管理裝置可以為上述電子設備中的中央處理器(英文:centralprocessingunit,縮寫:cpu)或者可以為上述電子設備中的控制單元或者功能模塊。
基於圖1、2所示的系統架構,本申請實施例提供一種資料庫數據管理方法,如圖3所示,該方法包括:
201、獲取至少一個數據。
202、將每個數據分別存儲至與其數據類型相匹配的第一資料庫對應的第一伺服器集群中,以便第一服務集群對其存儲的數據分析,得到第一數據分析結果,並將第一數據分析結果存儲至第二資料庫的第二伺服器集群中。
可選的,上述的至少一個第一資料庫包括:用於處理不存在大規模複雜分析任務的數據的第一類資料庫和用於處理存在大規模複雜分析任務的數據的第二類資料庫。
基於此,在一種示例中,若第一資料庫中的第一類資料庫和第二類資料庫均可進行數據存儲和數據分析時,則:
在步驟202之前,還包括如下步驟:
s11、判定至少一個數據中每個數據是否存在大規模複雜分析任務。
基於步驟s11,步驟202具體包括如下內容:
s12、將至少一個數據中不存在大規模複雜分析任務的數據存儲至其數據類型對應的第一類資料庫的第一伺服器集群中進行數據分析,並將所述至少一個數據中存在大規模複雜分析任務的數據存儲至其數據類型對應的第二類資料庫的第一伺服器集群中進行數據分析。
在另一種示例中,若第一資料庫中第二類資料庫僅對存在大規模複雜分析任務的數據進行數據分析時,則:
步驟202具體包括如下步驟:
s21、將每個數據分別存儲至其數據類型對應的第一類資料庫的第一伺服器集群中,以便第一類資料庫的第一伺服器集群判定其存儲的數據是否存在大規模複雜分析任務,並將其存儲的存在大規模複雜分析任務的數據同步至第二類資料庫的第一伺服器集群中進行數據分析。
示例性的,步驟202具體包括如下步驟:
s31、確定第一數據的價值密度情況和第一數據的數據源的數據結構。
s32、從至少一個第一資料庫中,確定出與第一數據的價值密度情況相匹配且支持第一數據的數據源的數據結構的目標第一資料庫。
s33、將第一數據存儲至目標第一資料庫對應的第一伺服器集群中。
其中,第一數據為至少一個數據中的其中一個。
若以圖2所示的系統架構為例,其對應的資料庫數據管理方法的方法流程圖如圖4所示,參照圖4所示,該資料庫數據管理方法的方法流程如下所述:
1、根據數據來源不同,建立相應的傳輸通道,獲取通信行業大數據分析使用到的各種異構多源的數據。
2、判斷獲取到的數據的價值密度情況,若是高價值密度的數據則跳至步驟(4),否則繼續執行步驟(3)。
3、低價值密度的數據統一存儲在hadoop集群的hdfs中,使用hive完成數據的提取、轉換和加載工作,以資料庫表的形式實現數據的規範化入庫。
4、判斷高價值密度的數據是否屬於vertica集群無法處理的非結構化數據,若是則返回執行步驟(3),否則繼續執行步驟(5)。
5、高價值密度的結構化數據統一存儲在vertica集群中,通過c++程序完成數據的提取、轉換和加載工作,以資料庫表的形式實現數據的規範化入庫。
6、判斷hadoop集群中存儲的數據是否涉及到impala分析引擎無法完成的大規模複雜分析任務,若存在則跳至步驟(8),否則繼續執行步驟(7)。
7、使用impala分析引擎對hadoop集群中存儲的數據進行分析,並生成相應的分析結果集。
8、通過impala分析引擎,完成大規模複雜分析任務數據源的預處理,以結構化數據的形式同步至vertica集群。
9、vertica集群完成存儲在集群內以及從hadoop集群同步過來存在大規模複雜分析任務的數據的分析任務,並生成相應的分析結果集。
10、判斷hadoop集群和vertica集群中存儲的結果集是否用於前臺的web界面展示,若否則跳至步驟(12),是則繼續執行步驟(11)。
11、使用分布式mysql作為前臺web應用的後臺資料庫,從hadoop集群和vertica集群中同步前臺展示所需的分析結果集。
12、對於事務型較強的應用以及和已有系統融合等應用場景,使用oraclerac作為後臺資料庫,從hadoop和vertica集群中同步前臺展示所需的分析結果集。
下面說明本申請實施例提供的與上文所提供的方法實施例相對應的裝置實施例。需要說明的是,下述裝置實施例中相關內容的解釋,均可以參考上述方法實施例。
圖5示出了上述實施例中所涉及的資料庫數據管理裝置的一種可能的結構示意圖,參照圖5、該裝置包括:獲取模塊31和處理模塊32,其中:獲取模塊31用於支持資料庫數據管理裝置執行圖3中的步驟201;處理模塊22用於支持資料庫數據管理裝置執行圖3中的步驟202。進一步的,上述的處理模塊還用於支持資料庫數據管理裝置執行上文中的步驟s11、s12、s21、以及步驟s31、s32、s33。其中,上述方法實施例涉及的各步驟的所有相關內容均可以援引到對應功能模塊的功能描述,在此不再贅述。此外,上述處理模塊32,還用於存儲該裝置的程序代碼和數據。
在硬體實現上,上述的獲取模塊31、處理模塊32可以是處理器。上述資料庫數據管理裝置所執行的動作所對應的程序均可以以軟體形式存儲於該裝置的存儲器中,以便於處理器調用執行以上各個模塊對應的操作。
通過以上本申請所提供的幾個實施例,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。
本申請中的處理器可以是一個處理器,也可以是多個處理元件的統稱。例如,可以為cpu,也可以為其他通用處理器、數位訊號處理器(英文:digitalsignalprocessing,縮寫:dsp)、專用集成電路(英文:applicationspecificintegratedcircuit,縮寫:asic)、現場可編程門陣列(英文:field-programmablegatearray,縮寫:fpga)或者其他可編程邏輯器件、分立門或者電晶體邏輯器件、分立硬體組件等,其可以實現或執行結合本申請公開內容所描述的各種示例性的邏輯方框,模塊和電路。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。所述處理器也可以是實現計算功能的組合,例如包含一個或多個微處理器組合,dsp和微處理器的組合等等。
結合本申請公開內容所描述的方法的步驟可以硬體的方式來實現,也可以是由處理器執行軟體指令的方式來實現。軟體指令可以由相應的軟體模塊組成,軟體模塊可以被存放於隨機存取存儲器(英文:randomaccessmemory,縮寫:ram)、快閃記憶體、只讀存儲器(英文:readonlymemory,縮寫:rom)、可擦除可編程只讀存儲器(英文:erasableprogrammablerom,縮寫:eprom)、電可擦可編程只讀存儲器(英文:electricallyeprom,縮寫:eeprom)、寄存器、硬碟、移動硬碟、只讀光碟(cd-rom)或者本領域熟知的任何其它形式的存儲介質中。一種示例性的存儲介質耦合至處理器,從而使處理器能夠從該存儲介質讀取信息,且可向該存儲介質寫入信息。當然,存儲介質也可以是處理器的組成部分。處理器和存儲介質可以位於asic中。
最後應說明的是:以上所述的具體實施方式,對本申請的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本申請的具體實施方式而已,並不用於限定本申請的保護範圍,凡在本申請的技術方案的基礎之上,所做的任何修改、等同替換、改進等,均應包括在本申請的保護範圍之內。