分散式及高可用後設資料採集原理
引言:
目錄:
1.後設資料採集原理
2.分散式採集策略
3.分散式採集策略的應用
不同來源的後設資料獲取獲取方式也不大相同,在採集方式上有使用包括資料庫直連、介面、日誌檔案等技術手段,對結構化資料的資料字典、非結構化資料的後設資料資訊、業務指標、程式碼、資料加工過程等後設資料資訊進行自動化和手動採集,後設資料採集完成後,被組織成符合CWM模型的結構,儲存在關係型資料庫中。
精選提問:
問1:請問如何提高後設資料採集的效率,減少對第三方系統的影響?
答:主要有兩個方面,1、提高採集效率,減少佔用第三方系統的時間,2、選擇在第三方系統空閒時間進行採集。
問2:透過後設資料ID去正式表裡查詢就可得出哪些後設資料是新增和刪除的。刪除的後設資料,是不是一次採集的全部資料都得在記憶體中?如果一次採集的資料,記憶體裝不下呢?另外就是,使用資料庫事務肯定是不行的了,那如果資料寫到一半,因為一些原因出異常了,這資料的一致性是怎麼考慮的?
答:採集後設資料時可以分批次抽取資料,例如採集某一資料庫,可以先採集一部分Schema,入庫之後,再採集另一部分,這樣可以解決記憶體的溢位問題。寫入資料時,一次採集會在資料庫裡建立一個臨時表(temporary table),先將資料寫入到臨時表,然後在複製臨時表資料到正式表,這樣可以保證資料的一致性。
問3:後設資料採集過程中和之後,在安全方面應該考慮哪些?
答:採集過程遵循最小許可權原則,例如採集資料庫後設資料時給使用者設定最小許可權,在使用後設資料管理工具時,給不同的使用者賦不同的檢視、修改、刪除等許可權。
問4:後設資料在金融領域實用哪些場景?
答:金融領域這塊主要是監管報送資料來源分析,保證資料來源的準確性。
問5:後設資料採集、安全傳輸、綜合應用、版本維護這些在普元的後設資料方案中如何體現的?
答:後設資料採集是透過分散式採集來實現的,透過部署採集端實現不同來源後設資料的採集。傳輸過程目前是透過資料庫jdbc訪問方式實現,給使用者設定最小許可權,保證資料採集過程安全。綜合應用中提供了影響分析、資料地圖應用場景,版本管理是對後設資料版本的管理,是綜合運用的一塊內容。
問6:後設資料是描述資料的資料,後設資料的質量如何保障,對於採集到的後設資料如何提升挖掘分析能力,也就是後設資料的關聯分析都有哪些模型?
答:後設資料的質量是透過管理+技術的手段來保證的。管理方面要制定後設資料的標準,從後設資料的完整性、準確性、時效性等不同維度來制定管理的規範。技術方面要提供功能支撐。
問7:後設資料分散式採集中,後設資料的版本如何管理?後設資料儲存都有哪些資料庫,對於後設資料分散式採集和儲存,一般支援的資料庫有哪些後設資料版本管理?
答:你說版本管理應該是後設資料變更後的歷史資訊管理吧,採集時透過後設資料ID比對,刷選出新增或刪除的後設資料,比對屬性ID,篩選出修改的後設資料,把變更資訊記錄資料庫中。後設資料儲存庫常見的有MySql和Oracle。
問8:後設資料採集的核心是什麼呢?
答:後設資料採集的核心是擴充套件性和採集的準確性,後設資料管理涉及到不同來源和不同型別的資料,要有良好的擴充套件性,還要保證採集的準確性,如果採集準確性都不能保證,管理員就不能做出有效的決策。
問9:後設資料編碼+後設資料型別+後設資料父級路徑能詳細解釋下如何定義,為什麼這3個能確定唯一一次變動嗎?
答:後設資料編碼是同型別後設資料的區分標識, 後設資料型別是標識該後設資料是什麼型別,後設資料父級路徑指的後設資料所有父級後設資料ID組成的字串,還有一個後設資料屬性ID,該後設資料的所有屬性生成的ID,這四個欄位能確定後設資料是否有變更。
問10:後設資料設計時,是否需要帶有版本資訊;後設資料儲存時,採用什麼方式,便於高效索引或者比對?
答:1、後設資料設計時,需要有變更資訊表,專門存放後設資料的變更歷史資訊。2、後設資料儲存時,要有唯一ID和後設資料屬性ID,這樣比對是比較高效的。
問11:正式表md5值是預先就生成好了,然後在採集時直接做呼叫對比?程式計算md5的效率如何?對程式效能影響大嗎?
答:1、MD5值是採集時生成的,然後和後設資料儲存庫裡的MD5值比對,得出變更的後設資料。2、生成MD5值的效率很快,對採集效能影響不大。
關於作者:追風,普元高階軟體工程師,參與普元Metacube7GA設計及研發;有銀行、證券等行業資料治理實施的經驗。網際網路技術愛好者,熱衷於研究各種優秀的開原始碼,致力於成為一名有腔調的工程師。
關於EAWorld:微服務,DevOps,資料治理,移動架構原創技術分享。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562043/viewspace-2677693/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分散式儲存高可用設計分散式
- LNMP 分散式叢集(六):keepalived 高可用方案LNMP分散式
- 「如何設計」高可用的分散式鎖分散式
- jeesz分散式架構-分散式高可用分散式架構
- OB有問必答 | 分散式資料庫有哪些常用的高可用及容災方案?分散式資料庫
- AHT20資料採集原理電路設計
- 基於 Apache ShardingSphere 構建高可用分散式資料庫Apache分散式資料庫
- 分散式 | dble後設資料更新同步分散式
- 分散式高可用 id 伺服器設計實現分散式伺服器
- 爬蟲資料採集的工作原理爬蟲
- StackGres 資料庫平臺工程,使用 Citus + Patroni 建立生產級高可用分散式 PostgreSQL 分片叢集資料庫分散式SQL
- redis通訊與高可用叢集原理Redis
- RabbitMQ和Kafka的高可用叢集原理MQKafka
- 分散式機器學習常用資料集分散式機器學習
- 大資料採集:fillna函式大資料函式
- Redis 3.0.0正式版釋出,全新的分散式高可用資料庫Redis分散式資料庫
- 分散式監控系統之Zabbix 使用SNMP、JMX通道採集資料分散式
- Redis高可用分散式內部交流(九)Redis分散式
- 深入淺出百億請求高可用Redis(codis)分散式叢集揭祕Redis分散式
- Keepalived高可用叢集工作原理示意圖
- Python無框架分散式爬蟲採集拼多多商品詳情資料Python框架分散式爬蟲
- 高可用分散式代理IP池:架構篇分散式架構
- 分散式服務高可用實現:複製分散式
- ViCANdo — 智慧駕駛資料採集及資料分析平臺
- Redis操作及叢集搭建以及高可用配置Redis
- 資料採集爬蟲ip代理基本原理爬蟲
- 前端埋點資料採集(一)採集系統架構設計前端架構
- PostgreSQL repmgr高可用叢集+keepalived高可用SQL
- 分散式系統關注點——初識「高可用」分散式
- 超全面Redis分散式高可用方案:哨兵機制Redis分散式
- Redis面試題及分散式叢集Redis面試題分散式
- 分散式鎖的實現及原理分散式
- 分散式資料庫的複製原理 - Quastor分散式資料庫AST
- 分散式資料庫Google Spanner原理分析KP分散式資料庫Go
- 分散式資料庫架構原理 - Alex Petrov分散式資料庫架構
- Google全球級分散式資料庫Spanner原理Go分散式資料庫
- 分散式資料庫排序及優化分散式資料庫排序優化
- 大資料採集之後,怎麼分析才好呢?大資料