告別“紛紛擾擾”—小米OLAP服務架構演進
本文從後設資料和許可權管理兩方面介紹了小米OLAP服務的架構演進。
What’s OLAP?
OldArchitecture & Drawbacks
過去究竟有哪些“紛紛擾擾”呢,讓我們先從 OLAP1.0 版本的後設資料與許可權管理圖說起。可以看到,在舊版的架構中,Kudu表相關的許可權和後設資料與Hive表相關的許可權和後設資料,無論在實現上還是底層儲存上都是分離的。前者透過我們自己實現的Metadata Cache 和 Privilege Cache 與 OLAP 服務的元件 Metastore Manager 及SparkSQL 引擎進行互動,資料儲存在 Kudu 上;後者則使用了獨立的服務 Hive Metastore(HMS) 和 Sentry 分別進行後設資料與許可權的管理,底層資料儲存在 MySQL 資料庫。瞭解完舊版本的架構,就可以更徹底地瞭解這樣的架構帶來了的問題:
1、使用者角度:
(1)使用者使用 OLAP 服務時,如果要訪問 Kudu 表,需要對 SparkSQL佇列進行特殊配置,以開啟對 Kudu 資料來源的支援。
(2)雖然早期架構在程式碼層對meta 做了合併,但是並未從根本上解決許可權分離的情況。比如使用者透過 Hive 授權的某個資料庫A,透過 OLAP 系統授權了某個資料庫B,在 OLAP 系統是無法看到資料庫A的相關表資訊的。還會出現使用者有Kudu表許可權但沒有 Hive 表許可權的情況。上述情況不利於使用者資料的打通,還會讓使用者在使用過程中產生疑惑。同時,使用者需要切換佇列配置重啟服務,使用上也不夠友好。
2、開發角度:
Metadata Cache 和 Privilege Cache 在實現上存在冗餘,其和底層後設資料的互動在兩個元件都存在。其維護和開發成本比較高,沒有統一入口和規範。同時,底層分離的後設資料和許可權並不利於後續統一的 SQL Proxy 的開發。
可以看到,無論從使用者的角度,還是開發者的角度,進行底層後設資料和許可權的架構整合都非常必要。
MetadataFederation
PrivilegeFederation
總結與展望
小結
展望
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559359/viewspace-2655607/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 架構演進之「微服務架構」架構微服務
- 雲服務、雲辦公紛紛單飛,金山軟體指誰養老?
- 小米手環勿擾模式怎麼設定? 小米手環5開啟勿擾模式的設定教程模式
- 服務架構學習與思考(12):從單體架構到微服務架構的演進歷程架構微服務
- vivo服務端監控系統架構及演進之路服務端架構
- 私有化部署chatGPT,告別網路困擾ChatGPT
- 微服務事件驅動架構演進微服務事件架構
- “某寶”支付服務架構演進之路,解決實際問題!架構
- 聊聊演進式架構架構
- Airbnb的架構演進AI架構
- Serverless 架構的演進Server架構
- 個人筆記-服務端高併發分散式架構演進之路筆記服務端分散式架構
- 蘋果、網易、小米遊戲紛紛推出付費會員系統:手遊訂閱時代到來?蘋果遊戲
- 走,去搞ChatGPT!谷歌AI學者紛紛跳槽OpenAIChatGPT谷歌OpenAI
- 鏈改超級節點進駐新成員:易華錄、眾籤科技紛紛加入!
- 為什麼大企業紛紛轉型使用零程式碼平臺來進行管理
- 今日頭條架構演進之路——高壓下的架構演進專題架構
- 印度遊戲行業迎來投資熱潮 Paytm、Google Pay等多家支付巨頭紛紛進軍遊戲業務遊戲行業Go
- 淺談:服務架構進化論架構
- 為什麼品牌商紛紛搭建自己的商城小程式?
- 快遞詐騙猖獗,主流快遞品牌紛紛躺槍
- 紛紛入局智慧經營領域,微小程迎接自如
- Python後端架構演進Python後端架構
- Serverless 架構模式及演進Server架構模式
- 細說紛紜——Redis 和 Memcached 的區別Redis
- 《六週玩轉雲原生》- 微服務架構下服務治理體系的演進歷程?微服務架構
- 微服務架構中的服務邊界與服務識別微服務架構
- 為何巨頭紛紛投入伺服器AI晶片市場?伺服器AI晶片
- 為什麼日本經典老遊戲都紛紛復活了?遊戲
- 企業為何紛紛選擇CRM客戶管理系統
- 宜信微服務架構落地及其演進|分享實錄微服務架構
- 雲原生架構下的微服務選型和演進架構微服務
- 基於 RocketMQ 的 MQTT 服務架構在小米的實踐MQQT架構
- 萬表商城Android架構演進Android架構
- vivo推送平臺架構演進架構
- 技術架構演進的思考架構
- Serverless 架構演進與實踐Server架構
- Flutter Fish Redux架構演進2.0FlutterRedux架構