日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

阿里網(wǎng)盤優(yōu)質(zhì)資源分享 阿里云管理控制臺(tái)( 三 )


多租戶實(shí)現(xiàn)
為了實(shí)現(xiàn)多租戶功能,我們把每張庫的元數(shù)據(jù)和阿里云的UID 進(jìn)行關(guān)聯(lián),而表的元數(shù)據(jù)又是和庫的元信息關(guān)聯(lián)的 。所以基于這種設(shè)計(jì)每張庫、每張表都是可以對應(yīng)到具體的用戶 。當(dāng)用戶請求元數(shù)據(jù)的時(shí)候,除了需要傳進(jìn)庫名和表名,還需要將請求的阿里云UID 帶進(jìn)來,再結(jié)合上述關(guān)聯(lián)關(guān)系就可以拿到相應(yīng)用戶的元數(shù)據(jù) 。每個(gè)元數(shù)據(jù)的API 都有一個(gè)UID 參數(shù),比如如果我們需要通過getTable 獲取某個(gè)用戶的表信息,整個(gè)流程如下:

阿里網(wǎng)盤優(yōu)質(zhì)資源分享 阿里云管理控制臺(tái)


上面的ACCOUNT 是DLA 中存儲(chǔ)用戶賬戶信息的表;DBS 和TBLS 是用于存儲(chǔ)元數(shù)據(jù)的表 。虛線代表他們之間的關(guān)聯(lián)關(guān)系 。
權(quán)限體系
我們知道,一般大型的企業(yè)會(huì)存在多個(gè)不同部門,或者一個(gè)比較大的部門需要區(qū)分出不同的用戶,這些用戶之間又需要共享一些資源 。為了解決這個(gè)問題,DLA 將阿里云UID 作為主賬號(hào),DLA userName 作為子賬號(hào)來區(qū)別每個(gè)用戶,同一個(gè)阿里云UID 下面的不同子用戶訪問的資源是有限制的,比如主賬號(hào)用戶可以看到所有的元數(shù)據(jù);而一般用戶只能看到一部分 。為了解決這個(gè)問題,DLA Meta 實(shí)現(xiàn)了一套完整的權(quán)限體系,用戶可以通過GRANT/REVOKE 對用戶進(jìn)行相關(guān)的權(quán)限操作 。
DLA Meta 中所有對外的元數(shù)據(jù)API 都是有權(quán)限校驗(yàn)的,比如Create Database 是需要有全局的Create 或All 權(quán)限的 。只有權(quán)限校驗(yàn)通過才可以進(jìn)行下一步的操作 。目前DLA Meta 權(quán)限控制粒度是做到表級(jí)別的,可以對用戶授予表級(jí)別的權(quán)限;當(dāng)然,列粒度、分區(qū)粒度的權(quán)限我們也是可以做到的,目前還在規(guī)劃中 。下面是我們權(quán)限校驗(yàn)的處理流程:

阿里網(wǎng)盤優(yōu)質(zhì)資源分享 阿里云管理控制臺(tái)


由于DLA Presto可以兼容MySQL 權(quán)限操作相關(guān),為了降低用戶的使用成本,當(dāng)前DLA Meta 的權(quán)限是與MySQL 權(quán)限是兼容的,所以如果你對MySQL 的權(quán)限體系比較了解,那么這些知識(shí)是可以直接運(yùn)用到DLA 的 。
2、元數(shù)據(jù)發(fā)現(xiàn)Schema推斷技術(shù)
元數(shù)據(jù)發(fā)現(xiàn)的定位:為OSS等存儲(chǔ)上面的數(shù)據(jù)文件自動(dòng)發(fā)現(xiàn)和構(gòu)建表、字段、分區(qū),并感知新增表&字段&分區(qū)等元數(shù)據(jù)信息,方便計(jì)算與分析 。

阿里網(wǎng)盤優(yōu)質(zhì)資源分享 阿里云管理控制臺(tái)


從上圖可以看出,元數(shù)據(jù)發(fā)現(xiàn)的輸入是一個(gè)父目錄,下面可以包含百萬級(jí)別OSS的文件,同時(shí)這些文件還在增量的添加 。輸出為根據(jù)Schema信息進(jìn)行聚合生成數(shù)目為萬級(jí)別的表,以及單表萬級(jí)別分區(qū) 。元數(shù)據(jù)自動(dòng)發(fā)現(xiàn)引擎主要包括文件Schema識(shí)別器、文件表分類器、Meta同步三塊,下面重點(diǎn)介紹Schema識(shí)別器、以及文件表分類器 。
文件Schema識(shí)別器:這個(gè)模塊主要用來推斷OSS上面文件的格式及字段 。對于一個(gè)文件完全沒有Schema信息情況下,首先需要推斷出是什么格式,然后還需要推斷出具體的字段 。整個(gè)模塊包括文件采樣、Schema識(shí)別器兩塊 。測試表明單個(gè)文件的Schema探測需要150ms左右,如果對所有的文件進(jìn)行全量的識(shí)別,整個(gè)效率會(huì)比較低,DLA 元數(shù)據(jù)發(fā)現(xiàn)有一套采樣的技術(shù),減少文件識(shí)別的數(shù)量 。具體的Schema識(shí)別器由一組Schema推斷的策略組成,面對一個(gè)沒有任何先驗(yàn)信息的文件,通過逐個(gè)匹配CSV、JSON、Parquet等推斷器的方式來進(jìn)行識(shí)別,每種推斷器在效率和準(zhǔn)確性上面做了大量優(yōu)化,比如CSV內(nèi)部包含了30+種根據(jù)表頭、分隔符、轉(zhuǎn)義、引用組合的策略,同時(shí)字段的識(shí)別使用數(shù)據(jù)行采樣的方式保證準(zhǔn)確率的情況下,減少遠(yuǎn)程IO讀取 。

阿里網(wǎng)盤優(yōu)質(zhì)資源分享 阿里云管理控制臺(tái)

推薦閱讀