背景
在共享充電寶場景中,一些日常的運維操作可能會要求存儲系統能夠提供快速的OLAP解決方案。例如運維人員可能不具備開發環境,但會有一些簡單查詢或計算的需求。、表格存儲Tablestore控制台提供了主鍵查詢和多元索引查詢兩種方式。在已經建立了多元索引的表上,可以通過Tablestore控制台實作快速查詢;在未建立多元索引的表上,則不能直接根據屬性列進行查詢、計算。是以,需要存儲系統能夠提供便捷的SQL通路能力。
實作方案
采用DLA+Tablestore+OSS的方案實作使用SQL語言對Tablestore中的資料進行查詢分析。DLA(Data Lake Analytic)提供了分布式SQL查詢計算服務,可對複雜的SQL查詢進行拆分,産生多個子任務并發執行,提升資料查詢速度。Tablestore作為資料存儲主庫,打通了與DLA之間的連接配接,可接受DLA的各類查詢任務。OSS是一款分布式對象存儲系統,在此方案中用于儲存DLA查詢結果。三者之間的關系圖如下:

實作步驟
開通服務
建立Tablestore資料源
- 登入 DLA官網 ,進入DLA控制台。
- 點選中繼資料管理,選擇Tablestore資料源。
- 填寫排程配置,搜尋Tablestore執行個體,自動映射表schema,點選建立。
- 選擇對應的中繼資料,點選進入SQL控制台。
- 編寫SQL語句
SQL查詢示例
- 示例:查詢10條已下線的機櫃記錄
- 示例:查詢使用者手機号為15130755023的所有訂單記錄
- 示例:查詢機櫃D1911624846530008的時序記錄
SQL結果存儲
- OSS官網 ,進入OSS控制台。
- 選擇Bucket檔案,檢視SQL結果存儲檔案。
小結
DLA分布式SQL查詢計算服務基于Tablestore的範圍查詢與過濾器的方式,可以在無多元索引的前提下,将複雜的SQL查詢拆解為多個子任務并發執行,進而完成對表格存儲Tablestore中的資料進行SQL查詢分析。同時可以使用OSS服務儲存SQL查詢結果,避免一些耗時查詢的重複執行。