第六章
數(shù)據(jù)服務(wù)
一、服務(wù)架構(gòu)演進(jìn)
DWSOA:一個(gè)需求一個(gè)接口、編碼實(shí)現(xiàn)接口、接口數(shù)量5000/年肤频,將業(yè)務(wù)方對(duì)數(shù)據(jù)的需求通過SOA服務(wù)的方式暴露出去。
OpenAPI:一類需求一個(gè)接口算墨、編碼配置實(shí)現(xiàn)接口宵荒、接口數(shù)量200/年,將數(shù)據(jù)按照其統(tǒng)計(jì)粒度進(jìn)行聚合净嘀,同樣維度的數(shù)據(jù)报咳,形成一張邏輯表,采用同樣的接口描述挖藏。
SmartDQ:所有需求一個(gè)接口少孝、配置實(shí)現(xiàn)接口、接口數(shù)量1熬苍、服務(wù)形式不夠豐富
OneService:豐富服務(wù)方式稍走、數(shù)據(jù)拉取、數(shù)據(jù)推送柴底、定制任務(wù)婿脸、優(yōu)化服務(wù)性能、加強(qiáng)服務(wù)治理
總結(jié):接口易上難下柄驻,即使一個(gè)接口也會(huì)綁定一批人(業(yè)務(wù)方狐树、接口開發(fā)維護(hù)人員、調(diào)用方)鸿脓。所以對(duì)外提供的數(shù)據(jù)服務(wù)接口一定要盡可能抽象抑钟,接口的數(shù)量要盡可能收斂,最后在保證服務(wù)質(zhì)量的情況下野哭,盡可能減少維護(hù)工作量在塔。
二、統(tǒng)一的數(shù)據(jù)服務(wù)層
1.技術(shù)架構(gòu)
元數(shù)據(jù)模型
簡單來說拨黔,是邏輯表到物理表的映射蛔溃。
自底向上分別是:
(1)數(shù)據(jù)源
(2)物理表:物理表是具體某個(gè)數(shù)據(jù)源中的一張表。每張物理表都需要指明主鍵由哪些列組成篱蝇,主鍵確定后即可得知該表的統(tǒng)計(jì)粒度贺待。
(3)邏輯表
邏輯表可以理解為數(shù)據(jù)庫中的視圖,是一張?zhí)摂M表零截,也可以看作是由若干主鍵相同的物理表構(gòu)成的大寬表麸塞。
(4)主題
邏輯表一般會(huì)掛載在某個(gè)主題下,以便進(jìn)行管理與查找涧衙。
最佳實(shí)踐
1.性能
資源分配
(1)剝離計(jì)算資源
(2)查詢資源分配
查詢接口分為兩種:Get接口哪工,只返回一條數(shù)據(jù)奥此;List接口,會(huì)返回多條數(shù)據(jù)正勒。
QPS:每秒查詢率QPS是對(duì)一個(gè)特定的查詢服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn)
緩存優(yōu)化
(1)元數(shù)據(jù)緩存
查詢能力
離線數(shù)據(jù)的產(chǎn)出時(shí)間取決于上游任務(wù)的執(zhí)行時(shí)間,以及當(dāng)前平臺(tái)的資源情況傻铣。所以產(chǎn)出時(shí)間是無法估算的章贞。
穩(wěn)定性
(1)元數(shù)據(jù)隔離