資料服務的本質是計算
張頲 2012/
11/26
大概是2010
年,我形成了乙個觀點:資料服務的本質是計算
,隨著時間的推移更是清醒,遂產生寫出來的念頭。
在得出這一觀點之前,我常常在想,電腦與人腦相比,優勢是什麼?終於我想到了最初那幾台計算機都幹了些什麼。在物理世界中許許多多的問題都會轉化為數學問題,而計算機的出現,令複雜的數學計算能夠在很短的時間內完成。二次世界大戰後期,計算機的出現,加速了原子彈的研發,從而加速了戰爭的程序。
隨著計算機的體積不斷地縮小,以及成本的下降,計算機的應用早已不限於軍事用途,正在持續影響著人類生活的方方面面。順著這一思路,我們不會吃驚於亞馬遜的本質是資料巨頭,不會為**的技術很先進感到奇怪,也能理解京東**為什麼一定要塑造自己成為技術驅動型公司。
基於電腦超人的計算能力,人們發明創造了各式模型,將種種現實問題轉化為計算問題。在模型知識的幫助下,電腦成為了當之無愧的工具之王。記得某一次課堂上老師在黑板上畫了乙個圓圈,圓圈裡面表示我們已知的部分;通過「圓圈越大,圓周越長」形象的表達「已知越多,未知越多」的認識。當一些人發現有更多的事情可計算時,另外一些人則不斷地認識到計算能力的侷限性。
為了更好地認識到計算能力的侷限,不妨設想一下,一厘公尺厚的被子對折64
次以後的厚度是多少?答案是2的
64次方。這個厚度用光速來跑完大約需要
19.5
年。是不是可以這樣來比喻,對於2的
64次方難度的問題,用光速來計算,需要
19.5年?
再舉乙個航空旅行路線的例子。
如果有3
個城市a,b
和c,互相之間都有通航,
依次訪問每個城市的
路線有6
條:abc,acb,bac,bca,cab,cba
。用階乘來表示
就是:3!=3×2×1=6
。那麼,100
個城市所有可能的訪問路線有多少條呢?答案是
100!
。假設我們有一台超級計算機,1
秒鐘能夠處理2的
64次方條路線,需要多少秒才能處理完呢?答案是5
後面有138
個零。假設能夠用空間換時間,我們儲存這些路線要消耗多大的資源呢?將厚度
1公釐、容量
1t的硬碟摞在一起,這個高度用光速來跑,需要多少年呢?答案是
1後面加
100多個零!
在演算法實踐的過程中,要麼用空間換時間,要麼用時間換空間,換來換去到最後時空的節約總會有極限,這就是問題所固有的複雜度。當乙個問題固有的複雜度隨著維度的增加呈現指數增長時,稱之為
np難問題。計算能力有侷限未必是壞事,加密解密技術便利用了這一點:當解密的困難超越了電腦的計算能力時,加密便是安全的。這是當今網路安全的基石所在。
從電腦相對於人腦的優勢來看,我們的it
系統越是從事計算密集型工作,就越不能夠被人類勞動所替代,人們也就越能夠從中感到便利。
資料服務領域的工作恰恰是計算密集型的,相對於其他it
系統,資料服務系統的計算往往更具複雜性。例如,資料服務系統內的作業較少在
1分鐘以內結束,有時候甚至要花費超過一周的時間完成計算。至此,應當能夠感到計算對於資料服務的重要性。但是要將計算上公升到資料服務本質的高度,還需要繼續深入下去。
站在使用者的角度,我們常說資料質量是第一重要的。如果統計結果不可信,那麼無論表達方式有多麼花哨都是徒勞。站在技術的角度,資料質量問題是紛繁複雜的,甚至可以說高質量的資料就是大量計算的結果。正因為得到高質量的資料要付出大量的計算代價,所以才有儲存處理結果的價值。甚至說資料倉儲本身就是以空間換時間的演算法設計產物也不為過——事務型系統推崇
3f正規化設計規避冗餘,而資料倉儲對待冗餘的態度幾乎是相反的。
如果說從演算法的意義上理解資料倉儲存在的意義還需要繞個彎子,那麼在資料倉儲的基礎上從事統計、分析、挖掘之類的工作則是赤裸裸的計算了。
在最後的資料呈現階段,也就是使用者介面的部分,比較重要的兩個方面,乙個是易用性,另乙個是美觀。採用人性化的設計來節約人腦的計算可以達到易用的目的;美觀第一想到的應該是美工,殊不知,要得到真正的美感,僅僅依賴美術設計是行不通的。舉個例子,蘋果手機的硬體不是最好的,但是使用體驗卻是最好的,這個關鍵之處是美術麼?
綜上所述,我理所當然地認為資料服務的本質是計算。
基於這樣乙個認識,在資料服務領域的工作,要取得更好成效,計算效率便成為最為重要的前進方向。需注意此時所指「計算」不僅僅是程式演算法意義上的計算,也包括人類大腦分析思考時的計算。
資料服務系統的定位
版本 v1.0 最後更新日期 2013 2 17 資料服務領域的工作是計算密集型的,相對於其他it 系統,資料服務系統的計算往往更具複雜性。例如,資料服務系統內的作業較少在 1分鐘以內結束,有時候甚至要花費超過一周的時間完成。在提供資料或分析時,我們常說資料質量是第一重要的 結果不可信,無論表達方式...
mysql資料伺服器 手動配置資料伺服器mysql
1.mysql檔案和資料夾 linux 配置檔案檔案字尾為cnf bin 放可執行性檔案 include 存放標頭檔案 lib 存放庫檔案 share 存放字符集,語言等資訊 my.ini mysql軟體正在使用的配置檔案 my huge.ini 當mysql軟體為超大型資料庫時使用的配置檔案 my...
AI資料服務,尋求合作
提供ai資料服務,語音 影象等相關資料的審核 標註 採集等相關服務,並提供相關多場景資料定製 工具和平台開發 人員駐場 相關業務外包,分公司或部門建立等,一切以客戶需求為出發點,設計方案,可多種形式合作,歡迎有需求的聯絡,直接合作有優惠 以下相關行業,有業務需求可合作 1.做人工智慧相關產品 語音互...