色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>數值算法/人工智能>

NDC系統設計與應用

大小:0.8 MB 人氣: 2017-09-27 需要積分:2

  NDC簡介

  NDC全名Netease Data Canal,直譯為網易數據運河系統,是網易針對結構化數據庫的數據實時遷移、同步和訂閱的平臺化解決方案。

  在NDC之前,我們主要通過自研或開源軟件工具來滿足異構數據庫實時遷移和同步的需求,隨著云計算公司業務的大力推進,公司內部,尤其是運維團隊開始對數據遷移工具的可用性、易用性以及其他多樣化功能提出了更多要求和挑戰,NDC平臺化解決方案便應運而生。NDC的構建快速整合了我們之前在結構化數據遷移領域的積累,于2016年8月正式立項,同年10月就已上線開始為我們的各大產品線提供在線數據遷移和同步服務。

  業界中與NDC類似的產品有阿里云的DTS、阿里開源產品DataX、Canal、Twitter的Databus,在傳統領域有Oracle的GoldenGate、開源產品SymmetricDS。從產品功能、成熟度來看,NDC與阿里云DTS最為相似,都具有簡、快、全三大特性:

  簡,使用簡單,有平臺化的Web管理工具,配置流程簡潔易懂。

  快,數據同步、遷移和訂閱速度快,執行高效,滿足互聯網產品快速迭代的需求。

  全,功能齊全,NDC支持多種常用的異構數據庫,包括Oracle、MySQL、SQLServer、DB2、PostgreSQL以及網易分布式數據庫DDB,除了可以滿足不同數據庫之間在線數據遷移、實時同步之外,NDC也可以實現從數據庫到多種OLAP系統的實時數據同步和ETL,目前同步目標支持的OLAP系統包含Kudu和Greeplum。另外,NDC支持對數據庫做數據訂閱,通過將數據庫的增量數據丟入消息隊列,使應用端可以自由消費數據庫的實時增量數據,從而實現由數據驅動業務,復雜業務之間調用解耦。

  提煉場景和需求是做好產品的第一步,本文先通過三種典型應用場景介紹NDC的使用價值,之后從產品形態和系統架構兩方面闡述NDC在產品交互、集群管理、資源調度以及跨機房部署上的設計理念,最后介紹NDC實現數據遷移、同步和訂閱的一些原理和關鍵特性,可以為開發者在實現類似功能時提供思路和參考。

  應用場景

  下面通過三個真實案例分別說明NDC在數據遷移和數據訂閱上的應用場景。

  DDB數據遷移

  分布式數據庫DDB自2006年就開始為網易各大互聯網產品提供透明的分庫分表服務,在我們的知名互聯網產品背后,幾乎都可以看到DDB的身影,如考拉、云音樂、云閱讀、教育等。

  DDB作為分庫分表的結構化數據庫,一張表的數據一般存儲在多個數據節點中,每張表會選擇一個或多個字段作為分區鍵,來決定數據在數據節點上的分布方式。以用戶表為例,有用戶ID作為主鍵,電話號碼和郵箱作為唯一健,分區鍵一般會選擇這三個字段中的任意一個或組合。分區鍵的選擇決定了數據分布均勻與否,隨著業務數據量的增長,可能會發現之前選擇的分區鍵區分度不夠高,而需要更改分區鍵的需求,分區鍵的修改涉及到數據重分布,并且修改過程要與業務的線上服務同時進行,這就要求DDB提供在線數據遷移的解決方案。

  與此類似,在業務發展過程中可能遇到表擴容或機房遷移的情況,都需要DDB的在線數據遷移功能,以表擴容為例,NDC解決DDB在線數據遷移方式如圖1所示。

  NDC系統設計與應用

  圖1 NDC解決DDB數據遷移問題

  當DBA發起一個修改分區鍵或擴容請求時,管理工具會統一將其解析成一個數據遷移命令,并向NDC服務發起相應的調度請求,NDC則根據調度規則選擇一組執行節點執行具體遷移過程,每個源端數據節點都會有對應一個遷移進程來拉取該節點上的全量數據和增量數據,并將這些數據通過DDB的分庫分表驅動重新應用到目標表。當目標端和源端的數據延遲在追趕到毫秒級范圍內后,通過在DDB管理工具上執行切換表操作完成最后的遷移工作。

  應用緩存更新

  應用緩存更新是NDC數據訂閱一類非常典型的應用場景,在沒有使用數據訂閱做緩存更新的應用環境中,緩存數據通常由應用服務器自己維護,但是由于緩存操作和數據庫操作不具有事務性,簡單的緩存操作可能帶來數據不一致的情況,如圖2所示。

  NDC系統設計與應用

  圖2 緩存數據庫不一致問題

  在圖2場景中,線程2在將緩存更新到最新數據后,又被線程1異步滯后地更新成老數據,由于線程1和線程2沒有任何狀態共享,數據庫中后操作的數據可能在緩存中被先操作的數據覆蓋掉,導致緩存和數據庫數據不一致。若這種情況出現,除非緩存主動淘汰,否則應用將始終讀到臟數據。

  對上述的數據不一致問題,業界也有一種基于CAS的解決方案,但會對緩存增加至少一倍以上的壓力。而通過NDC的數據訂閱,可以比較完美地解決上述問題,NDC數據訂閱將數據庫中的增量數據丟入消息隊列,應用讀取消息隊列的內容,并將其同步到緩存系統,在這個過程中,NDC執行節點和消息隊列保障高可用,而數據庫增量數據具有唯一性和時序性,可以避免緩存和數據庫的狀態不一致。

  如果說使用數據訂閱只是緩存更新的一種優選方案的話,那對下面的多機房緩存淘汰,NDC的數據訂閱功能就是必選方案了。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 可以看的黄页的网站| www.久久精品视频| 影音先锋电影资源av| 亚洲中文热码在线视频| 亚洲精品国产在线网站| 一区二区三区福利视频| 99久久99久久久精品久久| 99精品视频在线免费观看| 啊…嗯啊好深男男高h文| 成年人免费观看的视频| 国产久爱青草视频在线观看| 国产一区在线观看免费| 美女pk精子4| 欧美一区二区高清| 亚欧免费观看在线观看更新| 一二三四在线观看高清电视剧| 中文字幕人成人乱码亚洲影视S| yellow在线中文| 国拍自产精品福利区| 美女脱18以下禁止看免费| 偷偷鲁青春草原视频| 欲香欲色天天天综合和网| 被爽到叫呻呤视频免费视频| 精品国产国产综合精品| 人妻免费视频公开上传| 永久免费观看视频| 国产成人无码视频一区二区三区 | 中国xxxxx69| 国产精品免费一区二区三区视频| 久久久精品成人免费看| 色一情一乱一伦一区二区三区| 伊人久久大香线蕉综合影 | 野花韩国免费高清电影| 高H高肉强J短篇校园| 快播性爱电影| 亚洲精品天堂自在久久77| 动漫美女被羞羞动漫怪物| 蜜桃成人在线| 在线观看qvod| 九九热视频免费观看| 性欧美13处14处破|