InfluxDB,一個處理大量數據的優秀開源數據庫

在選擇數據庫時 對於新項目或現有項目來替換您正在使用的項目, 我已經在博客上提到過,找到選項的最佳網站是 數據庫引擎, 我們可以在其中找到大量數據庫,我相信您甚至不知道它們的存在。

但是轉到主要話題, 我們今天要討論的這篇文章是關於 InfluxDB 的,它是處理大量數據而不必犧牲性能的絕佳選擇。

我們應該知道 InfluxDB 是一個針對時間序列數據優化的數據庫 可用於本地數據中心或作為 Microsoft Azure、Amazon Web Services (AWS) 和 Google Cloud Computing 上的雲解決方案。

時間序列數據庫 (TSDB) 可以在沒有云服務器或數據中心有自己的服務器的情況下運行. 該數據庫由美國公司 Influxdata 開發。

InfluxDB 專注於存儲科學領域的大量數據 和傳感器發送的數據。 數據庫 它比傳統數據庫快得多 在存儲和管理時間序列方面。 也可以進行實時處理,以及使用基於 Javascript 的內部查詢語言 Flux 查詢數據。

這看起來更像是一種編程語言,而不是一種偵聽端口 8086 的 SQL 查詢語言,再加上 InfluxDB 沒有外部依賴,並且具有用於查詢數據結構的以時間為中心的內置函數 由度量、序列和點組成。 每個點由多個鍵值對組成,稱為字段集和時間戳。 當由一組稱為標籤集的鍵值對分組時,它們定義了一個系列。 最後,該系列按字符串標識符分組以形成度量。

值可以是 64 位整數、64 位浮點數、字符串和布爾值。 點按其時間和標籤集進行索引。 保留策略在指標中定義,並控制如何減少和刪除數據。 連續查詢定期運行並將結果存儲在目標指標中。

如果時間序列要存儲在數據庫中,例如在使用物聯網基礎設施時, InfluxDB 可用於保存傳感器信息,包括時間戳. 由於計時在 InfluxDB 中起著重要作用,內部計時服務確保 InfluxDB 集群中的所有節點同步運行。 當然,InfluxDB 也適用於存儲公司網絡上的監控數據。

InfluxDB 中的數據庫不必很複雜,可以提供幾十個列。 例如,如果需要將傳感器的某些測量值保存為時間的函數,則僅將其與幾列一起使用是有意義的。

如果必須並行接收和處理來自多個源的數據,例如在傳感器的情況下,關聯的數據庫必須能夠快速處理這些並行查詢。 由於數據通常是實時接收的,因此必須相應地調整數據庫的寫入性能。 此外,還存在來自傳感器的測量數據並不總是準確寫入和定義的挑戰。 時間序列數據庫仍然可以存儲這些數據並使其可用。

另外, 一旦時間序列數據被保存,以後很少需要更新它. 因此,沒有必要為此優化時間序列數據庫。 此外,還有刪除或壓縮不再需要的過時數據所需的功能。 這些任務也是快速時間序列數據處理的一部分。

InfluxDB 僅包含幾個可用於 Linux 和 macOS 的組件。 所有功能都包含在一個文件中,便於安裝和操作。

最後,如果您有興趣了解更多信息,可以 檢查以下鏈接中的詳細信息。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。