阿里開源otter:分布式資料庫同步系統

2021-01-09 IT168

  【IT168 資訊】阿里巴巴一向熱衷於開源。從風風火火的去IOE運動,到阿里在GitHub中託管的60個開源項目,都可以看到他們開源的決心。本周一(8月19日),阿里巴巴宣布開源分布式資料庫同步系統otter。負責otter項目的阿里巴巴技術專家七鋒(@agapple0002)介紹,otter是異地雙A機房的資料庫同步系統,解決長距離機房同步、雙A的數據一致性問題。

  otter的誕生是由異地資料庫同步需求決定的。阿里巴巴B2B業務的賣家主要集中在國內,買家主要集中在國外,所以衍生出了杭州和美國異地機房的需求,同時為了提升用戶體驗,整個機房的架構為雙A,兩邊均可寫,otter由此而來。

  otter的英文釋義是水獺、數據搬運工,定位為基於資料庫增量日誌解析,準實時同步到本機房或異地機房的MySQL/Oracle資料庫. 一個分布式資料庫同步系統。otter第一版本可以追溯到04-05年,此次外部開源的版本為第四版,開發時間從2011年7月一直持續到現在,目前阿里巴巴B2B內部的本地/異地機房的同步需求基本全上了otter4。

  目前,阿里巴巴的B2B業務的同步規模達到:1.同步數據量6億;文件同步1.5TB(2000w張圖片);涉及200+個資料庫實例之間的同步;80+臺機器的集群規模。

  工作原理

  1. 基於Canal開源產品,獲取資料庫增量日誌數據;

  2. 典型管理系統架構,manager(web管理)+node(工作節點);

  a. manager運行時推送同步配置到node節點

  b. node節點將同步狀態反饋到manager上

  3. 基於zookeeper,解決分布式狀態調度的,允許多node節點之間協同工作。

  適用場景

  1. 異構庫同步:

  a.MySQL -> MySQL/Oracle. (目前開源版本只支持MySQL增量,目標庫可以是MySQL或者Oracle,取決於canal的功能)

  2. 單機房同步 (資料庫之間RTT < 1ms)

  a. 資料庫版本升級

  b. 數據表遷移

  c. 異步二級索引

  3. 異地機房同步 (比如阿里巴巴國際站就是杭州和美國機房的資料庫同不,RTT > 200ms,亮點)

  a. 機房容災

  4. 雙向同步

  a. 避免迴環算法 (通用的解決方案,支持大部分關係型資料庫)

  b. 數據一致性算法 (保證雙A機房模式下,數據保證最終一致性,亮點)

  5. 文件同步

  a. 站點鏡像 (進行數據複製的同時,複製關聯的圖片,比如複製產品數據,同時複製產品圖片).

  網友觀點

  @鎖兒V:類似的商業軟體,比如東方通的TongLINK/Q,Oracle的Golden Gate,動輒百萬,而這兒這個卻開源了,並且是經過在線大數據測試過的。可惜僅支持MySQL/Oracle,誰有能耐稍微擴展一下,定是企業級市場的One big deal。

  @jametong: 這個項目是最終一致的, 並不是實時一致的, 設計時是儘可能的保證單向Rep到另一端的數據的事務一致性, 但是雙向的部分, 會有部分犧牲. 功能上與LinkedIn的Databus比較接近。

  @莊陌銘:這個取名資料庫同步系統個人感覺有些大了,初步看了下,更多地是一種遠程數據ETL,蠻適合企業用於做分布式節點的數據匯總,不過依賴還複雜了點(這種基礎件幹嘛還用webx),另外,數據傳輸的審計對帳好像沒看到(也許只是粗瞄沒注意到)。

相關焦點

  • 擁抱雲原生,如何將開源項目用k8s部署?
    本文將重點分享阿里開源項目otter適配k8s部署的改造過程,其中的改造過程和技巧應該適用於將大多數開源項目改造到k8s進行部署。1.背景otter是阿里開源的分布式資料庫同步系統,基於資料庫增量日誌解析,並準實時同步到本機房或異地機房的mysql/oracle資料庫(相關內容可以參考https://github.com/alibaba/otter,本文不做過多贅述)。
  • 蘋果重新開源分布式資料庫FoundationDB,已在內部使用三年
    策劃編輯|Natalie編譯|核子可樂FoundationDB 是「一個能在多集群伺服器上存放大規模結構化數據的分布式資料庫」。該資料庫系統專注於高性能、高可擴展性和不錯的容錯能力。這意味著使用該資料庫的項目運行起來更高效且維護成本低。
  • MySQL如何實時同步數據到ES?試試這款阿里開源的神器
    來源:https://juejin.im/post/6891435372824395784摘要mall項目中的商品搜索功能,一直都沒有做實時數據同步。最近發現阿里巴巴開源的canal可以把MySQL中的數據實時同步到Elasticsearch中,能很好地解決數據同步問題。今天我們來講講canal的使用,希望對大家有所幫助!
  • 對話ACM傑出科學家、達摩院資料庫負責人李飛飛:阿里如何打好數據...
    據李飛飛介紹,他是2018年5月正式加入阿里巴巴,成為資料庫團隊負責人,併兼任達摩院資料庫首席科學家,帶領團隊投入到具有自主智慧財產權的資料庫系統研發當中。他的團隊打磨的產品和技術包括新一代分布式資料庫、非結構化數據管理、數據安全、智能化資料庫等。
  • LinuxONE+分布式資料庫 黃金組合帶來完美分布式體驗
    它的核心思想是容許分布式系統出現短暫性的不一致的狀態,只要能夠在一定時間內,最終達到一致狀態就行。但是如果面對一些重要的系統,它們對一致性的要求非常高,就對分布式系統提出很大的挑戰。因此,分布式系統的使命,並不是要放棄一致性,而是要不斷的去追求更高一致性。
  • JuiceFS 開源,分布式文件系統
    1 月 11 日, Juicedata 果汁數據科技宣布開源分布式文件系統 JuiceFS。
  • 從Hadoop到自主研發,技術解讀阿里去IOE後的系統架構
    在這個大背景下,各個機構不得不在控制好成本支出的同時,不停摸索著時刻激增用戶數據的解決之道,其中阿里的成績無疑令人豔羨——單集群規模5000+的飛天,以及多集群跨機房計算的支持。本次我們將以飛天為例,為大家分享大規模分布式系統打造過程中的艱難坎坷及應對之道。
  • TBase資料庫開源後首次升級,複雜查詢性能提升十倍
    【環球網科技綜合報導】7月13日,騰訊雲自研分布式HTAP資料庫TBase正式發布最新開源版本,該版本在多活分布式能力、性能、安全性、可維護性等多個關鍵領域得到全面的增強和升級,複雜查詢的性能提升十倍以上。
  • 騰訊雲開源資料庫TBase迎來首次升級,複雜查詢的性能提升十倍以上
    2019年11月,騰訊宣布正式對外開源分布式資料庫TBase,受到資料庫界的廣泛關注,如今這款分布式資料庫迎來了開源後的首次升級。7月13日消息,騰訊雲自研分布式HTAP資料庫TBase正式發布最新開源版本。
  • DTCC2020阿里雲李飛飛:雲原生分布式資料庫與數據倉庫系統點亮數據...
    簡介: 資料庫將面臨怎樣的變革?雲原生資料庫與數據倉庫有哪些獨特優勢?在日前的 DTCC 2020大會上,阿里巴巴集團副總裁、阿里雲資料庫產品事業部總裁、ACM傑出科學家李飛飛就《雲原生分布式資料庫與數據倉庫系統點亮數據上雲之路》進行了精彩分享。
  • DTCC 2020 | 阿里雲葉正盛:資料庫2025
    之前從事軟體研發工作十餘年,2010年開始加入阿里做「去IOE」、異地多活和雲計算方面的工作,2020年帶領團隊衝進了Gartner全球資料庫領導者象限。資料庫發展歷程而按照商業和開源資料庫的角度來看,兩者依舊是平分天下。在商業資料庫領域,具有代表性的資料庫有Oracle、SQL Server等;而在開源資料庫領域,具有代表性的數據由MySQL和PG等。資料庫-兵家必爭之地
  • 11 個開源的面向文檔資料庫
    本文介紹 11 個開源的面向文檔的資料庫系統: 1. MongoDB MongoDB 是一個介於關係資料庫和非關係資料庫之間的產品,是非關係資料庫當中功能最豐富,最像關係資料庫的。他支持的數據結構非常鬆散,是類似 json的bjson格式,因此可以存儲比較複雜的數據類型。
  • 阿里開源混沌工程工具 ChaosBlade
    近日,阿里開源了混沌工程工具 ChaosBlade。
  • 迎難而上—分布式資料庫如何在關鍵行業開花結果
    而資料庫系統主要還是依託原有集中式架構進行維護擴展,為了應對新增業務的需求,資料庫系統不斷擴容,其規模及複雜程度日益增長,各類瓶頸逐漸暴露。傳統的集中式架構已經難以滿足行業海量用戶的數據服務和存儲處理需求,關鍵行業引進分布式資料庫迫在眉睫。 金融、電信等關鍵行業應用分布式資料庫,具有以下幾點優勢:一是能夠輕鬆面對海量數據和高並發的處理壓力。
  • 盤點:關於分布式系統的經典基礎理論
    【IT168 評論】分布式系統設計理念  分布式系統架構的第一原則是不要分布!這句話看似矛盾實則揭露了分布式系統的很多特徵。  分布式系統的目標與要素  分布式系統的目標是提升系統的整體性能和吞吐量另外還要儘量保證分布式系統的容錯性(假如增加10臺伺服器才達到單機運行效果2倍左右的性能,那麼這個分布式系統就根本沒有存在的意義)。  即使採用了分布式系統,我們也要盡力運用並發編程、高性能網絡框架等等手段提升單機上的程序性能。
  • 企業級和開源領域「兩開花」,巨杉引領國產資料庫創新
    巨杉資料庫作為業界領先的金融級分布式資料庫廠商, 獲得 「2019年開源資料庫先鋒企業」 及 「2019 GVP-Gitee最有價值開源項目」 兩項殊榮。SequoiaDB 巨杉資料庫始終堅持自研路線,並於2014年正式開源,是國內最早的開源資料庫之一。經過8年的自主研發和技術發展,迭代發展出了技術領先、產品安全穩定、通用性強的金融級產品。
  • 借IBMLinuxONE加快分布式架構轉型與創新
    當分布式資料庫遇上開放伺服器LinuxONE解決分布式架構落地的難題,有一種很好的選擇,就是將分布式系統與IBM LinuxONE相結合,後者可以很好地應對分布式架構帶來的種種挑戰。更重要的是,LinuxONE除了具備開源開放、穩敏合一、綠色計算和安全可靠的特性外,還有很多獨特的價值,可以很好地幫助分布式系統來應對各個層面的挑戰。首先,LinuxONE擁有獨有的內存通訊技術,可以很好的解決分布式系統節點數量過多,而帶來節點之間通訊不可靠的痛點。
  • 百度安全開源大規模圖資料庫HugeGraph
    近年來百度安全憑著雄厚的技術實力自主研發了全面支持Apache TinkerPop 3框架和Gremlin圖查詢語言的大型分布式圖資料庫HugeGraph,與Neo4j、TitanDB等傳統圖資料庫相比有很多獨特的優勢。今天我們很高興的宣布HugeGraph開源,更好的為網絡安全、機器學習等社區服務。
  • Apache分布式日誌系統:高通量、低延遲
    網絡設備、系統及服務程序等,在運作時都會產生一個叫log的事件記錄;每一行日誌都記載著日期、時間、使用者及動作等相關操作的描述。它存在於大家每天的工作中,是一組只追加,嚴格有序的記錄序列。日誌是一種很有效的數據結構,可用來解決很多分布式系統的問題。
  • 引領數據創新,星環科技分布式資料庫KunDB亮相數據技術嘉年華
    2020年11月20-21日,一年一度的數據技術嘉年華在北京順利召開,此次大會以「自研·智能·新基建——雲和數據促創新 生態融合新十年」為主題,打造 「開源自研、智能運維、智能自治、新基建、用戶實踐」五大模塊,設置1個主會場、12個分會場,匯聚學術精英、資料庫技術大咖、數據行業專家、網際網路卓越產品,帶來超過60場主題演講。