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