MongoDb企業應用實戰(一) 寫在MongoDb應用介紹以前(i)

故事背景:html

 

      本人有幸,經老友( 現爲x知名快遞公司技術總監 ) 推薦進入中國前三大民營快遞公司之一工做,在此很是感謝他,在此也很是感謝我在第一家公司幫助我進步的兄弟(我在時的項目經理,現爲 x  知名自動識別行業企業部門高級經理)。數據庫

下面介紹6年後和6年前的個人職業生涯中的兩個單表大數據故事。架構

 

(1) 6年後 單表大數據 之故事(一)大數據

      來以前老友告之如今核心運營系統 Oracle數據庫中單表數據半年過10億了,使用傳統T-Sql不論如何優化,查詢客戶信息速度也提高不上去。優化

須要使用企業級搜索引擎(Solr)來解決本部門其他兩大輔助業務系統去查詢客戶信息。若是我過去的話,先把這塊帶肉的骨頭啃了。搜索引擎

當時一聽很開心,不就10億數據嗎?不就單表嗎?6年前就遇到過相似的狀況了。這仍是使用成熟企業級的開源軟件(Solr),這有何難啊,老友說項目開發週期大概2個月,最長儘可能不要超過3個半月,我自信滿滿的說沒問題。htm

 

(2) 6年前 單表大數據 之故事(二)blog

      還記得大概5年半前的一個項目,確切的說如今應該是成熟產品了。上次聽那兄弟(當時爲項目經理,如今已經爲該公司的系統集成部的部門高級經理,近十年工做經驗。)說:該系統全國大概已經400多家企業級用戶了,不乏跨國大企業用戶(美國,日本),不乏上市公司。當時碰見的那個問題應該是今天這個問題的縮微版了,那是個單表數據天天100w的量,SqlServer2005下。索引

     當時的情景是這樣的:筆者當時正在山西一家企業作軟件項目的實施,忽然接到上海總部公司電話,讓趕忙處理完就奔赴河南一家企業處理系統癱瘓的問題。當時也沒多想,實施完了就趕忙買張去河南焦做的汽車票。還沒下車,就不斷接到客戶公司老總的電話,詢問車已經到何地了。已經備好了車,老總帶着專職司機奔着高速收費站那邊等着我了(那一刻,我才深深知道本身的價值,才覺着本身對於這個社會仍是能夠作些貢獻的。)。內存

     客戶公司老總也沒多說,就簡單告知系統癱瘓了,整個生產車間已經不能正常運轉了,停了一個星期了。大量藥品都堆在生產車間中了,另外在藥品生產車間的通道上也都堆滿了整箱整箱準備生產的藥品。一路上,咱們飛奔,路上我簡單的吃了口燴麪,而後咱們就直奔廠區的生產車間。

    去了之後發現有個單表數據量已經堆積幾千萬(具體的記不清楚了),當時看完就懵了。堆積了這麼多數據,系統查詢怎麼會不慢呢,生產不停下來那纔怪呢?當時客戶方老總覺得抓住了我問題立刻就能解決,我在他們車間裏待多久他就陪多久,天天還點了很多好菜。中間我有打電話求助過總部項目經理,在客戶現場Google,百度了N篇解決方案的稿子,索引刪了重建,CPU 2核升級到4核(也是他們當時就近可以買到的最好的CPU了),內存單條8g?,又升級到16g?( 這個須要跟我那個高級經理的兄弟覈實一下,時間久了當時反正內存不低了,原本是分享的經歷的,省得又弄成了口水戰,尊重事實,行文要嚴謹,要嚴格要求本身。),系統在重啓的那幾十分鐘,速度飛快,可是過不了多久,系統又現以前的死相。前先後後總共折騰了3天2夜,期間睡眠時間嚴重不足,終於在第三天的下午,我也崩潰了。

    緊接着我就給總部老闆打電話,向他報告了這邊的慘狀,以及我所碰見的困境,讓他趕忙派項目經理過去。那時個人項目經理採起了一套救急的方案:

 

(i) 將該上傳到國家機構的數據所有上傳。

(ii) 將現有的生產任務結束,並上傳相應的數據到國家機構。

(iii) 從新建立新的生產庫,將未生產的未使用的原生產庫數據所有導入新生產庫,並重建索引。

(iv) 將原來的生產庫所有分離備份。

(V) 將生產系統切換到新的生產庫上。

 

問題才得以解決。

前先後後咱們又花去了2天一晚上,掐指一算這先後已經讓客戶公司停產了2個周。

那時才知道一個好的企業級應用的產品的系統架構是有多麼重要。

這忙完後我在賓館睡了10多個小時才緩過氣來。

 

這就是我這幾年職業生涯中碰見的兩組大數據案例。欲知後事如何且聽下回分解。

下回預告:

1. 6年前,我和個人項目經理回到上海總部後對系統升級改進解決方案。

2. 6年後,我碰見比當年更爲龐大的數據,個人大數據解決方案。

3. 對於產品級別系統和企業內部系統個人大數據解決方案心得。

4. 大數據應用咱們還有哪些殺手鐗。

 

 下一篇: MongoDb企業應用實戰(一) 寫在MongoDb應用介紹以前(ii)

相關文章
相關標籤/搜索