Skip to Content

什麼是時間序列資料庫(TSDB)?

Vector illustration concept of time management isolated on blue background with long shadow.

當您需要逐分鐘顯示、逐日顯示或任何其他日期範圍分析時,您使用時間序列資料庫。時間序列資料庫會儲存資料點及其相關時間戳記,以便向使用者顯示一段時間內的趨勢。它通常用於時間式資訊和分析的視覺化。

什麼是時間序列資料庫?

在時間序列資料庫中,每一筆記錄都包含時間戳記。時間戳記可用於顯示單一資料點,或在繪圖和分析中顯示。時間序列資料庫專門用於需要日期範圍的資訊,例如追蹤天氣,或查詢為監控目的而記錄的特定事件。

什麼是 Time-series 系列?

時間序列資料庫會儲存所有資料,但時間序列收集是從資料庫取得並返回應用程式的一片資料。時間序列的收集是從資料庫擷取,以資料集的形式進行,資料集包含指定日期範圍的資料點。使用者或應用程式會將時間範圍作為輸入資料傳送至資料庫,資料庫會針對落在指定範圍內的每個資料點傳回集合。

時間序列資料庫如何運作

通常建立時間序列資料庫,以擷取大量資料供未來分析之用。使用者在應用程式中設定日期範圍,資料庫會傳回一組資料點。資料庫的運作方式是以間隔擷取資料。例如,股票代號可能每分鐘顯示股價變動。資料庫會儲存股票名稱、價格和時間戳記,以每分鐘記錄分析和歷史資訊的股價。

從時間序列資料庫中擷取的資料會依時間順序對記錄進行排序,讓開發人員可以建立視覺化,而不需負擔太多開銷。資料庫是功能強大的伺服器,因此能夠比前端網路應用程式更快地排序資料集。時間序列資料庫從應用程式取得輸入,以決定資料應該排序的方式,讓開發人員能夠向使用者顯示分析結果。舉例來說,使用者可能會要求特定日期範圍的股價相關資料,並依升序排序。

熱門的時間序列資料庫:比較

每個序列資料庫都有一個後端引擎,用於儲存和檢索資料。引擎必須快速高效,才能儲存大量資料,同時能以極小的延遲時間擷取資料。您可以將以時間為基礎的資料儲存在傳統資料庫中,但市場上的數個時間序列資料庫是專為查詢和儲存此類資料而設計。

為何使用 InfluxDB:開源 TSDB

有些開發人員偏好開源資料庫,因為他們可以放棄代碼庫,並對基本產品進行自行變更。InfluxDB 是開源時間序列資料庫,每秒可儲存數千個資料點。如果您想監控工業應用的IoT設備等基礎架構,InfluxDB 是不錯的選擇。

Prometheus vs. InfluxDB

InfluxDB 與 Prometheus 的主要差異在於資料擷取的方式。有了 InfluxDB,應用程式會持續將資料傳送至資料庫,並加以儲存與擷取。Prometheus 透過 API 運作,應用程式會推送資料,而資料庫則使用 API 來輪詢儲存的資料。對於系統位於多個位置的大型企業,Prometheus 雲端 API 可讓開發人員從多個位置上傳資料,並可在中央儀表板中檢視這些資料。

TimescaleDB vs. InfluxDB

InfluxDB 是 NoSQL 資料庫,而 TimescaleDB 是關聯式資料庫。關聯式資料庫的運作方式與 NoSQL 資料庫截然不同。關聯式資料庫可搭配表格與金鑰使用,可用來結合儲存在每個表格中的資料。了解資料庫儲存資料的方式非常重要,因為它的擷取方式使用不同的語法。如果您知道將要儲存的資料,並將其整理成表格,那麼 TimescaleDB 是可行的選項。

Elasticsearch vs. InfluxDB

為了提升效能,Elasticsearch 是企業應用中常用的引擎。它的效能略優於 InfluxDB,因為它有能力打破指數,而指數是 Elasticsearch 儲存為文件的資料對應圖。Elasticsearch 應用於大型資料集,其中應用程式和使用者將從各種時間戳中擷取可能跨越數百萬個資料點的資料集。例如,Elasticsearch 有助於審查用來監控大型企業網路環境的記錄檔,以發現任何可疑的使用者活動。

何時使用時間序列資料庫

大多數的時間序列資料庫都用於監控硬體或軟體,因此大量收集資料可用於分析特定事件。為了清楚了解環境中的事件,您需要從多個來源收集大量資料。舉例來說,IoT感測器可能會從多台機器收集溫度資料。時間序列資料庫會儲存一天當中每一分鐘的溫度,讓工程師能找出任何異常情況,並在機器故障前進行修復。

關聯式資料庫與時間序列資料庫

大多數時間序列資料庫使用 NoSQL 文件來儲存資料,這是儲存非結構化資料的常見方式。非結構化資料意味著開發人員可以儲存時間戳記和名稱等資料,而不必限制將資料組織到定義的表格列。關聯式資料庫要求開發人員使用特定結構儲存資料,因此對於具有未知值和資料類型的時間序列資料而言,他們是不可行的選項。例如,開發人員無法使用關聯式資料庫在時間戳記欄中儲存字串值,但可以使用時間序列 NoSQL 資料庫完成。

NoSQL vs. 時間序列資料庫

NoSQL 資料庫是未知值的首選方法。您應選擇一個支援 NoSQL 的資料庫,如 InfluxDB 或 Elasticsearch。這些時間序列資料庫提供大量資料儲存,在查詢時具有快速效能。它們大多保留給大型企業應用程式使用,而且更難以部署。NoSQL 資料庫配置不正確,可能會抑制查詢處理期間的效能。

時間序列資料庫的優勢

每個資料庫都儲存資訊,但時間序列資料庫是專門為時間式分析而建立的。時間序列資料庫的好處在於能夠儲存包含時間戳記的每個資料點的大量資料。因為它是以大型資料集為基礎所打造,因此時間序列資料庫在插入新記錄和擷取大型資料集時,通常比傳統資料庫更快、更有效率。

時間序列資料庫通常對於涉及日期和時間的查詢更為準確,而且可以更有效率地儲存時間序列資料。任何想要儲存監控資料的組織,都能從時間序列資料庫獲益。應用程式得益於時間序列資料庫,它能夠擷取大型資料集,用於分析、視覺化、財務趨勢、活動資訊,以及環境變化,這些變化在一天當中以不同的間隔經常發生。

時間序列資料庫的缺點

與任何進階基礎架構一樣,時間序列資料庫更難以正確部署和配置。因為大多數是 NoSQL,如果 NoSQL 資料庫未最佳化,則部署不當的 NoSQL 資料庫會遭遇效能不佳的問題。配置要求組織內的人員了解優化資料庫的適當方法。 

希望儲存時間序列資料的企業需要資源來儲存大量資料。資料可以儲存在雲端,但會增加 IT 成本。支援資料儲存和時間序列資料庫處理的基礎架構可能成本高昂。

結論

如果您需要為以時間為基礎的資料找到更好的解決方案,時間序列資料庫是不錯的選擇。回顧不同類型的資料庫引擎,考慮成本,並找到隨著業務成長和資料儲存增加而擴展的引擎。請記得檢視設定和最佳化選項,以確保資料庫盡可能有效率地運作。

聯繫我們
問題或建議

如對Pure的產品或認證,有任何的疑問或建議,歡迎與我們聯繫!

預約試用

預約現場示範,親眼看看 Pure 如何幫助您將資料轉化為強大的成果。 

聯絡我們:886-2-3725-7989

媒體:pr@purestorage.com

 

Pure Storage總部

34F, Taipei Nanshan Plaza,

No. 100, Songren Road,

Xinyi District,

Taipei City 110016

Taiwan (R.O.C.)

800-379-7873 (一般資訊)

info@purestorage.com

關閉
您的瀏覽器已不受支援!

較舊版的瀏覽器通常存在安全風險。為讓您使用我們網站時得到最佳體驗,請更新為這些最新瀏覽器其中一個。