偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

莫讓時間序列數(shù)據(jù)搞砸了關(guān)系數(shù)據(jù)庫

譯文
數(shù)據(jù)庫
人們?nèi)滩蛔r間序列數(shù)據(jù)塞入到熟悉的Postgres或MySQL數(shù)據(jù)庫中,但這是糟糕的主意,原因有很多。

譯者 | 布加迪

審校 | 重樓

對于門外漢來說,時間序列數(shù)據(jù)顯示與關(guān)系數(shù)據(jù)相似的特征,但這兩種數(shù)據(jù)有幾大區(qū)別。關(guān)系數(shù)據(jù)的主要目的是維護(hù)當(dāng)前事實真相的準(zhǔn)確表示,包括對象及對象之間的關(guān)系。而時間序列數(shù)據(jù)描述當(dāng)下所發(fā)生的事情。

比如說,以DevOps工程師需要的實時洞察和即時信號/異常檢測為例。您可以使用持續(xù)的觀察流來檢測模式、查找相關(guān)信息、識別和消除干擾信息以及發(fā)掘預(yù)示安全威脅的意外模式。時間序列數(shù)據(jù)使獲取這些洞察成為可能。當(dāng)然,時間序列數(shù)據(jù)可以塞入到行/表格式,但更適合以時間戳為主鍵的列數(shù)據(jù)庫。

關(guān)系數(shù)據(jù)vs時間序列數(shù)據(jù)

顧名思義,關(guān)系數(shù)據(jù)是闡明關(guān)系的數(shù)據(jù)。關(guān)系數(shù)據(jù)的目的是維護(hù)對象及對象相互關(guān)系的準(zhǔn)確記錄。關(guān)系數(shù)據(jù)是事務(wù)性數(shù)據(jù),經(jīng)常更新以保持準(zhǔn)確性。

而時間序列數(shù)據(jù)的目的是為分析和總結(jié)提供洞察力。一個序列是一連串觀測結(jié)果,所以從本質(zhì)上講,數(shù)據(jù)點(diǎn)與數(shù)據(jù)源有關(guān),但數(shù)據(jù)點(diǎn)不可變,因為過去不會變。雖然單個數(shù)據(jù)點(diǎn)可能沒有用處,但整個序列揭示了數(shù)據(jù)源如何隨時間而變化。

關(guān)系數(shù)據(jù)庫為關(guān)系數(shù)據(jù)而構(gòu)建

關(guān)系數(shù)據(jù)庫為關(guān)系數(shù)據(jù)而構(gòu)建,這似乎顯而易見。時間序列數(shù)據(jù)的特征和工作負(fù)載全然不同,因此關(guān)系數(shù)據(jù)庫不適合它們。

關(guān)系數(shù)據(jù)庫無法處理大規(guī)模時間序列的攝取速度。由于這是與規(guī)模有關(guān)的問題,它只會在大規(guī)模情形下才出現(xiàn)。因此,許多人開始使用關(guān)系數(shù)據(jù)庫處理時間序列,一旦達(dá)到擴(kuò)展方面的拐點(diǎn),就不得不做更多的工作。

對于存儲在關(guān)系數(shù)據(jù)庫中的每個原始數(shù)據(jù)源,估計需要10倍以上的存儲空間來存儲其相關(guān)的時間序列數(shù)據(jù)。關(guān)系數(shù)據(jù)庫不是為這種類型的增長情況而構(gòu)建的,這種類型的數(shù)據(jù)所需的關(guān)系數(shù)據(jù)庫的特性也不適用于這種類型的增長情況。

一個例子是,與數(shù)據(jù)庫備份相比,時間序列更傾向于讀寫之間較低的延遲。當(dāng)關(guān)系數(shù)據(jù)庫工作負(fù)載達(dá)到可擴(kuò)展性臨界點(diǎn)時,作為一種安全預(yù)防措施,數(shù)據(jù)庫做備份時寫入速度減慢。較高的延遲妨礙了自動化系統(tǒng)對任何異常情況立即采取行動的能力。

關(guān)系數(shù)據(jù)庫面臨的另一個挑戰(zhàn)是,由于明確的模式需求,它們?nèi)狈`活性。每當(dāng)您需要更新模式時,數(shù)據(jù)庫都必須進(jìn)行人力密集型遷移。這是一項有風(fēng)險的工作,因為無論開發(fā)人員在這個過程中多么小心,都有可能丟失或損壞數(shù)據(jù)。

時間序列數(shù)據(jù)庫為時間序列數(shù)據(jù)而構(gòu)建

InfluxDB是一種專門構(gòu)建的時間序列數(shù)據(jù)庫,通過云、本地和開源來交付。它旨在滿足時間序列數(shù)據(jù)的需求。在可擴(kuò)展性方面,在InfluxData的內(nèi)部基準(zhǔn)測試中,與其他數(shù)據(jù)庫相比,InfluxDB每秒攝取的數(shù)據(jù)多幾個數(shù)量級,耗用少得多的CPU和內(nèi)存,哪怕相比那些聲稱針對時間序列進(jìn)行調(diào)優(yōu)的數(shù)據(jù)庫。

InfluxDB是“寫時模式”(schema on write),這意味著開發(fā)人員只需將新的維度和字段添加到寫入操作,即可添加它們。不需要對任何生產(chǎn)或開發(fā)數(shù)據(jù)庫進(jìn)行更改。這為數(shù)據(jù)形狀不斷變化的工作負(fù)載提供了靈活性。

面向時間序列的Apache Arrow

時間序列旨在理解當(dāng)前的事實真相,提供即時洞察力和行動。關(guān)系數(shù)據(jù)庫可以執(zhí)行基本的數(shù)據(jù)操作,但無法對多個觀測結(jié)果執(zhí)行高級計算和分析。

由于時間序列數(shù)據(jù)工作負(fù)載非常大,因此它們需要能夠輕松處理龐大數(shù)據(jù)集的數(shù)據(jù)庫。Apache Arrow專門為移動大量列數(shù)據(jù)而設(shè)計。在Arrow上構(gòu)建數(shù)據(jù)庫為開發(fā)人員提供了更多的選擇,通過先進(jìn)的數(shù)據(jù)分析以及實施機(jī)器學(xué)習(xí)和人工智能工具(比如Pandas),有效地處理其數(shù)據(jù)。

一些人可能忍不住將Arrow用作當(dāng)前解決方案的外部工具。然而,這種方法行不通,因為如果數(shù)據(jù)庫沒有從源頭返回Arrow格式的數(shù)據(jù),生產(chǎn)級應(yīng)用程序?qū)㈦y以確保有足夠的內(nèi)存來處理龐大數(shù)據(jù)集。代碼源也將缺乏Arrow提供的壓縮功能。在網(wǎng)絡(luò)上傳輸未有效壓縮的字節(jié)會增加數(shù)據(jù)庫和代碼之間的延遲,從而對整體性能產(chǎn)生負(fù)面影響。

降低學(xué)習(xí)難度

在Apache生態(tài)系統(tǒng)上構(gòu)建InfluxDB提供了向時間序列數(shù)據(jù)庫添加SQL支持功能的機(jī)會。InfluxDB使用DataFusion作為查詢引擎,而DataFusion使用SQL作為查詢語言,這意味著凡是懂SQL的人現(xiàn)在都可以查詢時間序列,不需要使用另外的語言。

為了進(jìn)一步增強(qiáng)易訪問性,DataFusion中已經(jīng)有三個專門針對時間序列的函數(shù)。這些都是開源的,因此Apache Arrow社區(qū)的任何人都可以從中受益或為它們貢獻(xiàn)代碼。

1 date_bin() – Creates rows that are time windows of data with an aggregate.

2 selector_first(), selector_last() – Provide the first or last row of a table that meet specific criteria.

3 time_bucket_gapfill() – Returns windowed data, and if there are windows that lack data it will fill those gaps.

結(jié)論

與關(guān)系數(shù)據(jù)相比,時間序列數(shù)據(jù)有不同的特征、存儲需求和工作負(fù)載。由于數(shù)據(jù)類型看起來相似,所以在流程的早期意識到這些差異很重要。生產(chǎn)環(huán)境中的這些問題發(fā)現(xiàn)得越晚,解決起來就越困難。

時間序列數(shù)據(jù)與像InfluxDB這樣的時間序列數(shù)據(jù)庫最兼容,以支持高攝取率下的低延遲、寫時模式數(shù)據(jù)收集的靈活性以及高級數(shù)據(jù)分析。InfluxDB中的原生SQL支持使得SQL用戶更容易訪問時間序列數(shù)據(jù)工作負(fù)載。

您只需將時間序列數(shù)據(jù)庫添加到技術(shù)堆棧中,即可避免或應(yīng)對上述任何陷阱。

原文標(biāo)題:Don’t Let Time Series Data Break Your Relational Database,作者:Jessica Wachtel

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2011-10-11 17:07:12

數(shù)據(jù)庫Internet文件數(shù)據(jù)庫

2023-10-10 11:18:42

Spring數(shù)據(jù)庫

2023-10-16 13:26:00

RDBMS關(guān)系數(shù)據(jù)庫

2009-07-10 09:28:41

NoSQL關(guān)系數(shù)據(jù)庫

2020-03-14 16:37:09

數(shù)據(jù)庫IT技術(shù)

2011-03-15 14:54:08

NoSQL

2009-03-26 11:10:13

關(guān)系數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫數(shù)據(jù)庫

2023-02-16 17:44:13

2011-07-18 09:54:47

云計算分片關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫

2010-09-15 14:09:01

GraphDataba

2023-08-01 14:35:00

關(guān)系數(shù)據(jù)庫排列

2009-03-03 09:54:41

云計算關(guān)系數(shù)據(jù)庫數(shù)據(jù)庫

2018-10-15 13:57:38

Hadoop數(shù)據(jù)庫MySQL

2023-01-06 08:00:00

關(guān)系數(shù)據(jù)庫數(shù)據(jù)庫機(jī)器學(xué)習(xí)

2011-05-19 10:29:40

對象數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫

2011-09-27 13:41:09

數(shù)據(jù)庫

2009-10-29 11:01:52

Amazon RDSMySQL關(guān)系數(shù)據(jù)庫

2009-08-25 09:09:33

關(guān)系數(shù)據(jù)庫數(shù)據(jù)庫革命RDBMS

2011-03-11 11:30:56

云計算非關(guān)系數(shù)據(jù)庫

2009-04-17 10:09:49

非關(guān)系數(shù)據(jù)庫SimpleDB
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號