尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
最近在看一本大數據系統構建的書,對比起來才發現大數據處理的妙處,豁然開朗的感覺,感覺進入一個新的領地,全新的思維方式。下面我就列出我覺得需要轉變的幾點思維。
數據持續增長
對一個中小規模的公司來說,一般都以關係型數據庫為核心構建整個公司的業務,這是比較快速的方式,技術也很成熟。如果你沒有想過以後數據多了怎麼辦?也許認為還需要幾年的時間才會考慮?今天的社會數據增長的非常快,如果不能存下來,那對以後將會是一個巨大的損失。我公司有個統計數據的功能要做,功能開發完了,後來發現統計的時間間隔是個問題,原先設計的一分鐘統計一次,一年全國300多個城市,6*24*365*300=157,680,000,就會有上億條數據。數據庫查詢就會比較卡了。後來決定擴大時間間隔一小時一次,或者半天一次,數據瞬間少了好多。如果做一個趨勢變化圖粒度是不是就很粗了。
功能是完成了,由此看出沒有存儲數據的能力,有些事想做也做不成。
數據更新
數據的更新是每個業務必不可免的一個任務。傳統的思維方式就是維護一個最新的狀態的數據,那個地方需要更新就更新某個數據。特別重要的數據也許會留個歷史記錄,來記錄變化。在大數據思維下,條件不一樣,思維方式也不一樣了。有了存儲大數據的能力,就可以把每一次的變化都記錄下來,加上對應的時間,在那個時間上,那個數據表達的事實總是成立的。也就是這兩個關鍵的特點:不變性和永久性。不變性指的是寫入的數據就不可修改了,修改可以再寫入一條時間較新的數據來代替。永久性是歷史的數據都會永久保存。
在大數據的思維下,以前想著如何提高更新的效率,如今已經不存在了,不用解決了,只有創建一條記錄就可以。
就像汽車沒有出現以前,大家都只能尋找奔跑最快的馬,有了汽車以後,尋找最快的馬的需求都沒有了,又怎麼需要解決呢。
數據的組織
傳統關係型數據庫對數據的組織和大數據下的數據結構對比一下就能明白有什麼區別。看一個訪問網站的例子:
關係型表達:個人表
網頁表:
瀏覽記錄:
大數據表示方式:個人記錄:
個人編號,姓名
個人編號,性別
個人編號,地址
網頁記錄:
網頁編號,網頁地址
網頁編號,訪問量
瀏覽記錄:
個人編號,網頁編號
這麼對比起來可能還看不出來有多大差別,因為大數據做的事情在數據不大的情況下也有別的方式可以做到一樣的效果,只是當數據量大了以後,以前的方法在效率方面就跟不上了,所以才會考慮別的方式。
試想一下:
如果名字需要更新,對比下兩者的修改,前者只更新,後者添加一條新記錄,能夠保存歷史記錄。
如果發現用戶1和用戶2其實是同一個人怎麼辦呢?添加一個等效的關係
如果添加年齡與網頁的關係?
對比其中的解決方案,揣摩其中的不同。
總的來說,大數據解決方案是在大數據的環境下應運而生的一種方法,也不能完全拋棄以前的方法,畢竟各有所長,各有所短,揚長避短才是我們最佳的選擇。