天天看點

估值110億美元的Pinterest,走的是什麼技術範兒?

對于pinterest感到非常好奇,有兩個原因:首先,我有兩個大學同學正在為它工作,他們也是我美國微軟的前同僚;其次,pinterest和小米都是2010年出生,目前都擁有數億使用者的公司,業務爆炸性增長的曲線類似,技術屬于實用派和開放路線。

1 pinterest是什麼樣的公司? 

首先介紹一下pinterest,在最新的估值已經是110億美元,員工不到500人。pinterest.com國内就可以通路,但是通路速度太慢,内容不夠八卦,不夠刺激,華人人迹罕至,主要在美國歐美比較流行。它的功能很簡單,就是無窮無盡的浏覽圖檔,一張又一張,像一次次下拉重新整理今日頭條的新聞一樣。但是它的體驗卻做的很細緻,圖檔的高度相關,朋友圖檔的動态更新,下滑的微動畫效果,圖檔内識物後的購物欲,給很多女人帶來美麗視覺的沉浸感,精緻生活的設計夢。

估值110億美元的Pinterest,走的是什麼技術範兒?

2 一起看看83年的ceo的履歷 

pinterest的ceo叫做ben sibermann,他是位80後,但經驗豐富,眼光獨特,下面是他的linkedin履歷。

yale university, 大學,1999-2003

consultant ,董事 ,2003-2006

product specialist,谷歌,2006-2008

tinkering, 創業,2007-2009

pinterest ,創始人 2009-現在

ben非常不願意說pinterest是一個圖檔社交公司,他将pinterest定位為“創意目錄“(catalog of idea),他希望使用者在上面能夠找到靈感,不需要輸入關鍵詞,不需要訂閱任何頻道,你總是能夠發現你想要的創意。他有句名言:facebook is about past , twitter is about now , pinterest is about future。小米在創辦之初的口号是“為發燒而生”,随着公司産品的豐富,希望能夠打造更多的質優價平的新國貨,最新的口号是“讓每個人享受科技的快樂”。不知道為什麼,總覺得小米和pinterest有些一些可比性:一個為科技青年所愛,一個為文藝主婦熱戀。

3 pinterest的技術範兒 

羅嗦這麼久,該聊聊技術了,根據9月的公布資料,成立5年的pinterest月活已經超過1億使用者,主要使用者是女性,學校和居家主婦為多,其中美國近7000萬使用者,總圖檔超過500億張。前幾個月,小米手機也公布了的手機日活超過1億了。兩者使用者量在同一水準上,看看pinterest技術範兒。什麼是技術範兒?就是一個公司的核心業務的技術方案理念,包括公司對技術的态度等。

1. pinterest zen 圖存儲服務

pinterest的核心業務就是各種圖檔,特别是圖檔後面的各種關系,誰釘(pin)了哪一個圖?這張圖被誰釘了?是以,如何設計一個高效的圖存儲服務是一個核心業務,特别是從1個使用者到1億個使用者之間的增長,可靠性和性能會不斷成為瓶頸。為此,在借鑒facebook的tao(fb的圖存儲資料服務)的設計思想,pinterest設計和實作了一個自己圖存儲服務。不用neo4j的原因很好了解,資料規模遠遠超出neo4j的能力。

估值110億美元的Pinterest,走的是什麼技術範兒?

它将所有的資訊組織成圖的結構,例如一個對話消息,可以分解為“使用者1234"參加了"對話2345",“對話2345"包含了“消息3456"。每個頂點和邊都可以設定多個屬性值。這樣的所有的業務關系容易擴充,增加業務隻是簡單的增加一些關系類型,頂點類型而已,不需要像傳統資料庫一樣建立很多表,然後通過主鍵關聯。

估值110億美元的Pinterest,走的是什麼技術範兒?

zen背景的資料持久化是使用hbase,正在實作mysql的版本。估計是因為mysql可以提供更多的事務性支援和索引支援。

估值110億美元的Pinterest,走的是什麼技術範兒?

由于hbase隻有rowkey的索引,是以在邊的存儲方面,有時是利用構造rowkey中的schema進行設計。例如,對于一個邊的索引,直接利用rowkey的結構組合而來。其實,小米在hbase的二級索引提供了一些解決方案,在更加底層實作了二級索引,pinterest估計不願意在底層做太多事情。

估值110億美元的Pinterest,走的是什麼技術範兒?

對未來的工作,由于zen的規模越來越大,在高可用性和一緻性之間有着長期的平衡關系。為了改進資料一緻性的問題,zen提供了一個dr. zen用于非實時的資料掃描,及時修正一些資料一緻性的問題,這也是還一些一緻性的技術債而已。另外,後來也計劃利用mysql進行資料持久化,估計是看中了mysql的事務性。最後,在适當的時候開源,期待中!

估值110億美元的Pinterest,走的是什麼技術範兒?

2. pinterest的一些開源項目

在git 上有大約近20個pinterest的開源項目,大部分是一些小的utility,有些客戶單的object-c或者javascript的東西,另外就是有一些elixir的小工具,elixir是一個非常冷門的語言,實際上是在erlang之上的一個包裝後的函數式語言,它利用了很多ruby的高效語言特性。它有一個開源項目secor可以持久化一些kafaka的資料,看起來蠻有意思的,有空試試看。

以下是git上前10個還在更新的開源項目,大部分更新都在近幾個月。工具雖小,但是開源的心意已表。

riffed   provides idiomatic elixir bindings for apache thrift

elixometer a light elixir wrapper around exometer.

react-pinterest

pinremoteimage a thread safe, performant, feature rich image fetcher .objective-c

thrift-tools thrift-tools is a library and a set of tools to introspect apache thrift traffic. python

secor secor is a service implementing kafka log persistence java

elixir-thrift   elixir utilities for working with thrift

pincache fast, non-deadlocking parallel object cache for ios and os x

3.pinterest的部署管理

pinterest内部有一套自動化部署工具,叫做teletraan(這是變形金剛中超級計算機的名字,"顯像一号"),支援復原,快速部署(hotfix),無中斷部署,內建測試,可視化,易用性等。并且支援不同的雲服務提供商,例如亞馬遜雲或者谷歌微軟雲主機。這一技術,各個公司都有,估計都大同小異而已。

從設計的結構來看,還是比較初級和原始的,夠用就好。

估值110億美元的Pinterest,走的是什麼技術範兒?

teletraan的操作界面,和你們公司的部署系統是不是有些像?

估值110億美元的Pinterest,走的是什麼技術範兒?

4pinterest是如何思考變現的?

最後,我是做廣告技術的,必須再聊聊pinterest的變現能。

公司變現方式不明朗會嚴重影響獨角獸的估值,是以各個未上市的公司在讨論使用者體驗情懷時候,都會積極探索變現之路,大家都希望像facebook一樣,通過移動資訊流廣告,一日暴富。

目前pinterest上22-45歲的女性占了總使用者數的59%,75%流量來自移動裝置。品牌廣告的引入一直是pinterest的重中之中,但是使用者浏覽内容的分散,又使得品牌的滲入無法集中落地。是以pinterest的廣告,還是希望通過走效果廣告的路線,按照點選等動作收費。

目前pinterest推出以下幾種變現方式。

1. pinterest 商家推廣圖檔

計費方式有兩種,都是發生使用者動作後計費,動作分為2類

參與行為(engagement),例如pin,repin,關閉,點選等 (cost per engagement,cpe)

前往廣告落地頁(click)

估值110億美元的Pinterest,走的是什麼技術範兒?
估值110億美元的Pinterest,走的是什麼技術範兒?

2. 蘋果系統上的應用分發

2015年2月,pinterest和蘋果合作,推出app pins,簡單說就是在蘋果手機上,不用跳出pinterest前往app store就可以安裝蘋果app的技術。參與應用分發的變現當中。例如,你在看菜單圖檔,就給你推薦“愛大廚“app,并且在應用内安裝。

估值110億美元的Pinterest,走的是什麼技術範兒?

3.一些營銷場景合作

對于一些旅遊,美食和購物的圖檔,可以與一些o2o的廣告商,擷取商機。

估值110億美元的Pinterest,走的是什麼技術範兒?
估值110億美元的Pinterest,走的是什麼技術範兒?

廣告變現最重要的是規模和使用者時長:規模大了,使用者時長,機會一定很多的,希望pinterest越來越成功,同學們越來越富!最後感謝pinterest的工程部落格資料,非常好的學習地方,參考資料:https://engineering.pinterest.com/blog

文章來源互聯居訂閱号,經作者同意由dba+社群轉發。

作者介紹:歐陽辰

2016中國資料資産管理峰會特邀嘉賓

目前就職于小米公司,負責小米廣告平台的架構研發。

畢業于北京大學計算機系,獲得學士和碩士學曆,擁有超過15年的軟體開發和設計經驗。

曾為微軟公司工作10年,擔任進階軟體開發主管,上司團隊參與微軟搜尋索引和搜尋廣告平台的研發工作,曾負責微軟上下文廣告的全部研發工作,包括系統架構和資料算法。

曾在甲骨文公司從事資料庫和應用伺服器的研發工作。

<b></b>

<b>本文來自雲栖社群合作夥伴"dbaplus",原文釋出時間:2016-02-04</b>