本文最初發佈於Apache Pinot開發博客,由InfoQ中文站翻譯並分享。
曾幾何時,一家名爲領英的互聯網公司面臨着無法實時分析PB級聯網數據的挑戰。由於是第一次出現這樣的問題,所以只有一個解決辦法。該公司組建了一支有才華的工程師團隊,並指派他們爲這項工作開發合適的工具。如今,這個工具被稱爲Apache Pinot。
曾幾何時,一家名爲領英的互聯網公司面臨着無法實時分析PB級聯網數據的挑戰。由於是第一次出現這樣的問題,所以只有一個解決辦法。該公司組建了一支有才華的工程師團隊,並指派他們爲這項工作開發合適的工具。如今,這個工具被稱爲Apache Pinot。
Pinot開始處理這個世界上最大的在線社交網絡之一的傳奇創新的遺留問題。在過去的幾十年裏,這家硅谷的科技巨頭幫助了世界各地數以億計的人找到了正確的職業生涯發展之路。如今,作爲一家微軟公司,領英一直在保證同事們之間的聯繫,伴隨他們經歷成功與失敗,以及開啓更好的職業生涯。
乍聽起來可能有點奇怪,一個名爲“誰看過我的資料”的功能會催生出一些最流行的開源工具,而這些工具正在改變公司構建和操作軟件的方式。
Pinot是Apache最新孵化的項目,它追隨了Kafka、Helix和Samza等巨頭的腳步,其中,Kafka正迅速成爲雲原生應用的支柱。如果軟件確實正在吞噬世界,那麼Apache Kafka可能要負責吞噬私有數據中心。
在Kafka登上行業標準消息代理的舞臺之前,有硬軟件問題的大公司除了運行自己的硬件之外幾乎別無選擇。但現如今,在Kafka這樣的開源工具的幫助下,開發者可以在數據中心的虛擬機和雲原生應用之間架起一座橋樑。
Kafka的祕訣是什麼?它將從許多不同的相互分離的系統收集的事件流轉換成可以像數據庫一樣查詢的主題,而不必真得轉換成數據庫。
儘管作爲一種“可移植數據倉庫”,Kafka代表了一項重大的進步,但大多數應用程序開發人員仍在努力將事件流轉換爲複雜的查詢模型,而不用去了解Kafka流的流入流出。
現在,Pinot的目標更進一步,它在Kafka之上爲開發者提供了一個他們熟悉的數據庫,將事件流轉換爲可查詢的數據模型。最終的結果是,在構建和操作他們的應用程序時,開發人員就不必再考慮如何獲得Kafka的所有好處,而只需要關注如何編寫對用戶最有價值的代碼。
由於Kafka既是消息代理又是事務日誌,所以它也經常被用作數據庫,這就給開發人員增加了負擔,他們需要維護主題中事件流的數據投影。
Pinot提供的是一種工具,使開發者無需考慮如何使用Kafka主題來構建和維護來自事件流的可查詢投影。事實證明,考慮事件流只會降低開發過程的速度,而且代價是數據可移植性。