Table Store的時序模型是針對時間序列資料的特點進行設計,適用於物聯網裝置監控、裝置採集資料、機器監控資料等情境,支援自動構建時序中繼資料索引、豐富的時序查詢能力等功能。時序模型通過時序表格儲存體時間序列資料,能提供高並發寫入和查詢以及PB級海量資料的低成本儲存。您還可以通過SQL查詢與分析時序資料。
模型介紹
Table Store的時序模型是針對時間序列資料的特點進行設計,適用於物聯網裝置監控、裝置採集資料、機器監控資料等情境。
在Table Store的時序模型中,採用一張二維的時序表來儲存時序資料。每行代表一個時間軸在某個時間點的資料,該行的主鍵部分為時間軸標識和時間戳記,該行的資料列部分為該時間軸在該時間戳記下的資料點,可以有多個資料列。主鍵結構和資料列的結構無須使用者進行預先定義,使用者僅需要在寫入時指定資料列的列名即可。
一個時序表支援儲存不同度量類別的時序資料。以下圖為例,時序表中儲存了溫度(temperature)和濕度(humidity)兩種度量類別的資料。
圖中度量名稱(measurement)、資料來源(data source)和標籤(tags)組成了一個時間軸標識。此外,您還可以通過介面更新某個時間序列的中繼資料屬性(attributes),該中繼資料資訊可以用於時間軸的檢索。
資料寫入後,系統會自動提取該時間軸的中繼資料資訊並自動構建索引,支援按照度量名稱、資料來源以及標籤的組合條件進行時間軸檢索。
Table Store時序模型的主要優勢如下:
通用的時序資料建模方式,使用者無須預定義表結構。
支援自動構建時間序列的中繼資料索引,支援按照多種組合條件檢索時間序列。
支援SQL查詢以及通過SQL進行彙總統計操作。
服務能力自動水平擴充、支援高並發寫入和查詢以及PB級海量資料的低成本儲存。
基礎概念
概念 | 描述 |
時序資料 | 由多個時間序列組成,每個時間序列表示一組按照時間順序排列的資料點。除了資料點之外,還需要一些中繼資料用來標識一個時間序列。因此時序資料由中繼資料和資料兩部分組成。
|
時間軸 | 在時序資料情境中,常用時間軸來代指一個時間序列。在Table Store時序模型中,時間軸與時間序列也是等價的說法。 |
時間軸中繼資料 | 時間軸中繼資料也稱為時間序列中繼資料,表示一條時間軸的標識和屬性資訊。時間軸標識用來唯一確定一條時間軸,屬性資訊支援修改,可用於時間軸檢索。 |
時間軸標識 | 時間軸標識也稱為時間序列標識,用來唯一標識一條時間軸。在Table Store的時序模型中,時間軸標識由度量名稱、資料來源和標籤三部分組成。 |
度量名稱 | 時間軸資料所度量的物理量或者監控指標的名稱,例如cpu或net,用於表示該時間序列記錄的是cpu或者網路使用率等。 |
資料來源 | 產生時間軸的資料來源標識,可以為空白。 |
標籤 | 時間軸的標籤資訊。您可以自訂多個字串類型的key-value對。 |
屬性 | 屬性屬於時間軸中繼資料的一部分,可用於記錄該時間軸的一些可變屬性資訊,但不作為時間軸的標識,不用於唯一確定一個時間序列。時間軸的屬性在格式上類似於標籤,為多個字串類型的key-value對。您可以設定或者更新某個時間軸的屬性,用於後續通過屬性進行時間軸的檢索。 |
時間軸資料 | 一條時間軸的資料點由產生資料的時間和資料值兩部分組成。如果每個時間軸每個時刻僅產生一個值,則為單值模型;如果每個時刻對應多個值,則為多值模型。 Table Store的時序模型為多值模型,在一個時間點上可以設定多個資料值。每個值對應資料庫中的一列,包括列名和列值。列值支援多種資料類型,包括布爾、整型、浮點數、字串和二進位。 |
功能特性
建立和管理時序表
通過控制台、SDK、CLI工具等方式列出執行個體中的全部時序表、建立一張時序表、查詢時序表的配置資訊、更新時序表的配置資訊以及刪除一張時序表。
在建立或者更新時序表的配置資訊時,您可以設定時序表中資料的自動到期時間(TimeToLive),系統將自動判斷目前時間與時序資料中使用者寫入的時間戳記,超過到期時間後資料會被自動刪除。
讀寫時序資料
通過控制台、SDK、CLI工具等方式將時序資料批量寫入一張時序表中。資料寫入後,您可以通過指定時間軸標識來查詢一條時間軸在某段時間範圍內的資料。
時間序列檢索
通過控制台、SDK、CLI工具等方式檢索一張時序表中的時間軸。檢索條件支援多種條件組合,例如查詢“度量名稱為cpu”、“標籤中包含名稱為region和值為hangzhou的標籤”且“屬性中包含名稱為status和值為online”的所有時間軸。檢索到時間軸後,可以通過調用介面進一步查詢該時間軸中的資料。
SQL查詢分析
時序表支援通過SQL進行查詢,SQL中支援通過指定時間軸的中繼資料條件式篩選時間軸以及通過統計彙總操作按照不同維度對資料進行彙總操作,例如查詢某一批裝置採樣資料的平均值、將秒級資料彙總為分鐘級資料等。
此外,SQL還支援僅對時間軸的中繼資料進行查詢,方便通過SQL進行時間軸的中繼資料管理。
使用限制
更多資訊,請參見時序模型限制。
注意事項
目前支援時序模型功能的地區包括華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華北6(烏蘭察布)、華南1(深圳)、西南1(成都)、中國香港、日本(東京)、新加坡、馬來西亞(吉隆坡)、印尼(雅加達)、德國(法蘭克福)、英國(倫敦)、美國(矽谷)、美國(維吉尼亞)、沙特(利雅得)。
介面說明
分類 | 介面 | 描述 |
時序表管控介面 | 建立一張時序表。 | |
擷取當前執行個體下的時序表列表。 | ||
擷取一個時序表的資訊。 | ||
更新時序表的配置資訊。 | ||
刪除一個時序表。 | ||
時間序列操作介面 | 寫入時序資料。 | |
查詢某個時間軸的資料。 | ||
檢索時間軸的中繼資料。 | ||
更新時間軸的中繼資料。 | ||
刪除時間軸的中繼資料。 |
使用流程
步驟 | 操作 | 說明 |
1 | 建立RAM使用者後,為RAM使用者配置訪問Tablestore資源所需的最小化許可權。您可以使用系統預設策略或者自訂權限原則為RAM使用者授予訪問Table Store資源的許可權。 如果要使用阿里雲帳號或者要使用的RAM使用者已具有訪問Tablestore儲存資源所需的許可權,請跳過此步驟。 重要 阿里雲帳號預設具有所有雲資源的操作許可權,為了您的資源安全,建議您為阿里雲帳號建立RAM使用者並為其授權,實現不同RAM使用者擁有不同資源存取權限的目的。 | |
2 | 使用Tablestore功能前,您必須開通Tablestore服務。 服務僅需開通一次,開通過程免費。如果已經開通Table Store服務,請跳過此操作。 | |
3 | 根據確定的執行個體模型和執行個體規格在所需地區中建立相應執行個體。 如果已存在執行個體滿足使用需求,請跳過此步驟。 | |
4 | 建立時序表用於儲存時間序列資料。建立時序表時,您可以根據是否需要清理歷史業務資料配置時序表的資料生命週期。 | |
5 | 批量寫入時序資料到時序表。時序資料由中繼資料和資料兩部分組成,如果未預先建立中繼資料,則系統會根據寫入的資料自動提取中繼資料。 說明 您也可以使用kafka-connect-tablestore包將Kafka中資料寫入Tablestore的時序表中。更多資訊,請參見同步資料到時序表。 | |
6 | 重要 查詢時序資料前,如果不確定要查詢時間軸資訊(例如度量名稱、資料來源資訊),您可以指定多種條件檢索時間軸。更多資訊,請參見行政時間線中繼資料。 確定要查詢的時間軸後,根據時間範圍等條件查詢指定時間軸中合格時序資料。 | |
7 | 對於同一個時序表,您可以建立三種SQL映射關係用於資料查詢。
|
使用方式
您可以使用控制台、命令列工具或者SDK使用時序模型。
計費說明
時序模型計費項目包括時間軸資料和時間軸中繼資料的讀輸送量、寫輸送量、資料存放區量和外網下行流量。更多資訊,請參見時序模型計量計費。
常見問題
相關文檔
如果需要刪除歷史時序資料,您可以通過配置時序表的資料生命週期實現。更多資訊,請參見時序資料生命週期。
如果要以更低成本備份Table Store中的時序資料或者以檔案形式匯出時序資料到本地,您可以通過DataWorksData Integration服務將Table Store中的時序資料匯出到OSS後進行儲存或者下載。更多資訊,請參見將Table Store資料同步到OSS。
如果要可視化展示時序資料,您可以通過對接Grafana實現。更多資訊,請參見對接Grafana。
通過Flink計算與分析資料後,您可以使用Tablestore時序表格儲存體輸出結果。更多資訊,請參見使用時序表格儲存體Flink輸出結果。