- 深入理解InfluxDB:時序數據庫詳解與實踐
- 鄭強 張偉 劉爽
- 562字
- 2024-12-27 22:22:05
1.4 InfluxDB的設計理念
InfluxDB是一個時序數據庫,為了最大程度發揮時序數據庫高寫入高查詢的功能,不得不對其設計優化做出一些權衡,主要是犧牲部分功能提升查詢和寫入的性能,其主要設計理念如下:
● 如果在同一時間點有相同的數據被寫入,就會被認為是重復寫入,這樣設計的目的是解決數據重復的沖突,但在極少數情況下,可能會發生數據丟失的情況。
● 為了提高查詢和寫入的性能,InfluxDB極少出現刪除數據的情況,即使要刪除數據,也基本是清理過期數據,由于這一缺陷,其刪除功能受到了很大限制。
● InfluxDB極少更新已有的數據,且不會出現有爭議的更新,時間序列中的數據總是新數據,這樣做的目的是限制對更新的訪問以提高查詢和寫入的功能,所以其更新功能是受到限制的。
● 絕大多數寫入是針對時間戳最近的數據,并且數據按時間升序添加。這樣使得添加數據的性能明顯更高,但如果使用隨機時間或者不按升序時間寫入,寫入性能就會降低。
● InfluxDB處理的數據規模會非常大,它的出現就是為了解決大量數據的快速寫入和查詢的需求。必須能夠處理大量的讀寫操作,為了解決大量數據的快速寫入和查詢的需求,InfluxDB團隊為了滿足需求不得不做出權衡以提高其性能。
● 能夠寫入和查詢數據會比強一致性更重要,這樣做使得在對數據庫進行查詢插入操作的時候,多個客戶端可以在高負載的情況下完成,但如果數據庫負載過重,查詢返回的結果可能不包括最近的point。
推薦閱讀
- Python廣告數據挖掘與分析實戰
- Redis應用實例
- 大數據:規劃、實施、運維
- iOS and OS X Network Programming Cookbook
- 信息學競賽寶典:數據結構基礎
- MySQL技術內幕:SQL編程
- 區塊鏈+:落地場景與應用實戰
- The Natural Language Processing Workshop
- 大數據與機器學習:實踐方法與行業案例
- 數據庫查詢優化器的藝術:原理解析與SQL性能優化
- MySQL數據庫應用與管理
- 數據可視化五部曲
- 一本書讀懂區塊鏈(第2版)
- Discovering Business Intelligence Using MicroStrategy 9
- 達夢數據庫集群