琪琪女色窝窝777777,蜜臀亚洲AV永久无码精品老司机 ,东京道一本热中文字幕,天天摸日日添狠狠添婷婷

數(shù)據(jù)中心數(shù)據(jù)分析基礎(chǔ)算法

分類:首頁 > 官方博客 > 交流隨筆     來源:港訊互聯(lián)官方博客     發(fā)布時間:2014-09-28

數(shù)據(jù)中心就是數(shù)據(jù)處理的中心,數(shù)據(jù)是數(shù)據(jù)中心里最寶貴的資產(chǎn)。沒有數(shù)據(jù)需要處理,數(shù)據(jù)中心也就失去了存在的意義。僅僅有數(shù)據(jù),沒有分析與處理,對于社會來說,這些數(shù)據(jù)沒有體現(xiàn)出其應該有的價值,通過數(shù)據(jù)中心對數(shù)據(jù)進行二次加工處理,則可能產(chǎn)生出巨大的財富。21世紀社會發(fā)展開啟了大數(shù)據(jù)時代,與此同時,大數(shù)據(jù)也將反作用于社會,將給社會帶來巨大的變革。而只有數(shù)據(jù)中心才能夠擔負起大數(shù)據(jù)分析的重任,然而面對這些海量的數(shù)據(jù),如何進行高效分析,并得到預期效果,那就是數(shù)據(jù)中心要認真去考慮的事情了。除了通過耗費大量資金去購買各種服務器,提升網(wǎng)絡和存儲能力這些硬件參數(shù)之外,關(guān)鍵是要采用高效的軟件數(shù)據(jù)處理算法,在單位時間內(nèi),相同的硬件資源條件下,可以計算更多的數(shù)據(jù)。下面就來說一說那些常用的數(shù)據(jù)處理算法。

數(shù)據(jù)分析的方法有很多,比如聚類分析、因子分析、相關(guān)分析、對應分析、回歸分析等等,而這些數(shù)據(jù)分析的方法往往忽略了一個非常關(guān)鍵的因素:計算性能,數(shù)據(jù)中心需要的就是這些計算性能高的數(shù)據(jù)分析方法,比如HASH算法,二叉樹算法。

HASH算法一般翻譯做“散列”,也有直接音譯為“哈希”的,就是把任意長度的輸入,通過散列算法,變換成固定長度的輸出,該輸出就是散列值。,HASH算法是根據(jù)特定的索引在海量的數(shù)據(jù)當中以最快的速度查找,這種方法在任何的數(shù)據(jù)分析中都有應用。比如:我們數(shù)據(jù)中心有這樣一個應用系統(tǒng),就是記錄進入數(shù)據(jù)中心人員,那么當我們需要知道某個人是否以前也曾進入數(shù)據(jù)中心的時候,就需要在以往的登記數(shù)據(jù)中查找,比如我們系統(tǒng)記錄的是身份證號碼,那么怎么樣才能以最快的速度匹配呢。當然我們可以從頭到尾一條一條的查找,這時找到花費的時間是不定的,可能一次就找到,也可能幾千次都找不到。若采用HASH算法,基本通過一次查找就可以找到。我們可以通過HASH算法,將每個進入數(shù)據(jù)中心的人身份證都進行HASH計算(一般是選取不同位的數(shù)值進行異或運算),算出來的索引記錄保存到HASH 表中,隨著進入的人越來越多,HASH表也會越來越大。當我們需要得到現(xiàn)在進入數(shù)據(jù)中心的人是否曾經(jīng)來過,那么根據(jù)這個人的身份證數(shù)據(jù)算出索引值,根據(jù)這個索引值直接去HASH表的這個位置去看是否為空,如果非空,就表明此人曾經(jīng)來過,如果是空,就表明此人以前從來沒有進入過。這只是一個HASH算法的舉例,實際的應用系統(tǒng)算法要比這個復雜得多,但數(shù)據(jù)處理的根本還是要靠HASH算法來提升計算性能,有時甚至要做多次HASH計算。

我們在大學學習過數(shù)據(jù)結(jié)構(gòu)課程的都知道,有個二叉樹算法,這是樹形算法的一種。其計算的理念就是將數(shù)據(jù)一分為二,然后判斷要查找的數(shù)據(jù)屬于哪一部分,這樣一次計算就排除掉了一半的數(shù)據(jù)量,以此類推,每計算一次就可以排除一半的數(shù)據(jù),這種算法雖然沒有HASH 算法效率高,但使用簡單,編程設(shè)計容易實現(xiàn),在一些要求不太高的軟件計算系統(tǒng)中也應用很普遍。這兩種算法都為在海量數(shù)據(jù)中查找到需要的數(shù)據(jù)提供了快速的計算方法,其實我們在百度上沒搜索一次,就是在海量的網(wǎng)頁里面查找想要搜索的數(shù)據(jù),那么在搜索的算法中,就廣泛地使用了HASH和二叉樹算法,除了這些算法,還有一種就是集群算法。

在海量的網(wǎng)頁里查找到關(guān)鍵字,僅僅靠一臺服務器計算是不可能在短時間完成的,而我們在搜索的時候幾乎在一秒之內(nèi)就會得到數(shù)萬條搜索記錄,其實后臺是靠數(shù)百臺服務器同時計算完成的,這些服務器我們定義為一個集群系統(tǒng)。集群技術(shù)就是使用多個服務器的計算資源來共同完成一件事,和我們經(jīng)常談及的云計算類似,可以將集群技術(shù)歸結(jié)為云計算的前身,在云計算概念沒有出來之前,基本都是集群技術(shù)的天下。比如在奇虎360,采用200臺服務器完成搜索的工作,當然百度的搜索集群的服務器數(shù)量要更多一些,當一個搜索詞語進來,通過集群技術(shù)就將需求同時發(fā)向200臺服務器,每臺服務器將計算的結(jié)果發(fā)給發(fā)出請求的服務器,這200臺服務器哪個都可以作為發(fā)起請求的服務器,當?shù)玫狡溆?99臺設(shè)備返回的結(jié)果,然后就將計算的結(jié)果返回給用戶。通過增加集群里服務器的數(shù)量,就可以達到提升計算性能的目的。另外集群技術(shù)還有一個好處,就是假如這200臺設(shè)備有一臺是故障的,并不會大大影響計算的性能,有其余的199臺承擔全部的搜索需求,避免出現(xiàn)由于單臺硬件故障導致搜索功能無法使用。在我們實際的使用中可以回憶一下幾乎從來沒有遇到過百度搜索不好用的情況,就是因為采用了集群技術(shù),不僅計算速度快,還能避免單點故障導致整個搜索無法進行。一般搜索系統(tǒng)至少多做好兩到三個集群系統(tǒng),當其中一個集群無法工作時,可以將搜索需求調(diào)整到其它的集群系統(tǒng)中來計算完成,避免了整個搜索業(yè)務癱瘓掉。

除了這些算法,其實還有不少的提升計算性能的好方法,比如哈夫曼編碼,數(shù)據(jù)挖掘的K-means,isodata等,這些算法都不是太常用,但是在算法領(lǐng)域都是比較知名的,在數(shù)據(jù)中心的各種軟件應用系統(tǒng)中也很常見。

本文簡單介紹了數(shù)據(jù)中心最常用的一些數(shù)據(jù)分析算法,本意就是希望對數(shù)據(jù)中心里軟件對提升數(shù)據(jù)處理效率的作用和硬件一樣不能小視,高性能的數(shù)據(jù)中心并不意味著一定不斷地引進先進的計算設(shè)備,優(yōu)化軟件處理算法往往可以讓數(shù)據(jù)中心的計算效率有質(zhì)的提升。

來源:www.yasamdan.net      發(fā)布時間:2014-09-28

港訊互聯(lián),專業(yè)的香港空間香港服務器服務商。本文版權(quán)所有,轉(zhuǎn)載請注明出處。

共有條評論

參與評論

驗證碼:      發(fā)言請文明用語并遵守相關(guān)規(guī)定,評論內(nèi)容會在15分鐘之后顯示。

最新評論

相關(guān)閱讀 評論 返回頂部