阿里云數(shù)據(jù)服務是什么?有哪些特性?
數(shù)據(jù)部門產(chǎn)出的海量數(shù)據(jù),如何能方便高效地開放出去,是我們一直想要解決的難題。在沒有數(shù)據(jù)服務的年代,數(shù)據(jù)開放的方式簡單、粗暴,一般是直接將數(shù)據(jù)導出給對方。這種方式不僅低效,還帶來了安全隱患等諸多問題。
為此,我們在數(shù)據(jù)服務這個方向上不斷探索和實踐。最早的數(shù)據(jù)服務雛形誕生于2010年,至今已有7個年頭。在這期間,隨著我們對業(yè)務的理解不斷加深,同時也得益于新技術的持續(xù)涌現(xiàn),對數(shù)據(jù)服務架構也進行了多次升級改造。服務架構的每次升級,均在性能、穩(wěn)定性、擴展性等方面有所提升,從而能更好地服務于用戶。
1.服務架構的演進
阿里數(shù)據(jù)服務架構演進過程如圖6.1所示?;谛阅?、擴展性和穩(wěn)定性等方面的要求,我們不斷升級數(shù)據(jù)服務的架構,依次經(jīng)歷了內部代號為DWSOA、OpenAPI、SmartDQ和OneService的四個階段。

阿里數(shù)據(jù)服務架構演進過程
其中,第四個階段是統(tǒng)一的數(shù)據(jù)服務層(即OneService)。大家心里可能會有疑問:SQL并不能解決復雜的業(yè)務邏輯啊。確實,SmartDQ其實只滿足了簡單的查詢服務需求。我們遇到的場景還有這么幾類:個性化的垂直業(yè)務場景、實時數(shù)據(jù)推送服務、定時任務服務。所以OneService主要是提供多種服務類型來滿足用戶需求,分別是OneService-SmartDQ、OneService-Lego、OneService-iPush、OneService-uTiming。
在OneService階段,開始真正走向平臺化。我們提供數(shù)據(jù)服務的核心引擎、開發(fā)配置平臺以及門戶網(wǎng)站。數(shù)據(jù)生產(chǎn)者將數(shù)據(jù)入庫之后,服務提供者可以根據(jù)標準規(guī)范快速創(chuàng)建服務、發(fā)布服務、監(jiān)控服務、下線服務,服務調用者可以在門戶網(wǎng)站中快速檢索服務,申請權限和調用服務。
2.技術架構
SmartDQ的元數(shù)據(jù)模型,簡單來說,就是邏輯表到物理表的映射。自底向上分別是:
?。?)數(shù)據(jù)源:SmartDQ支持跨數(shù)據(jù)源查詢,底層支持接入多種數(shù)據(jù)源,比如MySQL、HBase、OpenSearch等。
?。?)物理表:物理表是具體某個數(shù)據(jù)源中的一張表。每張物理表都需要指明主鍵由哪些列組成,主鍵確定后即可得知該表的統(tǒng)計粒度。
?。?)邏輯表:邏輯表可以理解為數(shù)據(jù)庫中的視圖,是一張?zhí)摂M表,也可以看作是由若干主鍵相同的物理表構成的大寬表。SmartDQ對用戶展現(xiàn)的只是邏輯表,從而屏蔽了底層物理表的存儲細節(jié)。
(4)主題:邏輯表一般會掛載在某個主題下,以便進行管理與查找。
iPush應用產(chǎn)品是一個面向TT、MetaQ等不同消息源,通過定制過濾規(guī)則,向Web、無線等終端推送消息的中間件平臺。iPush核心服務器端基于高性能異步事件驅動模型的網(wǎng)絡通信框架Netty 4實現(xiàn),結合使用Guava緩存實現(xiàn)本地注冊信息的存儲,F(xiàn)ilter與Server之間的通信采用Thrift異步調用高效服務實現(xiàn),消息基于Disruptor高性能的異步處理框架(可以認為是最快的消息框架)的消息隊列,在服務器運行中Zookeeper實時監(jiān)控服務器狀態(tài),以及通過Diamond作為統(tǒng)一的控制觸發(fā)中心。
Lego
Lego被設計成一個面向中度和高度定制化數(shù)據(jù)查詢需求、支持插件機制的服務容器。它本身只提供日志、服務注冊、Diamond配置監(jiān)聽、鑒權、數(shù)據(jù)源管理等一系列基礎設施,具體的數(shù)據(jù)服務則由服務插件提供。基于Lego的插件框架可以快速實現(xiàn)個性化需求并發(fā)布上線。
Lego采用輕量級的Node.JS技術棧實現(xiàn),適合處理高并發(fā)、低延遲的IO密集型場景,目前主要支撐用戶識別發(fā)碼、用戶識別、用戶畫像、人群透視和人群圈選等在線服務。底層根據(jù)需求特點分別選用Tair、HBase、ADS存儲數(shù)據(jù)。
uTiming
uTiming是基于在云端的任務調度應用,提供批量數(shù)據(jù)處理服務。uTiming-scheduler負責調度執(zhí)行SQL或特定配置的離線任務,但并不直接對用戶暴露任務調度接口。用戶使用數(shù)據(jù)超市工具或Lego API建立任務。注:本書中出現(xiàn)的部分專有名詞、專業(yè)術語、產(chǎn)品名稱、軟件項目名稱、工具名稱等,是淘寶(中國)軟件有限公司內部項目的慣用詞語,如與第三方名稱雷同,實屬巧合。
標簽
熱門文章更多>
- 深圳阿里云代理商:ECS部署SSL證書與到期提醒配置全攻略
- 上海阿里云代理商:阿里云服務器SSL證書備份方案
- 北京阿里云代理商:RDS讀寫分離配置指南
- 重慶阿里云代理商:用好 OSS 生命周期 降低長期存儲花費
- 上海阿里云代理商:DMS 多庫同步搭建 異構數(shù)據(jù)庫集成實操
- 上海阿里云代理商:阿里云SLB健康檢查異常排查:端口、網(wǎng)絡、應用狀態(tài)一步到位
- 重慶阿里云代理商:阿里云Redis延遲突然升高?慢查詢大Key連接數(shù)排查指南
- 廣州阿里云代理商:阿里云ACK Pod Pending?三步排查與節(jié)點擴容實戰(zhàn)
- 深圳阿里云代理商:阿里云ECS降本增效方法:實例、帶寬、云盤省錢全攻略
- 上海阿里云代理商:阿里云函數(shù)計算冷啟動優(yōu)化
- 廣州阿里云代理商:阿里云ECS防CC攻擊安全加固配置教程
- 深圳阿里云代理商:阿里云Linux接口慢全鏈路排查指南
- 上海阿里云代理商:阿里云ECS CPU滿載診斷修復全指南
- 重慶阿里云代理商:阿里云ECS規(guī)格選型與彈性伸縮降本實戰(zhàn)指南
- 深圳阿里云代理商:阿里云STAROps自動巡檢告警配置指南
- 深圳阿里云代理商:云服務器AI運維權限管控策略,如何規(guī)避誤操作風險?
- 上海阿里云代理商:后端開發(fā)者私有AI大模型云端部署完整流程指南
- 北京阿里云代理商:AI日志分析工具,快速定位服務器異常宕機實戰(zhàn)指南
- 重慶阿里云代理商:AI腳本自動化完成云服務器批量運維配置實戰(zhàn)指南
- 廣州阿里云代理商:大模型推理部署,服務器內存調優(yōu)實操全攻略

