Tablestore面向海量結構化資料提供Serverless表格儲存體服務,適用于海量賬單、IM訊息、物聯網、車連網、風控、推薦等情境中的結構化資料存放區,提供海量資料低成本儲存、毫秒級的線上資料查詢和檢索以及靈活的資料分析能力。
基本概念
在使用Tablestore前,您需要瞭解以下基本概念。
術語 | 說明 |
地區 | 地區(Region)是物理的資料中心,Tablestore服務會部署在多個阿里雲地區中,您可以根據自身的業務需求選擇不同地區的Tablestore服務。更多資訊,請參見Table Store已經開通的Region。 |
讀寫輸送量 | 讀輸送量和寫輸送量的單位為讀服務能力單元和寫服務能力單元,服務能力單元(Capacity Unit,簡稱CU)是資料讀寫操作的最小計費單位。更多資訊,請參見讀寫輸送量。 |
執行個體 | 執行個體(Instance)是使用和管理Tablestore服務的實體,每個執行個體相當於一個資料庫。Tablestore對應用程式的存取控制和資源計量都在執行個體層級完成。更多資訊,請參見執行個體。 |
服務地址 | 每個執行個體對應一個服務地址(EndPoint),應用程式在進行表和資料操作時需要指定服務地址。更多資訊,請參見服務地址。 |
資料生命週期 | 資料生命週期(Time To Live,簡稱TTL)是資料表的一個屬性,即資料的存活時間,單位為秒。Tablestore會在後台對超過存活時間的資料進行清理,以減少您的資料存放區空間,降低儲存成本。更多資訊,請參見資料版本和生命週期。 |
資料存放區模型
Tablestore提供多種資料存放區模型,您可以根據業務需求選擇對應的模型進行應用。Tablestore資料存放區模型的詳細說明請參見下表。
模型 | 描述 |
寬表模型 | 類Bigtable/HBase模型,可應用於中繼資料、巨量資料等多種情境,支援資料版本、生命週期、主鍵列自增、條件更新、局部事務、原子計數器、過濾器等功能。更多資訊,請參見寬表模型。 |
時序模型 | 針對時間序列資料的特點進行設計的模型,可應用於物聯網裝置監控、裝置採集資料、機器監控資料等情境,支援自動構建時序中繼資料索引、豐富的時序查詢能力等功能。更多資訊,請參見時序模型。 |
訊息模型 | 針對訊息資料情境設計的模型,可應用於IM、Feed流等訊息情境。能滿足訊息情境對訊息保序、海量訊息儲存、即時同步的需求,同時支援全文檢索索引與多維度組合查詢。更多資訊,請參見訊息模型。 |
功能特性
Tablestore的不同模型支援的功能不同。
寬表模型
功能特性 | 描述 | 相關文檔 |
表操作 | 支援列出執行個體中的全部資料表、建立一張資料表、查詢資料表的配置資訊、更新資料表的配置資訊以及刪除一張資料表。 | |
基礎資料操作 | Tablestore提供了PutRow、GetRow、UpdateRow和DeleteRow的單行資料操作介面以及BatchWriteRow、BatchGetRow和GetRange的多行資料操作介面。您可以通過單行資料操作介面或者多行資料操作介面讀寫表中資料。 | |
資料版本和生命週期 | 使用資料版本以及資料生命週期(TTL)功能,您可以有效管理資料,減少資料存放區空間,降低儲存成本。 | |
主鍵列自增 | 設定非分區鍵的主鍵列為自增列後,在寫入資料時,無需為自增列設定具體值,Tablestore會自動產生自增列的值。該值在分區鍵層級唯一且嚴格遞增。 | |
條件更新 | 只有滿足條件時,才能對資料表中的資料進行更新;當不滿足條件時,更新失敗。 | |
局部事務 | 建立資料範圍在一個分區索引值內的局部事務。對局部事務中的資料進行讀寫操作後,可以根據實際提交或者丟棄局部事務。 | |
原子計數器 | 將列當成一個原子計數器使用,對該列進行原子計數操作,可用於為某些線上應用提供即時統計功能,例如統計文章的PV(即時瀏覽量)等。 | |
過濾器 | 在服務端對讀取的結果再進行一次過濾,根據過濾器中的條件決定返回哪些行。由於只返回合格資料行,所以在大部分情境下,可以有效降低網路傳輸的資料量,減少回應時間。 | |
二級索引 | 通過建立一張或多張索引表,使用索引表的主鍵列查詢,相當於把資料表的主鍵查詢能力擴充到了不同的列。二級索引包括全域二級索引和本地二級索引。
| |
多元索引 | 多元索引基於倒排索引和列式儲存,可以解決巨量資料的複雜查詢難題,包括非主鍵列查詢、全文檢索索引、首碼查詢、模糊查詢、多條件組合查詢、巢狀查詢、地理位置查詢、統計彙總(max、min、count、sum、avg、distinct_count、group_by)、並發匯出資料等功能。 | |
SQL查詢 | SQL查詢功能為多資料引擎提供統一的提供者。通過SQL查詢功能,您可以對Tablestore中資料進行複雜的查詢和高效的分析。使用SQL查詢資料時,您還可以配合索引來最佳化查詢。 | |
通道服務 | Tablestore提供了增量、全量、增量加全量三種類型的分布式資料即時消費通道,可以實現對錶中歷史存量和新增資料的消費處理。 | |
資料安全 | Tablestore預設只能通過經典網網域名稱、VPC網域名稱或者控制台進行訪問。您可以通過為執行個體綁定VPC並更改執行個體網路類型實現在專用網路中使用Tablestore資源,保證網路訪問安全。 為了保證表資料安全,Tablestore提供了資料落盤加密功能。您可以在建立資料表時配置資料表加密。 | |
資料湖投遞 | Tablestore資料湖投遞可以全量備份或即時投遞資料到資料湖OSS中儲存,以滿足更低成本的歷史資料存放區,以及更大規模的離線和准即時資料分析需求。 | |
資料視覺效果 | 支援對接資料視覺化工具DataV或者Grafana。通過對接資料視覺化工具可以實現可視化展示Tablestore中的資料。 | |
監控與警示 | 通過查看Tablestore資源的監控資訊,您可以瞭解資源的使用方式。通過為資源的重要監控指標設定警示規則,您還可以及時得知指標異常並快速處理異常。 | |
備份與恢複 | 通過Cloud Backup定期備份Tablestore執行個體中的資料,並在資料丟失或受損時及時恢複。Cloud Backup支援全量與增量資料備份,同時支援資料冗餘機制,可以提高存放庫的資料可靠性。 | |
HBase支援 | 開源HBase API的Java應用可以通過Tablestore HBase Client直接存取Tablestore服務。 | |
審計日誌 | 通過審計日誌功能,您可以查詢與分析Tablestore執行個體中的表、索引相關操作的日誌。 |
時序模型
功能特性 | 描述 | 相關文檔 |
表操作 | 支援列出執行個體中的全部時序表、建立一張時序表、查詢時序表的配置資訊、更新時序表的配置資訊以及刪除一張時序表。 | |
讀寫時序資料 | 將時序資料批量寫入一張時序表中。資料寫入後,您可以通過指定時間軸標識來查詢一條時間軸在某段時間範圍內的資料。 | |
時間軸檢索 | 檢索一張時序表中的時間軸,檢索條件支援多種條件組合。檢索到時間軸後,您可以通過調用介面進一步查詢該時間軸中的資料。 | |
SQL查詢分析 | 時序表支援通過SQL進行查詢,SQL中支援通過指定時間軸的中繼資料條件式篩選時間軸以及通過統計彙總操作按照不同維度對資料進行彙總操作。 此外,SQL還支援僅對時間軸的中繼資料進行查詢,方便通過SQL進行時間軸的中繼資料管理。 | |
對接Grafana | Tablestore的表資料接入Grafana後,Grafana可以根據表資料產生大盤面板,將資料即時展示給需要的使用者。 |
訊息模型
功能特性 | 描述 | 相關文檔 |
表操作 |
| |
Meta管理 | Meta管理提供了增、刪、改、單行讀、多條件組合查詢等介面。 | |
Timeline管理 | Timeline管理提供了訊息模糊查詢、多條件組合查詢介面。 | |
Queue管理 | Queue是單存放庫下單Identifier對應的訊息佇列的管理執行個體,主要有同步寫、非同步寫、批量寫、刪、同步改、非同步改、單行讀、範圍讀等介面。 |