當前位置:首頁 » 算力簡介 » 去中心化和共線性

去中心化和共線性

發布時間: 2025-06-18 11:15:56

1. 多重共線性產生的原因

問題一:多重共線性的原因及其產生的主要後果有哪些 原因主要有3個方面:
(1)經濟變數相關的共同趨勢
(2)滯後變數的引入
(3)樣本資料的限制
主要後果:
(1)完全共線性下參數估計量不存在
(2)近似共線性下OLS估計量非有效
多重共線性使參數估計值的方差增大,1/(1-r2)為方差膨脹因子(Variance Inflation Factor, VIF)
(3)參數估計量經濟含義不合理
(4)變數的顯著性檢驗失去意義,可能將重要的解釋變數排除在模型之外
(5)模型的預測功能失效。變大的方差容易使區間預測的「區間」變大,使預測失去意義。

問題二:多重共線性的產生原因 主要有3個方面:(1)經濟變數相關的共同趨勢(2)滯後變數的引入(3)樣本資料的限制

問題三:多重共線性產生的原因有哪些 數學建模 多重共線性產生的原因有哪些
最近做回歸分析,出現了相關系數與回歸方程系數符號相反的問題,經過研究,確認是多重共線性問題並探索了解決方法。
在此將多重共線性的相關知識整理如下。
解釋變數理論上的高度相關與觀測值高度相關沒有必然關系,有可能兩個解釋變數理論上高度相關,但觀測值未必高度相關,反之亦然。所以多重共線性本質上是數據問題。
造成多重共線性的原因有一下幾種:
1、解釋變數都享有共同的時間趨勢;
2、一個解釋變數是另一個的滯後,二者往往遵循一個趨勢;
3、由於數據收集的基礎不夠寬,某些解釋變數可坦攔能會一起變動;
4、某些解釋變數間存在某種近似的線性關系;

問題四:多重共線性的實質是什麼為什麼會出現多重共線性 多重共線性的典型表現是線性回歸模型中的解釋變數之間由於存在精確相關關系或高度相關關系而使模型估計失真或難以估計准確。由於經濟數據的限制使得模型設計不當,導致設計矩陣中解釋變數間存在普遍的相關關系。主要產生原因是經濟變數相關的共同趨勢,滯後變數的引入,樣本資料的限制。 判斷是大此否存在多重共線性的方法有特徵值,存在維度為3和4的值約等於0,說明存在比較嚴重的共線性。條件索引列第3第4列大於10,可以說明存在比較嚴重的共線性。比例方差內存在接近1的數,可以說明存在較嚴重的共線性。

問題五:多重共線性的實質是什麼?為什麼會出現多重共線性 多重共線性,解釋變數之間存在線性關系違背了解釋變數間不相關的經典假設,將會給普通最小二乘法帶來嚴重後果。

問題六:計量經濟學的多重共線性是怎麼回事 多重共線性,Multi-collinearity,是指線性回歸模型中的解釋變數之間由於存在精確相關關系或高度相關關系而使模型估計失真或難以估計准確。一般來說,由於經濟數據的限制使得模型設計不當,導致設計矩陣中解釋變數間存在普遍的相關關系。完全共線性的情況並不多見,一般出現的是在一定程度上的共線性,即近似共線性。 多重共線性產生的原因主要有3方面: 1. 經濟變數相關的共同趨勢 2.滯後變數的引入 3.樣本資料的限制 多重共線性的影響有: 1.完全共線性下參數估計量不存在 2.近似共線性下OLS估計量非有效. 多重共線性使參數估計值的方差增大,1/(1-r2)為方差膨脹因子(Variance Inflation Factor, VIF) 3.參數估計量經濟含義不合理 4.變數的顯著性檢驗失去意義,可能將重要的解釋變數排除在模型之外 5.模型的預測功能失效, 變大的方差容易使區間預測的「區間」變大,使預測失去意義. 需要注意:即使出現較高程度的多重共線性,OLS估計量仍具有線性性等良好的統計性質.但是OLS法在統計推斷上無法給出真正有用的信息. 多重共線性的解決方法有: 1.排除引起共線性的變數, 找出引起多重共線性的解釋變數,將它排除出去,以逐步回歸法得到最廣泛的應用. 2.差分法, 時間序列數據,線性模型: 將原模型變換為差分模型3.減小參數估計量的方差: 嶺回歸法(Ridge Regression)

問題七:什麼是多重共線性?產生多重共線性的經濟背景是什麼?多重共線性的危害是什麼?為什麼會造成這些危害? 在現實經濟運讓仿胡行中,許多經濟變數在隨時間的變化過程中往往存在共同的變化趨勢,使之產生多重共線性;使用截面數據建立回歸模型時,根據研究的具體問題選擇的解釋變數常常從經濟意義上存在著密切的關聯度;在建模過程中由於認識上的局限性造成便來那個選擇不當,從而引起變數之間的多重共線性;在模型中大量採用滯後變數也容易產生多重共線性。
多重共線性的危害有幾個方面:
一是在完全共線性下參數估計量不存在,理由是'1()XX-不存在;
二是近似共線性下OLS參數估計量非有效,理由是參數估計量的方差將可能變得很大;
三是參數估計量經濟意義不合理,如當2X和3X存在線性關系時,2X和3X前的參數並不能反映各自與被解釋變數之間的結構關系;四是變數的顯著性檢驗失去意義,因為無論是t檢驗還是F檢驗,都與參數估計量的方差有關;五是模型的預測功能失效。
檢驗多重共線性的方法思路:用統計上求相關系數的原理,如果變數之間的相關系數較大則認為它們之間存在多重共線性。
克服多重共線性的方法主要有:增加樣本觀測值,略去不重要的解釋變數,用被解釋變數的滯後值代替解釋變數的滯後值,利用參數之間的關系,利用解釋變數之間的關系,變換模型的形式,對數據進行中心化處理,修正Frisch法等。

問題八:回歸分析中出現的多重共線性問題是什麼,如何處理 對多重共線性的兩點認識:
①在實際中,多重共線性是一個程度問題而不是有無的問題,有意義的區分不在於有和無,而在於多重共線性的程度。②多重共線性是針對固定的解釋變數而言,是一種樣本的特徵,而非總體的特徵。
消除多重共線性的方法:
1.增加樣本容量
2.利用先驗信息改變
3.刪除不必要的解釋變數:參數的約束形式
4.其它方法:逐步回歸法,嶺回歸(ridge regression),主成分分析(principal ponents ).
這些方法spss都可以做的,你在數據分析的子菜單下可以找到相應的做法。
刪除不必要的方法的時候,最好使用一下逐步回歸法,這樣比較科學一點。
主成分分析的方法使用比較簡單科學,本人介意用該方法。

問題九:多重共線性違背什麼假定 (1)完全共線性下參數估計量不存在
(2)近似共線性下OLS估計量非有效
多重共線性使參數估計值的方差增大,1/(1-r2)為方差膨脹因子(Variance Inflation Factor, VIF)如果方差膨脹因子值越大,說明共線性越強。相反 因為,容許度是方差膨脹因子的倒數,所以,容許度越小,共線性越強。可以這樣記憶:容許度代表容許,也就是許可,如果,值越小,代表在數值上越不容許,就是越小,越不要。而共線性是一個負面指標,在分析中都是不希望它出現,將共線性和容許度聯系在一起,容許度越小,越不要,實際情況越不好,共線性這個「壞蛋」越強。進一步,方差膨脹因子因為是容許度倒數,所以反過來。
總之就是找容易記憶的方法。
(3)參數估計量經濟含義不合理
(4)變數的顯著性檢驗失去意義,可能將重要的解釋變數排除在模型之外
(5)模型的預測功能失效。變大的方差容易使區間預測的「區間」變大,使預測失去意義。
需要注意:即使出現較高程度的多重共線性,OLS估計量仍具有線性性等良好的統計性質。但是OLS法在統計推斷上無法給出真正有用的信息。

2. 嶺回歸分析(SPSS+SAS)

嶺回歸分析是在構建多重線性回歸模型時,對基於「最小二乘原理」推導出的估計回歸系數的計算公式進行校正,以使回歸系數更穩定。此方法尤其適用於自變數之間存在較強的多重共線性問題,能有效解決某些自變數回歸系數正負號與實際問題專業背景不符的難題。

嶺回歸分析實施的一般步驟包括自變數的中心化和標准化處理,目的是使不同自變數處於相同數量級上,便於比較。

在確定k值時,常用嶺跡圖和方差膨脹因子法進行選擇。嶺跡圖有助於直觀判斷k值,原則是使各回歸系數的嶺估計穩定,圖中嶺跡曲線趨於平行於X軸。方差膨脹因子cjj度量多重共線性的嚴重程度,當cjj大於10時,模型存在嚴重多重共線性。

變數篩選與k值重新確定基於嶺跡圖進行,原則包括去除嶺回歸系數穩定且絕對值較小的自變數、去除不穩定但隨k值增加迅速趨零的自變數,以及去除具有不穩定嶺回歸系數的自變數。選擇與去掉變數需結合復共線性關系與嶺回歸分析效果來決定。

進行嶺估計後,依據估計參數寫出回歸方程,並結合專業知識判斷自變數系數及正負號是否符合實際情況,最終根據回歸系數大小評估各自變數對因變數影響的大小,使用所求得的回歸方程進行預測。

案例分析涉及11名兒童的智力測試數據,以IQ為因變數擬合多重線性回歸模型,變數包括常識、算數、理解、拼圖、積木與解碼。結果表明,納入模型的變數無統計學意義,且存在多重共線性。通過嶺回歸分析,解決模型穩定性問題。

在SPSS中進行嶺回歸分析,可通過編寫程序文件ridge regression.sps進行調用,運行結果提供嶺跡圖與不同k值情況下的回歸系數。在SAS中,先讀取數據,然後進行回歸分析、數據標准化與嶺回歸,輸出結果包括嶺跡圖、回歸系數與VIF值。

總體而言,嶺回歸分析通過校正最小二乘估計,為解決多重線性回歸模型在自變數存在多重共線性時的不穩定問題提供了一種有效方法,適用於多種統計分析軟體的實現。

3. 綜合使用時序數據與截面數據能解決多重共線性嗎

時序數據與截面數據能解決多重共線性請參考下面時序資料庫白皮書。


思極有容資料庫

時序資料庫技術白皮書


北京中電普華信息技術有限公司

2020年4月


目錄

1大數據時代的挑戰1

2產品特點1

3系統結構2

4存儲結構4

5數據分區、水平擴展6

6高可靠系統7

7STable:多表聚合9

8數據模型10

9實時流式計算11

10便捷的安裝、部署、維護12

11更多亮點13

12參數指標13

13應用場景14


1大數據時代的挑戰

隨著移動互聯網的普及,數據通訊成本的急劇下降,以及各種低成本的感測技術和智能設備的出現,除傳統的手機、計算機在實時採集數據之外,手環、共享單車、計程車、智能電表、環境監測設備、電梯、大型設備、工業生產線等也都在源源不斷的產生海量的實時數據並發往雲端。這些海量數據是企業寶貴的財富,能夠幫助企業實時監控業務或設備的運行情況,生成各種維度的報表,而且通過大數據分析和機器學習,對業務進行預測和預警,能夠幫助企業進行科學決策、節約成本並創造新的價值。

仔細研究發現,所有機器、設備、感測器、以及交易系統所產生的數據都是時序的,而且很多還帶有位置信息。這些數據具有明顯的特徵,1:數據是時序的,一定帶有時間戳;2:數據是結構化的;3:數據極少有更新或刪除操作;4:無需傳統資料庫的事務處理;5:相對互聯網應用,寫多讀少;6:用戶關注的是一段時間的趨勢,而不是某一特點時間點的值;7:數據是有保留期限的;8:數據的查詢分析一定是基於時間段和地理區域的;9:除存儲查詢外,往往還需要各種統計和實時計算操作;10:數據量巨大,一天採集的數據就可以超過100億條。

看似簡單的事情,但由於數據記錄條數巨大,導致數據的實時寫入成為瓶頸,查詢分析極為緩慢,成為新的技術挑戰。傳統的關系型資料庫或NoSQL資料庫以及流式計算引擎由於沒有充分利用這些數據的特點,性能提升極為有限,只能依靠集群技術,投入更多的計算資源和存儲資源來處理,企業運營維護成本急劇上升。

2產品特點

思極有容時序資料庫正是普華公司面對這一高速增長的物聯網大數據市場和技術挑戰推出的創新性的大數據處理產品,它不依賴任何第三方軟體,也不是優化或包裝了一個開源的資料庫或流式計算產品,而是在吸取眾多傳統關系型資料庫、NoSQL資料庫、流式計算引擎、消息隊列等軟體的優點之後自主開發的產品,在時序空間大數據處理上,有著自己獨到的優勢。

·10倍以上的性能提升:定義了創新的數據存儲結構,單核每秒就能處理至少2萬次請求,插入數百萬個數據點,讀出一千萬以上數據點,比現有通用資料庫快了十倍以上。

·硬體或雲服務成本降至1/5:由於超強性能,計算資源不到通用大數據方案的1/5;通過列式存儲和先進的壓縮演算法,存儲空間不到通用資料庫的1/10。

·全棧時序數據處理引擎:將資料庫、消息隊列、緩存、流式計算等功能融合一起,應用無需再集成Kafka/Redis/HBase/HDFS等軟體,大幅降低應用開發和維護的復雜度成本。

·強大的分析功能:無論是十年前還是一秒鍾前的數據,指定時間范圍即可查詢。數據可在時間軸上或多個設備上進行聚合。臨時查詢可通過Shell,Python,R,Matlab隨時進行。

·與第三方工具無縫連接:不用一行代碼,即可與Telegraf,Grafana,Matlab,R等工具集成。後續將支持MQTT,OPC等工具,與BI工具也能夠無縫連接。

·零運維成本、零學習成本:安裝、集群一秒搞定,無需分庫分表,實時備份。支持標准SQL語句,支持JDBC,RESTful連接,支持Python/Java/C/C++/Go等開發語言,與MySQL相似,零學習成本。

採用思極有容時序資料庫,可將典型的物聯網、車聯網、工業互聯網大數據平台的整體成本降至現有的1/5。同樣的硬體資源,思極有容時序資料庫能將系統處理能力和容量增加五倍以上。

3系統結構

思極有容時序資料庫是基於硬體、軟體系統不可靠、一定會有故障的假設進行設計的,是基於任何單台計算機都無足夠能力處理海量數據的假設進行設計的,因此思極有容時序資料庫從研發的第一天起,就是按照分布式高可靠架構進行設計的,是完全去中心化的。思極有容時序資料庫整個系統結構如下圖所示,下面對一些基本概念進行介紹。


物理節點:集群里的任何一台物理機器(dnode),根據其具體的CPU、內存、存儲和其它物理資源,思極有容時序資料庫將自動配置多個虛擬節點。

虛擬數據節點:存儲具體的時序數據,所有針對時序數據的插入和查詢操作,都在虛擬數據節點上進行(圖例中用V標明)。位於不同物理機器上的虛擬數據節點可以組成一個虛擬數據節點組(如圖例中dnode0中的V0,dnode1中的V1,dnode6中的V2組成了一個組),虛擬節點組里的虛擬節點的數據以非同步的方式進行同步,並實現數據的最終一致性,以保證一份數據在多台物理機器上有拷貝,而且即使一台物理機器宕機,總有位於其他物理機器上的虛擬節點能處理數據請求,從而保證系統運行的高可靠性。

虛擬管理節點:負責所有節點運行狀態的採集、節點的負載均衡,以及所有MetaData的管理,包括用戶、資料庫、表的管理(圖例中用M標明)。當應用需要插入或查詢一張表時,如果不知道這張表位於哪個數據節點,應用會連接管理節點來獲取該信息。MetaData的管理也需要有高可靠的保證,系統採用Master-Slave的機制,容許多到5個虛擬管理節點組成一個虛擬管理節點集群(如圖例中的M0,M1,M2)。這個虛擬管理節點集群的創建是完全自動的,無需任何人工干預,應用也無需知道虛擬管理節點具體在哪台物理機器上運行。

集群對外服務IP:整個系統可以由多台甚至數萬台伺服器組成,但對於應用而言,只需要提供整個集群中任何一台或兩台伺服器的IP地址即可。集群將根據應用的請求,自動的將請求轉發到相應的一個甚至多個節點進行處理,包括聚合、計算操作等。這些復雜的分發和路由對應用是完全透明的。

4存儲結構

為提高壓縮和查詢效率,思極有容時序資料庫採用列式存儲。與眾多時序資料庫不同的是,思極有容時序資料庫基於時序數據的特點,將每一個採集點的數據作為資料庫中的一張獨立的表來存儲。這樣對於一個採集點的數據而言,無論在內存還是硬碟上,數據點在介質上是連續存放的,這樣大幅減少隨機讀取操作,減少IO操作次數,數量級的提升讀取和查詢效率。而且由於不同數據採集設備產生數據的過程完全獨立,每個設備只產生屬於自己的數據,一張表也就只有一個寫入者。這樣每個表就可以採用無鎖方式來寫,寫入速度就能大幅提升。同時,對於一個數據採集點而言,其產生的數據是時序的,因此寫的操作可用追加的方式實現,進一步大幅提高數據寫入速度。


數據具體寫如流程如圖所示:

寫入數據時,先將數據點寫進Commit日誌,然後轉發給同一虛擬節點組里的其他節點,再按列寫入分配的內存塊。當內存塊的剩餘空間達到一定臨界值或設定的commit時間時,內存塊的數據將寫入硬碟。內存塊是固定大小(如16K)的,但依據系統內存的大小,每個採集點可以分配一個到多個內存塊,採取LRU策略進行管理。在一個內存塊里,數據是連續存放的,但塊與塊是不連續的,因此思極有容時序資料庫為每一個表在內存里建立有塊的索引,以方便寫入和查詢。

數據寫入硬碟是以添加日誌的方式進行的,以求大幅提高落盤的速度。為避免合並操作,每個採集點(表)的數據也是按塊存儲,在一個塊內,數據點是按列連續存放的,但塊與塊之間可以不是連續的。思極有容時序資料庫對每張表會維護一索引,保存每個數據塊在文件中的偏移量,起始時間、數據點數、壓縮演算法等信息。每個數據文件僅僅保存固定一段時間的數據(比如一周,可以配置),因此一個表的數據會分布在多個數據文件中。查詢時,根據給定的時間段,思極有容時序資料庫將計算出查找的數據會在哪個數據文件,然後讀取。這樣大幅減少了硬碟操作次數。多個數據文件的設計還有利於數據同步、數據恢復、數據自動刪除操作,更有利於數據按照新舊程度在不同物理介質上存儲,比如最新的數據存放在SSD盤上,最老的數據存放在大容量但慢速的硬碟上。通過這樣的設計,思極有容時序資料庫將硬碟的隨機讀取幾乎降為零,從而大幅提升寫入和查詢效率,讓思極有容時序資料庫在很廉價的存儲設備上也有超強的性能。

為減少文件個數,一個虛擬節點內的所有表在同一時間段的數據都是存儲在同一個數據文件里,而不是一張表一個數據文件。但是對於一個數據節點,每個虛擬節點都會有自己獨立的數據文件。

5數據分區、水平擴展

為處理每日高達數億條的海量數據,數據必須在多個節點存放。在思極有容時序資料庫里,數據是按照每個採集點(表)來存放的。一張表(一個採集點)的數據,即使每秒產生一百個位元組的數據量,一年也才3G的數據量,壓縮後,往往還不到300M,因此在思極有容時序資料庫里,一個表的數據是不跨節點存儲的,以便於單張表的快速高效的插入、查詢和計算。

為更好的數據分區,思極有容時序資料庫採用了虛擬數據節點的設計。一個虛擬數據節點包含多個表,表的數量可以配置。根據其計算和存儲資源,一個物理節點將被劃分為多個虛擬數據節點。虛擬數據節點的設計帶來幾大優勢:

1)更好的支持硬體異構環境,資源多的伺服器可以創建更多的虛擬節點;

2)恢復一個宕機的節點,可以讓眾多的其他節點參與進來,大大加快速度;

3)如果撤掉一個數據節點,該節點上的虛擬節點將被相當均勻的遷移到其他節點上去;

4)新增一個數據節點,負載過熱的節點的上的部分虛擬節點將被整體遷移過來。這一切讓負載更加均衡,讓數據同步變得更加高效。

與傳統的資料庫相似,用戶可以創建多個資料庫,每個庫裡面,可以創建多個表。一個庫可以橫跨多個虛擬數據節點,但一個虛擬數據節點僅僅屬於一個資料庫。當用戶添加一個表時,管理節點將查看已經分配的虛擬節點里是否還有空位,如果有,就將該表分配到這虛擬節點。如果這個庫的所有虛擬節點都沒有空位,管理節點將根據負載均衡的策略(隨機、輪詢等)來分配一個新的虛擬節點給該庫,然後將該表分配到新的虛擬節點里。由於一台物理主機有多個虛擬數據節點,這種策略能保證負載均勻分布。

管理節點負責整個系統的負載均衡,包括虛擬數據節點的增加、刪除、遷移、合並與拆分。管理節點並不保存每個採集點採集的數據,只是管理虛擬節點,即使宕機,也不會影響現有各虛擬節點的數據插入和查詢操作。各個採集點或應用從管理節點獲取分配的虛擬數據節點信息後,然後直接與虛擬數據節點通訊,直接將數據插入資料庫,對於查詢操作也是如此。因此,系統容量以及吞吐率與虛擬數據節點的個數成正比,整個系統是水平擴展的

6高可靠系統

為保證數據節點的高可靠性,思極有容時序資料庫引入了虛擬數據節點組的概念,並採用非同步的方式進行數據同步。一個虛擬節點組由處於不同物理主機上的虛擬數據節點組成,虛擬數據節點個數就是數據冗餘的個數(ReplicationFactor,一般大於2)。在一個虛擬節點組里,各個虛擬數據節點通過心跳包實時知道對方的狀態。如果一個虛擬數據節點收到數據寫入的請求,該請求會被立即轉發給其他虛擬數據節點,然後在本地存儲處理。當應用連接思極有容時序資料庫系統時,對於要操作的任何一張表,系統會給應用提供該表所屬的虛擬數據節點組里各個虛擬節點的IP地址(如果replicationfactor為3,就會有3個IP地址),如果鏈接其中一個失敗或者操作失敗,應用會嘗試第二個、第三個,只有所有節點失敗才會返回失敗。這樣保證虛擬數據節點組里任何一台機器宕機,都不會影響對外的服務。這些復雜的重新連接流程都被思極有容時序資料庫Driver包裝隱藏起來,應用開發者無需寫程序來實現。

為保證效率,思極有容時序資料庫採取非同步方式實現多個副本之間的實時數據同步,採取的是最終一致性,而不是強一致。當一台主機重啟時,每個虛擬數據節點都會檢查自己數據的版本是否與其他虛擬節點一致,如果版本不一致,需要同步後才能進入對外服務狀態。在運行過程中,由於各種原因,數據仍然可以失去同步,這種不同步會在收到轉發的寫入請求時被發現,一旦被發現,版本低的虛擬數據節點將馬上停止對外服務,進入同步流程,同步完後,才會重新恢復對外服務。同步過程中,高版本的節點還可以正常的對外提供服務。

管理節點負責存儲Meta數據,同時根據每個數據節點狀態來負責負載均衡,因此也要保證其高可靠性。多個虛擬管理節點組成一個虛擬管理節點組,因為Meta數據可以被多個應用同時更新,因此思極有容時序資料庫採用的是Master-Slave模式實現虛擬管理節點的數據同步。寫的操作,只有Slave節點寫入成功後,Master節點才會返回成功,從而保證數據的強一致性。如果Master節點宕機,系統有機制保證其中一個Slave會立即被選舉為Master,從而保證系統寫操作的高可靠性。

由於Meta數據量並不大,Meta數據雖然需持久化存儲,但將其完全保存在內存,以保證查詢操作的高效。在應用側,為避免每次數據操作都訪問管理節點,思極有容時序資料庫Driver將必要的Meta數據都會緩存在本地,只有當需要的Meta數據不存在或失效的情況下,才會訪問管理節點,這樣大大提高系統性能。

管理節點在集群中存在,但對於應用和系統管理員而言,是完全透明的。整個系統會自動在物理節點上創建虛擬管理節點以及虛擬管理節點組。

7STable:多表聚合

各個數據採集點的時鍾是很難同步的,為保證其時序,而且為保證單一採集點的數據在存儲介質上的連續性,思極有容時序資料庫要求每個數據採集點單獨建表,這樣能極大提高數據的插入速度以及查詢速度,但是這將導致系統表的數量猛增,讓應用對表的維護以及聚合、統計操作難度加大。為降低應用的開發難度,思極有容時序資料庫引入了STable超級表的概念。

STable是表的集合,包含多張表,而且這個集合里每張表的Schema是一樣的。同一類型的採集設備可創建一個STable。與表一樣,包含Schema,但還包含標簽信息。Schema定義了表的每列數據的屬性,如溫度、壓力等,而標簽信息是靜態的,屬於MetaData,如採集設備的型號、位置等。思極有容時序資料庫擴展了標准SQL的table的定義,創建時,除指定Schema外,還可以帶關鍵詞tags來指定有哪些標簽。如:

createtablem1(tstimestamp,pressureint,rpmint)tags(modelbinary(8),colorbinary(8))

上述SQL創建了一個STablem1,帶有標簽model和標簽color。為某一個具體的採集點創建表時,可以指定其所屬的STable以及標簽的值,比如:

createtablet1usingm1tags(『apple』,『red』)

上述SQL以STablem1為模板,創建了一張表t1,這張表的Schema就是m1的Schema,但標簽model設為apple,標簽color設為red。插入數據時,仍然按照正常的方式進行插入。但查詢時,除傳統的表的查詢外,還可以基於標簽對STable進行各種聚合查詢或統計。如:

selectavg(pressue)fromm1wheremodel=』apple』interval(5m)groupbycolor

上面這個SQL語句表示將標簽model值為apple的所有採集點的記錄的每5分鍾的平均值計算出來,並按照標簽color進行分組。

對於STable的查詢操作,完全與正常的表一樣。但一個定義的STable可以包含多張表(多個數據採集點),應用可通過指定標簽的過濾條件,對一個STable下的全部或部分表進行聚合或統計操作,這樣大大簡化應用的開發。其具體流程如下圖所示:

1)、應用將一個查詢條件發往系統;

2)、Driver將查詢的過濾條件發往MetaNode(管理節點);

3)、管理節點將符合查詢過濾條件的表的列表發回Driver(包含每個表對應的數據節點的IP地址);

4)、這些返回的表可能分布在多個數據節點,Driver將計算的請求發往相應的多個數據節點;

5)、每個數據節點完成相應的聚合計算,將結果返回給Driver;

6)、Driver將多個數據節點返回的結果做最後的聚合,將其返回給應用。

8數據模型

思極有容時序資料庫採用的仍然是傳統的關系型資料庫的模型。用戶需要根據應用場景,創建一到多個庫,然後在每個庫里創建多張表,創建表時需要定義Schema。對於同一類型的採集點,為便於聚合統計操作,可以先定義超級表STable,然後再定義表。

不同的採集點往往具有不同的數據特徵,比如有的採集點數據採集頻率高,有的數據保留時長較長,有的採集數據需要3份備份,而有的數據一份備份即可,有的採集點一條記錄很大,而有的採集點的記錄僅僅16個位元組,很小。為讓各種場景下思極有容時序資料庫都能最大效率的工作,思極有容時序資料庫建議將不同數據特徵的表創建在不同的庫里。創建一個庫時,除SQL標準的選項外,應用還可以指定保留時長、數據備份的份數、cache大小、是否壓縮等多種參數。

思極有容時序資料庫對庫的數量、STable的數量以及表的數量沒有做任何限制,而且其多少不會對性能產生影響,應用按照自己的場景創建即可。

9實時流式計算

在存儲的原始數據上,思極有容時序資料庫可以做各種計算,目前支持的主要操作包括:

·Avg:以每個采樣時間范圍內的value的平均值作為結果

·Dev:以每個采樣時間范圍內的value的標准差作為結果

·Count:以每個采樣時間范圍內的點的數目作為結果

·First:以每個采樣時間范圍內的第一個value作為結果

·Last:以每個采樣時間范圍內的最後一個value作為結果

·LeastSquares:對每個采樣時間范圍內的value進行最小二乘法的擬合

·Max:以每個采樣時間范圍內的value的最大值作為結果

·Min:以每個采樣時間范圍內的value的最小值作為結果

·Percentile:每個采樣時間范圍內的value的第p百分位數作為結果。

·Sum:以每個采樣時間范圍內的value的總和作為結果

·Diff:以每兩個相鄰的value的差值作為結果

·Div:以每個value除以一個除數作為結果

·Scale:以每個value乘以一個倍數作為結果

·基於多個採集點數據的四則運算表達式

思極有容時序資料庫還可對一個或多個數據流進行實時聚合、統計等計算,並將計算出的衍生數據當做新的數據保存進思極有容時序資料庫,以便後續的操作。實時計算與聚合查詢很類似,只是後台定時進行,並自動滑動計算窗口的起始點。工作方式與其他流式計算引擎的SlidingWindow相似。

實時計算可以通過一個簡單的創建表的操作來實現。如:

createtabled1asselectavg(pressure)fromt1interval(60s)sliding(10s)

上述SQL表示將表t1里欄位pressure每10秒鍾(每次滑動的時間間隔)將過去的60秒鍾(聚合計算的時間間隔)的數據平均值計算出來並寫入表d1。計算出的衍生數據可以與其他原始數據或計算出的衍生數據進行再次計算。

10便捷的安裝、部署、維護

思極有容時序資料庫是在Linux上開發的,任何Linux系統都可以運行,而且不依賴任何第三方軟體,也不是在某個開源項目上包裝出來的產品。獲得安裝包並解壓後,只需執行安裝腳本就一切搞定,極其簡單。

安裝後,會在安裝的機器上自動創建虛擬數據節點和管理節點,開發者就可以使用了,能滿足一般性的需求。但如果數據量大,就需要將軟體安裝到多台主機。這時也只需要在每台機器配置好MasterIP,系統管理員打開思極有容時序資料庫Shell,將新添加的主機添加進系統即可。如果要撤銷一個物理節點,登錄思極有容時序資料庫Shell,將其刪除即可,極其簡單。傳統資料庫所需要的數據分區、數據遷移等等都一概不存在。

因為數據是自動同步到多個節點的,系統管理員不用擔心數據的丟失,也不用制定備份和數據恢復策略,一切全自動進行。

如果軟體需要升級,只要在思極有容時序資料庫Shell里將新版本上傳即可。管理節點將挨個把每個節點的軟體進行升級,而且整個系統的服務將不停止,服務不受任何影響。如果要更換設備,只需將其拔除,安裝上軟體後,將新設備重新插入即可。換言之,思極有容時序資料庫完全支持在線升級以及硬體的熱插拔,從而保證服務的7*24的不間斷運行。

開發人員需要做的是定義表的結構,根據具體場景,配置好各種參數,讓系統性能達到最優。系統管理員只需要關注與硬體相關的報警信息,對於經常出問題的伺服器或硬碟,進行更換而已。使用思極有容時序資料庫,整個系統的運維工作變得極為簡單,將大大降低運營成本。

11更多亮點

訂閱模式:與標準的資料庫不同,思極有容時序資料庫還提供一種訂閱模式。應用程序可以訂閱資料庫某張表的內容,一旦該表有新的記錄,應用將立即得到通知。同一個表可以被多個應用訂閱。與流行的消息中間件Kafka一樣,訂閱採取的是pull而不是push模式。Kafka的publish操作由資料庫插入操作代替。由於思極有容時序資料庫具有極高的插入速度,通過採用訂閱模式,思極有容時序資料庫本身也可以作為一個消息隊列中間件來使用。

非同步插入:為避免網路延遲帶來的性能下降,更好的提高數據插入速度,思極有容時序資料庫還提供一組API讓應用非同步插入數據。當應用調用插入API時,將立即得到反饋,等記錄成功插入後,思極有容時序資料庫將調用應用提供的回調函數通知應用。採用非同步插入,性能將大幅提高。

Nagle演算法:時序數據應用場景里,每條記錄一般都很小,很多不到20位元組,因此整個系統處理的是大量的小數據包。為了更進一步提高性能,減少網路IO次數,思極有容時序資料庫採用了類似TCP協議的Naggle演算法,客戶端將緩存插入請求,只有記錄的大小超過一定的大小或者緩存時間超過100毫秒,被緩存的插入請求才會被發往系統。對於時間要求很高的應用,該功能可以關閉。

12參數指標

·支持數據類型:tinyint,smallint,int,bigint,float,double,binary

·單記錄最大長度:4096位元組

·最大記錄條數:僅受存儲空間限制

·最大表的個數:僅受節點個數限制

·最大數據備份數:5份

·單節點插入速度:3萬條/秒(單核,16位元組每記錄,每次一條,無同步備份)

·單節點查詢速度:2000萬條/秒(單核,16位元組每記錄,全內存)

·更多指標將陸續提供

13應用場景

思極有容時序資料庫作為一個基礎性的軟體,應用范圍及其廣泛,原則上,所有使用機器、設備、感測器採集數據的地方都可以用上。一些典型場景羅列如下:

·公共安全:上網記錄、通話記錄、個體追蹤、區間篩選

·電力行業:智能電表、電網、發電設備的集中監測

·通訊行業:話費詳單、用戶行為、基站/通訊設備監測

·金融行業:交易記錄、存取記錄、ATM、POS機監測

·出行工具:火車/汽車/出租/飛機/自行車的實時監測

·交通行業:實時路況,路口流量監測,卡口數據

·石油石化:油井、運輸管線、運輸車隊的實時監測

·互聯網:伺服器/應用監測、用戶訪問日誌、廣告點擊日誌

·物流行業:車輛、集裝箱的追蹤監測

·環境監測:天氣、空氣、水文、地質環境等監測

·物聯網:電梯、鍋爐、機械、水表、氣表等各種聯網設備

·軍工行業:各種軍事裝備的數據採集、存儲

·製造業:生產過程管控,流程數據、供應鏈數據採集與分析


網頁鏈接技術白皮書網頁鏈接請單擊查看!

熱點內容
幣圈的usd代表什麼 發布:2025-06-18 16:08:50 瀏覽:84
幣圈為什麼會大跌 發布:2025-06-18 16:07:19 瀏覽:159
ETH今天漲價原因 發布:2025-06-18 16:05:03 瀏覽:507
幣圈今天會不會突然爆拉 發布:2025-06-18 15:53:10 瀏覽:788
區塊鏈在供應鏈金融的作用 發布:2025-06-18 15:45:19 瀏覽:46
幣圈兩倉做空一倉是什麼意思 發布:2025-06-18 15:41:00 瀏覽:525
幣圈合約什麼時候出現的 發布:2025-06-18 15:40:15 瀏覽:240
數字貨幣將來還有意義么 發布:2025-06-18 15:39:25 瀏覽:579
幣圈幾月份牛市最多 發布:2025-06-18 15:18:09 瀏覽:183
比特幣區塊的difficulty 發布:2025-06-18 14:56:22 瀏覽:961