聊聊數(shù)據(jù)中臺(tái):元數(shù)據(jù)建設(shè)有哪些坑(一)

0 評(píng)論 9991 瀏覽 43 收藏 10 分鐘

元數(shù)據(jù)一般被稱為“數(shù)據(jù)的數(shù)據(jù)”,以元數(shù)據(jù)為關(guān)鍵展開(kāi)數(shù)據(jù)治理,能夠幫助企業(yè)更好地對(duì)數(shù)據(jù)資源進(jìn)行管理,理清數(shù)據(jù)之間的關(guān)系,實(shí)現(xiàn)更精準(zhǔn)高效的分析和決策。本文作者從自身工作出發(fā),對(duì)元數(shù)據(jù)的基本功能展開(kāi)了介紹說(shuō)明,與大家分享。

本人在一家金融科技公司做B端產(chǎn)品經(jīng)理,大數(shù)據(jù)方向的,2019年我們公司轟轟烈烈的啟動(dòng)了數(shù)據(jù)中臺(tái)建設(shè),作為數(shù)據(jù)中臺(tái)的重要組成部分,元數(shù)據(jù)自然被提上了日程。在產(chǎn)品建設(shè)過(guò)程中遇到了很多坑跟大家分享下(第一次分享有錯(cuò)誤還請(qǐng)大家多多包涵)。

關(guān)于元數(shù)據(jù)的概念的科普、介紹我這里就不多說(shuō)了,大家在人人都是產(chǎn)品經(jīng)理隨便搜一下就有。

一、元數(shù)據(jù)功能介紹

在做元數(shù)據(jù)之前本人也做了很多的競(jìng)品分析(簡(jiǎn)單的),像這類產(chǎn)品更多還是乙方比較有經(jīng)驗(yàn)舉例幾個(gè)亞信、普元信息、網(wǎng)達(dá)、星環(huán)等等。根據(jù)我們的需求現(xiàn)狀我們確定任何一家成熟的產(chǎn)品都cover不住我們的需求,對(duì)于乙方習(xí)慣于標(biāo)準(zhǔn)化,非標(biāo)的需求都不太愿意做,所以我們干脆就從0到1開(kāi)始建設(shè),不用他們的產(chǎn)品,只用他們的技術(shù)能力。

對(duì)于要不要從0到1建設(shè)取決于數(shù)據(jù)量和數(shù)倉(cāng)建設(shè)情況,如果數(shù)據(jù)量不大直接買一個(gè)成熟產(chǎn)品即可或者根本不需要元數(shù)據(jù)產(chǎn)品,畢竟沒(méi)有元數(shù)據(jù)也能建立數(shù)倉(cāng)的(扯遠(yuǎn)了~),每個(gè)公司對(duì)元數(shù)據(jù)的需求可能都不太一樣,元數(shù)據(jù)的標(biāo)準(zhǔn)化其實(shí)不太好做(對(duì)技術(shù)要求很高),因?yàn)槟阋躢over住大部分用戶的需求,cover不住要么用戶妥協(xié)、要么你妥協(xié)二次開(kāi)發(fā)一些功能給用戶使用。

根據(jù)我們的需求我們規(guī)劃了以下功能(簡(jiǎn)單的介紹下):

1. 基礎(chǔ)功能

1)數(shù)據(jù)地圖:分為數(shù)據(jù)資產(chǎn)、元數(shù)據(jù)中心,為用戶提供元數(shù)據(jù)資產(chǎn)統(tǒng)計(jì)服務(wù)。

2)數(shù)據(jù)資產(chǎn)統(tǒng)計(jì):用戶可以通過(guò)數(shù)據(jù)地圖清晰的了解數(shù)據(jù)的使用情況、分布等對(duì)整個(gè)數(shù)據(jù)資產(chǎn)情況有個(gè)大概的了解(這種分析統(tǒng)計(jì)類的需求是無(wú)止盡的,做一部分常用的即可,剩下的入庫(kù)自己用可視化分析工具展示)

3)元數(shù)據(jù)中心:這是元數(shù)據(jù)核心功能之一,整個(gè)元數(shù)據(jù)的輸出就是數(shù)據(jù)地圖,用戶可以通過(guò)元數(shù)據(jù)中心查看表的元數(shù)據(jù)信息(技術(shù)元數(shù)據(jù)、業(yè)務(wù)元數(shù)據(jù))、任務(wù)信息、血緣關(guān)系(表級(jí)、字段級(jí))血緣分析、使用信息等等(再多就看自己公司訴求了)

4)元模型:元模型是元數(shù)據(jù)的核心功能之一,主要實(shí)現(xiàn)技術(shù)元數(shù)據(jù)和業(yè)務(wù)元數(shù)據(jù)的管理、維護(hù);這里說(shuō)下子模型的概念,考慮場(chǎng)景的多樣性比如運(yùn)維更關(guān)注技術(shù)元數(shù)據(jù)、業(yè)務(wù)更關(guān)注業(yè)務(wù)元數(shù)據(jù),針對(duì)不同的庫(kù)、表可以應(yīng)用不同的元模型,以滿足不同人群的需求。

5)管理中心:管理中心主要針對(duì)功能權(quán)限、數(shù)據(jù)權(quán)限進(jìn)行管理包括權(quán)限申請(qǐng)、審批、實(shí)施等。

6)我的數(shù)據(jù):為用戶提供查看自身權(quán)限、建表等功能。

7)數(shù)據(jù)管理:數(shù)據(jù)管理包含元模型、數(shù)據(jù)源管理等功能,用于元數(shù)據(jù)的手動(dòng)、自動(dòng)采集(生產(chǎn)的元數(shù)據(jù)采集依賴外部平臺(tái),大數(shù)據(jù)側(cè)元數(shù)據(jù)采集我們自己做的)

8)元數(shù)據(jù)質(zhì)量:主要做元數(shù)據(jù)治理用的,包含庫(kù)、表元數(shù)據(jù)治理功能,分多個(gè)維度統(tǒng)計(jì)元數(shù)據(jù)完成情況,并可以做相應(yīng)通知等。

9)其他:還做了一些其他功能如審計(jì)等,這里不細(xì)講了。

2. 產(chǎn)品架構(gòu)

我簡(jiǎn)單描述下:

  • 存儲(chǔ)/計(jì)算:元數(shù)據(jù)使用MySQL進(jìn)行存儲(chǔ)、圖數(shù)據(jù)庫(kù),查詢使用clickhouse,緩存分布式redis;
  • 服務(wù)層:服務(wù)層提供基礎(chǔ)的平臺(tái)服務(wù)能力,包括元數(shù)據(jù)管理、元數(shù)據(jù)地圖、管理中心、用戶權(quán)限管理等。
  • 通知服務(wù):元數(shù)據(jù)管理系統(tǒng)中通知類消息目前有三種呈現(xiàn)形式,分別為站內(nèi)信、短信、郵箱;
  • 元數(shù)據(jù)采集:kafka、hook插件、flume、sftp
  • 安全服務(wù):LDAP認(rèn)證、kerberos

二、產(chǎn)品建設(shè)的準(zhǔn)備工作

1. 需求調(diào)研

關(guān)于需求調(diào)研、分析,需求從來(lái)都是無(wú)止盡的,沒(méi)有上限,作為產(chǎn)品心中要給自己劃個(gè)底線,你的產(chǎn)品邊界、產(chǎn)品定位在哪里,尤其是需求方比較強(qiáng)勢(shì)的時(shí)候,確定好邊界和底線你才知道哪些能做、哪些不能做,哪些需要重點(diǎn)優(yōu)先建設(shè),這樣你在交付產(chǎn)品才能得到需求方的認(rèn)可。

我們就沒(méi)有守住底線接了很多運(yùn)維類的需求,同時(shí)也拒絕了很多運(yùn)維類的需求,因?yàn)樵谧鱿氯ゾ妥兂闪怂牟幌窳思疎TL部分功能、數(shù)據(jù)加工部分功能、數(shù)據(jù)庫(kù)管理功能等等等。元數(shù)據(jù)核心還是數(shù)據(jù)采集、數(shù)據(jù)地圖、元模型、數(shù)據(jù)權(quán)限,當(dāng)你接了太多需求時(shí),還是回歸產(chǎn)品定位、明確產(chǎn)品邊界,時(shí)間有限、精力有限我們能做的也有限。

2. 數(shù)據(jù)采集

(1)采集內(nèi)容的確認(rèn)

基本只要是個(gè)具備大數(shù)據(jù)環(huán)境的公司都有數(shù)據(jù)采集的能力,采集可以用現(xiàn)有的能力、也可以單獨(dú)開(kāi)發(fā),這里還是要看你采集的內(nèi)容,在確定采集方案前還是要先確定內(nèi)容,內(nèi)容會(huì)決定你用什么技術(shù)方案。我們采集的內(nèi)容我大致分為三種類型:應(yīng)用信息、庫(kù)信息、表信息

  1. 應(yīng)用信息:應(yīng)用名稱(中、英文)、應(yīng)用類型、應(yīng)用狀態(tài)、應(yīng)用負(fù)責(zé)人、地址等
  2. 庫(kù)信息:ip地址、實(shí)例名稱、JDBC地址、庫(kù)名稱、歸屬部門、服務(wù)名稱、用途、字符集、版本等等
  3. 表信息:owner或庫(kù)名、字段名、字段類型、字段注釋、大小、行數(shù)、創(chuàng)建時(shí)間、分區(qū)、索引等

不同的類型庫(kù)采集的內(nèi)容不同,這里談一下應(yīng)用信息,我們是有專門的IT系統(tǒng)可以直接從系統(tǒng)里拿到,如果沒(méi)有類似的IT系統(tǒng),那采集方案就要重新設(shè)計(jì)和考慮了。

這三類信息我們都是直接從IT資源管理系統(tǒng)(CMDB)通過(guò)kafka消費(fèi),頻率3小時(shí)一次,IT資源管理系統(tǒng)(CMDB)會(huì)從生產(chǎn)數(shù)據(jù)庫(kù)、各應(yīng)用管理平臺(tái)等通過(guò)自身的采集能力拿到。

所有新增、變更需求由技術(shù)部門快速迭代開(kāi)發(fā)響應(yīng)。

寫到這里大家肯定認(rèn)為我們省了很大的工作量,但這恰恰是我們?cè)缘牡谝粋€(gè)坑。我會(huì)在后幾個(gè)篇幅來(lái)講遇到的坑。

元數(shù)據(jù)的采集是個(gè)非常重要的功能,產(chǎn)品在設(shè)計(jì)之初一定要進(jìn)行充分的調(diào)研,并跟開(kāi)發(fā)確定好合理的方案,但同時(shí)也要考慮工作量的問(wèn)題,是否可以先做一部分,后期再迭代優(yōu)化,畢竟采集是基礎(chǔ)能力,而用戶更關(guān)心數(shù)據(jù)地圖、權(quán)限和元模型

(2)元模型的確認(rèn)

元模型決定你要展示的元數(shù)據(jù)信息包含有哪些內(nèi)容,在采集前同樣要確定好元模型的內(nèi)容,考慮元模型的不確定性和變化性、我們前期可以定一個(gè)基礎(chǔ)元模型,按照數(shù)據(jù)庫(kù)的類型做區(qū)分如hive、Hbase、mysql、oracle、CK、ES等元模型,針對(duì)每個(gè)元模型定一個(gè)基礎(chǔ)的。

比如hive我們可以包含所屬庫(kù)名(中、英文)表名、存儲(chǔ)位置、存儲(chǔ)大小、創(chuàng)建時(shí)間、分區(qū)信息、DDL變更時(shí)間、數(shù)據(jù)變更時(shí)間等。其他如oracle、mysql類似,在不清楚業(yè)務(wù)屬性的時(shí)候我們可以把技術(shù)屬性先確定了。這樣就可以將采集到的信息按照元模型進(jìn)行展示了。最終給用戶呈現(xiàn)的內(nèi)容就是元模型+采集到的基本信息。

后續(xù)內(nèi)容比較多也比較重要我放到下一個(gè)篇幅來(lái)展開(kāi)講。

#相關(guān)閱讀

聊聊數(shù)據(jù)中臺(tái):元數(shù)據(jù)建設(shè)有哪些坑(二)

 

本文由 @逆襲的騎士 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來(lái)自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!