每次看到馬路對面摩托羅拉的大牌子,都想起谷歌125億美元收購摩托羅拉移動,後來又以29億美元賣給聯想的事情。谷歌所做的決策都比較考慮長遠利益,在這串交易中,谷歌獲得了摩托羅拉最有價值的幾千項專利,穩健了Android的生態。谷歌曾經在美國一個地區占用巨大的面積建立了太陽能發電站,人稱“烤鳥”項目。因 ...
每次看到馬路對面摩托羅拉的大牌子,都想起谷歌125億美元收購摩托羅拉移動,後來又以29億美元賣給聯想的事情。谷歌所做的決策都比較考慮長遠利益,在這串交易中,谷歌獲得了摩托羅拉最有價值的幾千項專利,穩健了Android的生態。谷歌曾經在美國一個地區占用巨大的面積建立了太陽能發電站,人稱“烤鳥”項目。因為鳥兒從此地飛過會因為太熱而從天上掉下來變成熟鳥。而產生的電能僅夠一個小村莊使用。但是正是這種願意去嘗試才推動了科技的發展。讓谷歌這麼多年屹立不倒。
Databus是LinkedIn開源的一款低延遲的分散式資料庫同步系統(a source-agnostic distributed change data capture system),它提供可靠的數據捕獲、流轉和數據處理功能。
應用場景:
主要應用場景:跨部門之間或者跨機房之間進行資料庫的數據訂閱。同類產品有阿裡的canal。支持Oracle和Mysql資料庫。
Databus和canal一樣,數據都是基於資料庫日誌挖掘來做的。我之前的博客也提到了,當今的數據處理大致可以分為兩類:聯機事務處理OLTP(OnLine Transaction Processing)和聯機分析處理OLAP(OnLine Analytical Processing)。
OLTP是傳統的關係型資料庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。但是平常所說的OLTP是集成到SQL Server中的資料庫引擎組件,因為微軟有個白皮書《SQL Server In-Memory OLTP Internals Overview》。但是OLTP實際上可以稱之為:面向交易的實時處理系統。性能指標是TPS。
OLAP是快速響應多維分析的一種解決方案。面向的數據源是數據倉庫。支持複雜的分析操作,側重決策支持,並且提供直觀易懂的查詢結果。
再回來說Databus,Databus最重要的特點是其無限回溯功能。當消費者完整數據拷貝,或者消費者的已有數據和主OLTP資料庫相差很大時能夠低延時的進行同步。
核心組件:
Databus的核心組件是Databus Relay。主要負責兩個工作:
1>從Databus源資料庫中讀取變化行,並序列化為事件流保存至記憶體中。
2>接受客戶端的請求,並將數據變化事件流返回給客戶端。
實現原理:
databus使用了open-replocator作為獲取資料庫變更事件的組件。功能是實時獲取mysql的binlog日誌,並封裝成Event對象,然後調用已註冊的listener進行處理。
技術架構:
- Event Producer:用來讀取資料庫的變化事件,轉化為AVRO類型並存儲至記憶體中。
下麵說說AVRO. Apache Avro是一個獨立於編程語言的數據序列化系統,該項目由Hadoop之父牽頭創建。它可以提供:豐富的數據結構類型,快速可壓縮的二進位數據形式,存儲持久數據的文件容器,遠程過程調用,同動態語言的簡單集成。讀寫數據文件和使用RPC協議都不需要生成代碼,而代碼生成作為一種可選的優化只值得在靜態類型語言中實現。
- Circular Buffer:Relay有一個或多個環形的緩衝池用來保存按遞增的系統變化號(SCN)為順序的變化事件。
細心的讀者會發現每個中間件都有自己比較獨特的緩衝策略,這種緩衝策略很大成熟決定了此中間件的好壞。
- SCN Writer/Reader:用來讀取和吸入SCN號至硬碟。
- RESTFUL interface:它暴露一個restful介面,用來推送數據變化事件至客戶端。
源碼:
Databus是用java開發的。github地址是:https://github.com/linkedin/databus。
跑題時間:
自從畢業後上班開始就時不時自己能夠感覺到一些問題。比如:比較著急的時候我眉頭是緊鎖著的,說話客氣不起來了。再比如我說話的方式也是技巧不足的。這些看起來不是核心的問題現在卻是我的第一要務。因為之前有問題沒關係,我不做管理,我就管我自己。那麼這些小毛病頂多影響我自己。現在我的很多決定都直接影響到我們團隊。
所以,在實際影響範圍可控的情況下,我反而會將問題更明顯出來,自己製造些小矛盾。為什麼這麼做呢,因為我從來不做“大家都說這樣做是對的”的事情。我只做自己心裡完全接受的事情。
之前認識我的人都知道我嗓門很大。現在好一點了,雖然也有時會忘了降低嗓門。我娘家在我們鎮上最繁華的地段,後面是菜市場。每天早上3點就很吵了。我屋的窗戶正好對著市場。所以我從小練就了“再吵和我沒關係”的本事,所以我對噪音很不敏感。所以我是花了很大力氣才讓自己心裡完全接受了“這樣會打擾別人,最好的音量是不要太大,震到別人耳朵,也不要太小,別人聽不清”
我現在需要讓自己瞭解到自己的問題會產生什麼樣的後果,確實是有問題的。但是這樣做確實是很笨的方法。聰明人是自己完全可以預見到的,人生會走很多彎路。
我工作十年,實質性的提高是沒有的。剛畢業的時候,我的學歷差不多就是目前所在這個級別的公司。人人,樂視,新美大。並沒有級別上的提升,反而職級上比同屆的要低。
跟別人相比,可能我一年過了日語1級,去過日本。後來去過美國矽谷。也有上百個專利。我在想這些為什麼都沒能給我帶來實實在在的好處。
我學語言能力確實很強,但是我單純只想做技術。自己的任性是要有代價的。代價就是語言能力沒有用武之地。
去過日本和矽谷,這是工作機遇,並不是什麼能力。應該給我帶來的是氣質,談吐。但是我的氣質和談吐並沒有上去。也就是我白去了,去了沒學到東西。素養沒提高。
專利是要真正給公司帶來利益才有價值的,和數量沒有關係。我並沒有哪個專利特別好,發揮了特牛逼的作用。
總的來看,我是一個非常普通,還有1個半月就過31歲生日的老技術。完全沒有優勢。並且,我還有點浮躁。
去樂視之前,我的每一次努力都發生在不得不努力的時候。升學前,因為擔心,考不上怎麼辦呀,於是努力成績上去了。危機沒了又回到原來。上班有任務壓我,我就努力乾。因為乾不完怎麼辦呀,這是我的責任。然後基本就是忙一個月兩個月閑個半年。
去樂視的時候,我有個好開頭。為什麼呢,因為去樂視之前,我自己趟了趟渾水,當然不是工作上的。但是我在樂視的時間自己都很鬱悶。直到最後我在自己臉上身上刻了好幾個疤,近1年才好,這段時間我都在鬱悶自己身上的疤,原來因為什麼事情鬱悶完全都不記得了。所以這是我最不浮躁的一段時間。不過,我覺得和別人相比,也挺浮躁的。
現在來說,我覺得起點是很低的。突然覺得自己一無所有。但是好歹各個階段該做的事情都做了,該試的錯也實實在在試過了。我得到了我真正想得到的東西。放棄的,都是自己覺得不值得。就剩一件事了,我想在工作上達到我應該達到的高度。因為IT行業對年齡和女孩子都是很殘酷的。我不圖名,不圖利,不愛權利,但是我想工作。
現在的公司,大家都有我很多我值得學習的地方。不跟著別人學,自身的成長也需要很多的提高。方法論方面,架構方面。我還不能拖的時間很長來適應,我需要儘快能夠有一些時間,每天寫點代碼,根本的東西不想放下。
一直以來都不喜歡被別人叫老。也一直以來都沒成熟大方得體。有時候頭髮很亂,有時候不經考慮。這是年輕,希望別人喜歡自己原本的樣子。現在,越來越多的考慮怎麼把事情做好。靜兒的文章哪有不秀恩愛的。今天我只想說謝謝男神在我還年輕的時候遇到我,一心做事情的人恐怕不會再愛上誰。