六月婷婷AV,国产偷窥猎奇福利二区,日韩三级片。,好吊色网站,日韩成人中文在线视频,国产亚洲午夜啪啪,亚洲欧美另类国产精品,国产成人av1,任你艹在线观看

高壓縮率

高壓縮率

在工業(yè)互聯(lián)網(wǎng)和物聯(lián)網(wǎng)等領域,數(shù)據(jù)集的價值與其規(guī)模是成正比的:應用程序和算法可以使用的數(shù)據(jù)越多,它們的輸出結果就越精確。然而,由眾多設備產生的海量數(shù)據(jù)需要處理,對于大型企業(yè)來說,存儲成本可能會非常高昂。

但有一個好消息,那就是時序數(shù)據(jù)非常易于壓縮。TDengine 大幅提高了數(shù)據(jù)壓縮率,甚至能將數(shù)據(jù)集壓縮至原始大小的1/10,并且?guī)缀醪粫绊懱幚硇阅?。這一切都得益于幾個關鍵的創(chuàng)新點。

列式存儲

時序數(shù)據(jù)庫主要用來存儲設備隨時間變化而產生的數(shù)據(jù)。這些數(shù)據(jù)通常以較短的時間間隔進行采集,比如一分鐘采集一次,或一秒鐘采集一次。這就導致每個數(shù)據(jù)點與其相鄰點的數(shù)值十分接近。以每 15s 測量一次溫度的設備為例,在這么短的時間內,正常情況下,溫度的變化通常不會太大,保持在一個相對穩(wěn)定的范圍內。

和 MySQL 這類采用行式存儲的通用數(shù)據(jù)庫不同,TDengine 采用列式存儲。

  • 大幅提高壓縮率:同一列數(shù)據(jù)相近,便于壓縮;不同數(shù)據(jù)類型可采用不同壓縮算法。
  • 大幅提高分析性能:時序數(shù)據(jù)的分析,往往是針對一個采集量在一個時間范圍段進行的。如果行式存儲,會讀取大量的無效數(shù)據(jù)。

采用列式存儲,由于這些數(shù)據(jù)的相似性,即便不使用復雜的壓縮技術,也能達到很好的壓縮效果。

高壓縮率 - TDengine Database 時序數(shù)據(jù)庫
列式存儲:將相似的數(shù)據(jù)存放在一起

兩級壓縮

TDengine 采用兩級壓縮技術,即先對數(shù)據(jù)進行編碼,然后在編碼的基礎上對數(shù)據(jù)塊進行壓縮。

TDengine 對數(shù)據(jù)的編碼方式如下:

  • 較小的整數(shù)數(shù)據(jù)類型(INT、TINYINT 等)使用 simple8b 編碼。
  • 較大的整數(shù)數(shù)據(jù)類型(BIGINT 和 UBIGINT)和時間戳使用 delta 編碼。
  • 浮點數(shù)據(jù)類型(FLOAT 和 DOUBLE)使用 delta-of-delta 編碼。

delta 編碼,也稱增量編碼,是一種在序列數(shù)據(jù)之間以數(shù)據(jù)差異(delta)的形式存儲或傳輸數(shù)據(jù)的方法。例如,對于序列數(shù)據(jù) [2, 4, 6, 9, 7],delta 編碼會存儲 [2, 2, 2, 3, -2],其中每個值表示前一個數(shù)據(jù)點與當前數(shù)據(jù)點之間的差異。在時序數(shù)據(jù)場景下,由于相鄰數(shù)據(jù)點的差異通常較小,Delta編碼可以顯著減少數(shù)據(jù)的冗余,從而顯著提高壓縮效率。

編碼后,對于所有的數(shù)據(jù)類型,會使用標準的數(shù)據(jù)壓縮算法進行壓縮。TDengine 默認對所有列使用 lz4 進行壓縮。但用戶可以在建表時,根據(jù)需要配置 zlib、zstd、tsz、xz 或 disabled 等壓縮算法,不同的數(shù)據(jù)類型,可以選擇不同的壓縮算法。詳細可查看《可配置壓縮算法》。

存儲壓縮算法增強后,TDengine 的壓縮比預期可再提升一倍以上。

一個設備一張表

為充分利用其數(shù)據(jù)的時序性和其他數(shù)據(jù)特點,TDengine 采取一張設備一張表的策略,要求對每個數(shù)據(jù)采集點單獨建表,用來存儲這個數(shù)據(jù)采集點所采集的時序數(shù)據(jù)。這樣的好處是:

  • 每張表里的記錄按時間自動排序
  • 新數(shù)據(jù)記錄的寫入變成簡單的追加操作
  • 數(shù)值按列的變化范圍更小
  • 設備 ID、標簽不會重復存儲

這樣的設計讓 TDengine 在數(shù)據(jù)壓縮率上遠超其他時序數(shù)據(jù)庫,同時,也便于數(shù)據(jù)的管理和查詢。

可配置壓縮算法

從 TDengine 3.3.0.0 版本開始,TDengine 提供了更高級的壓縮功能,用戶可以在建表時針對每一列配置是否進行壓縮、以及使用的壓縮算法和壓縮級別。

  • 第一級壓縮支持多種編碼方法,可擴充, 包括 simple8b、delta-i、delta-d、bit-packing、disabled
  • 第二級壓縮支持多種壓縮算法,可擴充,包括 lz4、zlib、zstd、tsz、xz、disabled
  • 壓縮等級支持 高、中、低三種

詳見《可配置壓縮算法》。

存儲壓縮算法增強后,TDengine 的壓縮比預期可再提升一倍以上。

Q&A

Q:TDengine 的時序數(shù)據(jù)壓縮率能達到多少?核心解決什么問題?

A:TDengine 能將時序數(shù)據(jù)壓縮至原始大小的1/10,且?guī)缀醪挥绊憯?shù)據(jù)處理性能。其核心解決工業(yè)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)場景中的 “海量數(shù)據(jù)存儲成本高” 問題 —— 設備持續(xù)產生的大量時序數(shù)據(jù)無需依賴額外存儲資源,即可低成本留存,同時保障后續(xù)分析性能。

Q:TDengine 為什么采用列式存儲?相比行式存儲,對壓縮率有什么幫助?

A:TDengine 采用列式存儲是基于時序數(shù)據(jù) “相鄰數(shù)據(jù)點數(shù)值相近” 的特點(如 15 秒采集一次的溫度數(shù)據(jù)變化?。?。相比行式存儲(如 MySQL),列式存儲的優(yōu)勢直接提升壓縮率:① 同一列數(shù)據(jù)特征一致、數(shù)值相近,更易壓縮;② 可針對不同數(shù)據(jù)類型(如整數(shù)、浮點)匹配專屬壓縮算法,避免行式存儲中 “混合數(shù)據(jù)難適配算法” 的問題。

?Q:TDengine 的 “兩級壓縮” 技術具體怎么實現(xiàn)?支持哪些編碼和壓縮算法?

A:TDengine 兩級壓縮分 “編碼→壓縮” 兩步,針對性降低數(shù)據(jù)冗余:① 第一級(編碼):按數(shù)據(jù)類型適配算法,如小整數(shù)用 simple8b 編碼、時間戳用 delta 編碼、浮點用 delta-of-delta 編碼;② 第二級(壓縮):默認用 lz4 算法,用戶可在建表時配置 zlib、zstd、tsz、xz 等算法,也可選擇禁用。其中 delta 編碼通過存儲 “相鄰數(shù)據(jù)差異”,大幅減少時序數(shù)據(jù)冗余。

Q:TDengine “一個設備一張表” 的設計,對提升壓縮率有什么作用?

A:“一個設備一張表” 是 TDengine 提升壓縮率的關鍵設計,核心作用包括:① 表內數(shù)據(jù)按時間自動排序,相鄰數(shù)據(jù)數(shù)值變化范圍更小,壓縮難度降低;② 新數(shù)據(jù)僅需追加寫入,無需調整已有數(shù)據(jù)結構,避免冗余存儲;③ 設備 ID、標簽等信息無需重復存儲在每條數(shù)據(jù)中,直接減少數(shù)據(jù)量,進一步放大壓縮效果。

Q:TDengine 支持自定義配置壓縮算法嗎?具體有哪些可配置選項?

A:從 TDengine 3.3.0.0 版本開始,支持針對每一列自定義壓縮配置:① 第一級編碼可選 simple8b、delta-i、delta-d 等(或禁用);② 第二級壓縮算法可選 lz4、zlib、zstd、tsz 等(或禁用);③ 壓縮等級支持高、中、低三檔。靈活配置后,壓縮比預期可再提升一倍以上,詳情可參考《可配置壓縮算法》文檔。