??? 上一篇: MongoDb企業應用實戰(一) 寫在MongoDB應用介紹之前(i)
?
????? 有段時間沒跟大家去分享和探討過一些問題,分享過一些經驗了(失敗過的,痛苦過的才最有看點啊,不知道各位同仁們怎么去看這個問題?)。接著跟大家嘮叨嘮叨。
且說6年前,那段千萬數據級別刻骨銘心的經歷,讓我真正意識到一個好的產品或者是一個好的軟件系統是需要不斷的提煉,優化,改進,檢驗,再改進。這才能夠一舉奠定它在市場中的地位和價值(6年前,與其說那是項目,到不如說是一個完整的自動識別行業的解決方案。(i)高速傳送帶,(ii)高速成組掃描設備,(iii)條形碼打印機,(iv)自動剔除氣缸,(v)手持終端[PDA],(vi)高速成像設備,十八般兵器悉數登場,才構筑了后來了全國400多家企業級客戶,據最近我當年的那位帶頭大哥介紹,現在都在那套系統已經安裝到一些歐美在華的企業車間中了,他們又弄出了國際版了。)。
接上回: 我和我的項目經理回到上海總部后對系統升級改進解決方案
???? 如果單表數據量過多,有什么好的思路呢?我在6年前那段時間真心覺著一些解決問題的辦法或者思路太重要了。按照今天大家的官方說法是軟件系統中的設計思想太重要,一個好的架構太重要了。如果是幾個人或者幾十個人的用戶,抑或是一天幾百條,幾千條數據,簡單的寫寫,不談什么軟件設計,不談什么數據庫設計,問題也能解決。但終歸大家都能解決的那就沒什么含量了,也體現不出來一個項目經理或者是項目中的核心靈魂人物的價值了。
?????? 話說我的項目經理到現場一看,畢竟是久經IT戰場,迅速的提出解決問題的辦法。當時他在我的心目中正如下面這則小故事中說的那個物理學家:
" 有一臺價值數百萬的精密設備故障,怎么搞都沒辦法,最后一位物理學家說他行,開價十萬美元。沒辦法,答應了。物理學家在圖紙上劃了一根線,說查這。結果真好了。老板一看一根線就十萬,想賴賬。物理學家說了一句話:劃一根線一美元,知道在哪劃線值九萬九千九百九十九美元。老板一聽,讓人付錢。 "
???? 他知道從哪里劃線,并且是屬于一陣見血式的,那就聊聊當時的一些做法,大家如果看到這篇文章,有什么好的想法,好的做法,也歡迎大家不吝賜教。
?
(i) 根據數據的狀態,重新劃分使用過的和沒使用過的數據。
(ii)沒有使用過的數據,按照數據產生的月份遷移到對應月份的數據庫表中。
(iii) 建立生產庫的歷史備份庫,將生產庫的中已上傳至國家監管平臺的數據備份至歷史庫中。
(iv)改進軟件,針對查詢數據部分,分為當前生產庫查詢和歷史數據查詢。
(v)改進新庫創建為每一新年手動創建,根據時間判斷自動創建,并同步遷移上一年沒有使用過的數據。
?
其實我在后來一些項目中發現6年前的做法,在6年后這個辦法依舊不過時。最近跟一個資深的Oracle DBA聊到他在 Oracle中數據的備份和優化策略時,發現他也是采取類似的方式去處理。
?
(i)對Oracle建立水平分區表,將一個完整的表中的數據存儲到不同的數據空間中。
(SqlServer也可以做水平分區表,當時考慮到那是一個全國性的項目,只是采取了更容易維護的方式,自動創建對應數據庫,自動創建表結構,這樣整個系統的維護成本更低,也能夠真正做到替用戶著想,不是每個企業都專門去養一幫很N叉的開發,運維人員。)
(ii)每隔6個月,遷移6個月前的數據至歷史備份庫中。(跟6年前我們的數據庫維護策略如出一轍。)
?
各位同仁們:但是6年前,我怎么能夠理解到這種開發或者運維的思想呢?一上來開始寫復雜的存儲過程我就覺著自己很N了,多年后回想起來這其實沒什么哦。現在ORM,LINQ,甚至是NoSql的產品也都用上了,也沒有覺著自己有多么N叉哦。只是真心覺著這么6年來的持續的學習,保持著的持續學習狀態讓我受益匪淺。另外看待一些問題,思考一些問題也更加接地氣,更加靠譜些了。想起來了那句話:" 最困難的事情是了解自己 最不容易的事情是欣賞自己 。"
?????? 2014 新的一年真的需要對自己有一個更加理性的認識。
?
?
?
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
