當前位置:首頁 » 存儲配置 » 時序數據存儲

時序數據存儲

發布時間: 2022-07-18 13:25:43

⑴ 時序對內存影響多少

時序對內存影響如下:
時序的變化對內存壽命的影響很微小,但是頻繁變化的時序,會改變內存的穩定性。而且超時序不加壓也對內存沒有什麼影響,加壓會有些影響,但只要別超過1.6V一般沒有問題。

內存時序是描述內存條性能的一種參數,一般存儲在內存條的SPD中。內存時序越小越好,內存頻率越高,延時越小,這個延時其實是每個時鍾周期的時間,內存時序可以理解為內存數據的讀寫時間,內存時序的單位就是時鍾周期。比如ddr2 800,每個時鍾周期的延時是2.5納秒,當將ddr2 800超頻至ddr1000時,每時鍾周期延時是2納秒,這樣超頻對內存體質是一個考驗。

⑵ 關系資料庫 可以做 時序資料庫嗎

這個前面的同學已經提及了facebook開源的gorilla實現beringei。我們准備在監控告警和日誌分析,調用鏈追蹤這一塊跟elasticsearch 結合起來使用。初期設想就是日誌收集到集中處理伺服器通過beringei存儲並匹配查找來進行告警通知並結合自愈腳本來動態化解決問題(當然底層集群層面通過k8s來做容量方面的動態擴展和故障遷移)。最終二次落地到elasticsearch中進行日誌分析和查找展示。後期也會通過機器學習方法來分析頻現的問題來做預期處理。

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

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


思極有容資料庫

時序資料庫技術白皮書


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

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機監測

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

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

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

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

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

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

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

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

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


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

⑷ 關於C51單片機的外擴數據存儲器的讀寫操作時序的問題

c51存儲器類型有bit
sbit
data
xdata
bdata
pdata
sfr
code等,可能不全面有遺漏
對應的物理存儲器是:
bit,即位數據:數據存儲器位定址區,即20h~2fh的范圍,共16個位元組,16*8=128個位,位地址00h~7fh,連續的。
sbit:特殊功能寄存器中的位數據:只有能夠被8整除的那些特殊功能寄存器中的各個位才能被稱為sbit,位地址80h~ffh,不連續的,間斷的。
data:數據區,對51為00h~7fh共128個位元組,對52為00h~ffh,共256個位元組,用mov定址,前128用直接定址或寄存器(r0~r7)定址,後128用r0、r1間接定址。
xdata:外部數據區,0000h~ffffh連續,用dptr間接定址(movx指令)
bdata:位定址去的位元組,20h~2fh
sfr:特殊功能寄存器(80h~ffh),直接定址
pdata:外部數據區,p2口保持數據,用r0r1間接定址(movx指令)
code:程序存儲器,用movc指令只讀

⑸ 單片機擴展存儲24C08時序圖那裡有,數據存儲的原理是怎樣的

網路一下,PDF版的文件

24C08讀寫操作,適用於初學者

#include <AT89X52.H>
#include <stdio.h>
#include <absacc.h>
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07, 0x7f,0x6f,};
unsigned char sec; //定義計數值,每過1秒,sec加1
unsigned int tcnt; //定時中斷次數
bit write=0; //寫24C08的標志;
sbit gewei=P2^5; //個位選通定義
sbit shiwei=P2^6; //十位選通定義
/////////24C08讀寫驅動程序////////////////////
sbit scl=P3^6; // 24c08 SCL
sbit sda=P3^7; // 24c08 SDA
void delay1(unsigned char x)
{ unsigned int i;
for(i=0;i<x;i++);
;}
void flash() //延時2us
{
;
;
}
void x24c08_init() //24c08初始化子程序
{
scl=1;
flash();
sda=1;
flash();
}
void start() //啟動I2C匯流排
{
sda=1;
flash();
scl=1;
flash();
sda=0;
flash();
scl=0;
flash();
}
void stop() //停止I2C匯流排
{
sda=0;
flash();
scl=1;
flash();
sda=1;
flash();
}
void writex(unsigned char j) //寫一個位元組
{
unsigned char i,temp;
temp=j;
for (i=0;i<8;i++)
{
temp=temp<<1;
scl=0;
flash();
sda=CY;
flash();
scl=1;
flash();
}
scl=0;
flash();
sda=1;
flash();
}
unsigned char readx() //讀一個位元組
{
unsigned char i,j,k=0;
scl=0;
flash();
sda=1;
for (i=0;i<8;i++)
{
flash();
scl=1;
flash();
if (sda==1) j=1;
else j=0;
k=(k<<1)|j;
scl=0;
}
flash();
return(k);
}
void clock() // I2C匯流排時鍾
{
unsigned char i=0;
scl=1;
flash();
while ((sda==1)&&(i<255))i++;
scl=0;
flash();
}
////////從24c02的地址address中讀取一個位元組數據/////
unsigned char x24c08_read(unsigned char address)
{
unsigned char i;
start();
writex(0xa0);
clock();
writex(address);
clock();
start();
writex(0xa1);
clock();
i=readx();
stop();
delay1(10);
return(i);
}
//////向24c02的address地址中寫入一位元組數據info/////
void x24c08_write(unsigned char address,unsigned char info)
{
EA=0;
start();
writex(0xa0);
clock();
writex(address);
clock();
writex(info);
clock();
stop();
EA=1;
delay1(50);
}
/////////////24C08讀寫驅動程序完/////////////////////
void Delay(unsigned int tc) //延時程序
{
while( tc != 0 )
{unsigned int i;
for(i=0; i<100; i++);
tc--;}
}
void LED() //LED顯示函數
{
shiwei=0;
P0=table[sec/10];
Delay(8);
shiwei=1;
gewei=0;
P0=table[sec%10];
Delay(5);
gewei=1;
}
void t0(void) interrupt 1 using 0 //定時中斷服務函數
{
TH0=(65536-50000)/256; //對TH0 TL0賦值
TL0=(65536-50000)%256; //重裝計數初值
tcnt++; //每過250ust tcnt加一
if(tcnt==20) //計滿20次(1秒)時
{
tcnt=0; //重新再計
sec++;
write=1; //1秒寫一次24C08
if(sec==100) //定時100秒,在從零開始計時
{sec=0;}
}
}
void main(void)
{
TMOD=0x01; //定時器工作在方式1
ET0=1;
EA=1;
x24c08_init(); //初始化24C08
sec=x24c08_read(2);//讀出保存的數據賦於sec
TH0=(65536-50000)/256; //對TH0 TL0賦值
TL0=(65536-50000)%256; //使定時器0.05秒中斷一次
TR0=1; //開始計時
while(1)
{
LED();
if(write==1) //判斷計時器是否計時一秒
{
write=0; //清零
x24c08_write(2,sec); //在24c08的地址2中寫入數據sec
}
}
}

24c08讀寫程序

#include<at89x52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

sbit SCL="P2"^6;
sbit SDA="P2"^7;
uchar code displaycode[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
uchar code displaybit[]={0xfe,0xfd,0xfb,0xf7};
uchar displaybuf[3];

void delayX2us(uchar x) //微秒延時
{
while(--x);
}

void delayXms(uchar x) //毫秒延時
{
uchar i;
while(x--)
{
for(i=250;i>0;i--)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}

void start ()
{
SDA=1;
delayX2us(2);
SCL=1;
delayX2us(2);
SDA=0;
delayX2us(2);
}

void stop ()
{
SDA=0;
delayX2us(2);
SCL=1;
delayX2us(2);
SDA=1;
delayX2us(2);
}

void init()
{
SCL=1;
delayX2us(2);
SDA=1;
delayX2us(2);
}

void responds()
{
uchar i;
i=0;
SCL=1;
delayX2us(2);
while(SDA==1&&i<200)
i++;
SCL=0;
delayX2us(2);
}

void write_dat (uchar dat) //寫一個位元組
{
uchar i;

for(i=0;i<8;i++)
{
SCL=0;
delayX2us(2);
SDA=(bit)(dat&0x80);
delayX2us(2);
SCL=1;
delayX2us(2);
SCL=0;
delayX2us(2);
dat<<=1;
}

SDA=1;
delayX2us(2);

}

void write(uchar dat,uchar add) // 寫一個位元組dat到地址add
{
start();
write_dat(0xa0);
responds();
write_dat(add);
responds();
write_dat(dat);
responds();
stop();
}

uchar read_dat () //讀一個位元組
{
uchar i;
uchar dat;
bit j;
for (i=0;i<8;i++)
{
dat<<=1;
SCL=0;
j=SDA;
delayX2us(2);
SCL=1;
if(j==1)
{
dat|=0x01;
}
SCL=0;
}
return dat;
}

uchar read (uchar add) //從地址add中讀取一個位元組
{
uchar dat;

start();
write_dat(0xa0);
responds();
write_dat(add);
responds();
start();
write_dat(0xa1);
responds();
dat=read_dat();
delayX2us(2);
stop();
return dat;
}

void display(uchar dat) //顯示程序
{
uchar ,shi,ge,i;
=dat/100;
shi=dat%100/10;
ge=dat%10;
displaybuf[0]=;
displaybuf[1]=shi;
displaybuf[2]=ge;

for(i=0;i<3;i++)
{
P0=displaycode[displaybuf[i]];
P1=displaybit[i];
delayX2us(5);
P1=0xff;
}
}

void main ()
{
uchar dat,add,k;
dat=212;
add=2;
init();

write(dat,add);
delayXms(1000);
k=read(add);

while(1)
{

display(k);

}
}

⑹ 時序資料庫是什麼解決什麼問題的主要應用那些行業

時序資料庫是一種按照時間存儲的資料庫。
解決是海量數據的高效插入查詢。
應用在互聯網的大規模數據統計分析上面,物聯網的信息收集方面。

時間點對於時序資料庫非常重要,而高吞吐量決定了它存在的價值。

⑺ 百度雲時序資料庫的數據可以備份到哪裡

目前網路雲的時序資料庫的數據可以備份到網路雲對象存儲BOS。

當然什麼時序資料庫都可以備份到對象存儲中。

對象存儲主要提供穩定、安全、高效、高可擴展的雲存儲服務。可以將任意數量和形式的非結構化數據存入BOS,並對數據進行管理和處理。BOS支持標准、低頻、冷存儲等多種存儲類型,滿足您各類場景的存儲需求。

⑻ 監控系統為什麼採用時間序列資料庫

思極有容時序資料庫正是普華公司面對這一高速增長的物聯網大數據市場和技術挑戰推出的創新性的大數據處理產品,它不依賴任何第三方軟體,也不是優化或包裝了一個開源的資料庫或流式計算產品,而是在吸取眾多傳統關系型資料庫、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。同樣的硬體資源,思極有容時序資料庫能將系統處理能力和容量增加五倍以上。




同時,相比HBase等資料庫,使用普華思極有容時序資料庫來存儲有以下優勢:


1. 存儲空間大幅節省,估計不到HBase的1/10

2. 伺服器資源大幅節省,估計不到1/5

3. 查詢速度提高至少10倍

4. 提供異地容災備份方案

5. 支持通過標准SQL進行即席查詢

6. 數據超過保留時長,自動刪除

7. 零管理,安裝、部署、維護極其簡單,一鍵搞定

熱點內容
直出伺服器怎麼樣 發布:2024-10-07 15:41:36 瀏覽:476
比亞迪唐dmi哪個配置性價比 發布:2024-10-07 15:19:28 瀏覽:901
編譯器按變數 發布:2024-10-07 15:07:03 瀏覽:773
怎麼忘記電腦wifi密碼怎麼辦 發布:2024-10-07 15:02:18 瀏覽:424
安卓開發java開發 發布:2024-10-07 15:01:29 瀏覽:94
工業級安卓主板價格怎麼樣 發布:2024-10-07 14:07:57 瀏覽:627
編程先乘除 發布:2024-10-07 13:58:45 瀏覽:269
編譯內核時發生循環編譯 發布:2024-10-07 13:58:43 瀏覽:495
當下筆記本電腦什麼配置好 發布:2024-10-07 12:57:33 瀏覽:471
安卓倒車軌跡怎麼調 發布:2024-10-07 12:54:47 瀏覽:916