Yelp開源數據管道項目最新組件——數據管道客戶端庫

分類:技術 時間:2017-01-13

2016年底,Yelp 開源 了他們基于Python和Apache Kafka的數據管道客戶端庫。該庫提供了一個發布和消費數據管道主題的接口。之前的 討論 涉及Yelp的數據 管道 組件以及分布式服務數據集成所面臨的挑戰,也就是 N 1問題梅特卡夫定律

客戶端庫只是最新發布的一個Yelp數據管道組件。對于創建Yelp數據管道的動機和原因,據Yelp報道,切換到新的數據管道每年為他們節省了1000萬美元。Yelp工程副總裁Jason Fennel表示:

我們的動力產生于我們考察自己的數據倉庫時。我們將所有的數據都集中在一起,供業務和戰略人員以數據為驅動制定銷售戰略或產品戰略。過去,那個過程極其費力。對于MySQL中的每一張表,我們的工程師都必須把它取出來存入那個數據倉庫。那需要幾天甚至是幾周的工作……我們開始考察我們的數據倉庫。把我們所有的數據都存進去需要10到15年的時間,但我們希望可以快點。即使把我們在這個管道上投入的時間和精力考慮在內,我認為,我們通過構建這個系統節省了1000萬的工程成本。一旦我們接入了Salesforce,那個數值就更大了。

服務通過客戶端庫從管道消費數據,在Yelp,我們將這些數據輸入類似 SalesforceRedShiftMarketo 這樣的目標。據報道,該庫處理Kafka主題名稱、加密和客戶劃分。通過一個消息代理來集中化服務通信并執行不可變的版本方案,這有助于保護下游消費者,也是更廣泛的數據管道方案背后一個主要的動機。

例如,服務背后的物理變化或者從上游MySQL數據庫加載數據的業務邏輯可以通過Yelp的MySql streamer 以流的方式傳輸到Kafka。 Schematizer 和數據管道客戶端 注冊 主題的模式、數據類型和格式,將消息封裝到相關元數據中,并為下游消費實現版本控制。元數據封裝器可以確保各種負載類型的消息和kafka主題的一致性,但是,負載內容本身可以用于變更數據捕獲,并針對下游更新使用了Kafka 和日志 壓縮

新管道大大縮短了上游更新和數據庫更新之間的端到端時間。Fennell指出:

我們設法將一個需要用長達三周的時間獲取數據的過程壓縮到了幾秒……我們開始加入其他類型的東西。不只是Salesforce,還有Redshift,我們的許多業務戰略人員都在使用它。隨著我們連接其他類似MySQL的東西,日志也進入了我們的數據管道,Kafka構成了這一核心路由層,這意味著,我們每額外增加一個數據源受到的影響就會倍增。

查看英文原文: Yelp Open-Sources Latest in Data Pipeline Project, Data Pipeline Client Library


Tags: 開源

文章來源:http://www.infoq.com/cn/news/2017/01/yelp-data-pip


ads
ads

相關文章
ads

相關文章

ad