close

這是今天聽的第四場的sessionspeaker一聽就知到是滿頂級的高手,不是在講framework或許法的問題,一直分享原理跟底層的差異性,滿多議題值得讓人深思的。光32bits64bits這兩個環境的介紹就讓人印象很深刻程式的高手眾多,但觀念上的高手可不多囉~一聽就是到他屬於後者…let’s talk about Big data. Big java.』。

 

Big data,就是所謂的巨量資料,在內地常稱為海量資料。傳統只有PCNB的世界早已過去,現在的行動、社群、blog、群眾智慧等概念的興起,量的急速竄升是必然的現象。如何從大量的資料迅速找出需要的資料跟事後的巨量分析能力都成已經成為現今相當熱們的議題。而speaker從三個面向去說明了Big data的重要性:

  1. 資料3V來臨說:資料量大小(Volume)、處理完成所需要的時間 (Velocity)、要處理的資料格式種類 (Variety)
  2. Data是下一個intel inside這句話是O’Reilly於國際研討會所提出的議題,當初原本是在將web 2.0成功的特色。但也在在的點出資料的重要性,故big data背後隱含的當然就是資料的重要性,如果不重要,那就算資料在多其實也沒有處理的必要性了不是嗎…XD
  3. Big data的議題於過去12月之內,被討論的程度成長了12倍。由此可見它的熱度。另外在行動紀元的開始,以及IOT概念引爆的萬物聯網世界中,資料實在會多到爆炸。在我之前的文章『雲端四強中的Google分析個案』也有提及到光Youtube一天的資訊量就是人類花一生的時間都看不完了,由此可知現在已經不是資訊爆炸了,我覺得反而應該這樣說:『資料的洪水,如何取得人們真正要的資訊才是關鍵的議題。在Big data的世界中困難點是怎麼界定出”what is information that someone care about it.”…這會不會才是關鍵點』!

 

Big data下,當然電腦也開始有big memory議程中提及32bits vs 64bits位元的迷思:其實32bits的效能反而會比64bits的快10~20%,因為以I/O的角度來看處理的資料長度會變大,故相同的運作下I/O時間反而會比較長。64bits到底好在哪裡?是好在定址的address也變多了,所以可以要求的memory size可以變更大,故以後在跑程式可以有更多的heap跟更多的stack(如果不瞭解heapstack的區別可以歡迎參考我先前提的memory space的區別)

題外話:speaker有提到一個問題,為什麼eclipse有提供32bits64bits的版本?而NetBeans的開發環境不需要分3264bits呢?原因是因為eclipse的圖形介面有用到AWT的元件跟底層會直接相關,所以變成是NativeIDE;而NetBeans是純swing2D圖形化介面api,由於swingpure java,所以不需要跟系統底層直接溝通,所以一切由JVM來提供即可。另外,為何JVM需要提供3264bits的區別呢?原因無它,因為JVM會直接面對到底層系統,故需要區分他是要跟32bits64bits的系統溝通。這也是我常在強調的:從核心下手、從原理去探索,往後的路會來得輕鬆些,說起來也容易讓大家尊敬些!

 

Big data. Big java在中後半段,開始介紹到Apache Hadoop的概念跟用法。Hadoop = HDFS + MapReduce,其中HDFSstore、而MapReduceprocedure。進一步說明:這不就是一個系統運作的兩大運作區塊,(1)怎麼存、(2)怎麼處理。

大家應該比較少聽到『HDFS』,這其實是一種分散式的檔案處理系統的結構。為何叫做分散式,因為其中可有多個Node,每個Node可以看成是主機。在此環境下,試想如果有幾百、幾千台Node,有幾台Node突然掛掉,是常見的事情,因此當然就要有提供failure tolerant的功能囉。所以failure tolerant成為雲端當中相當重要的議題,有了容錯才會有user最關切的HA(High Availability:高可使用性)。另外MapReduced就不在此談論囉有機會另闢單元說明。

 

最後提及有科學家研究,人腦的神經元可以儲存的容量為2.5PB(也就是2500TB,如果不清楚那就是2500000GB)。呼~這麼大的量足以儲存連續看300年的影片資訊。或許把資料存在人腦中或許是一個不錯的解決方案囉…that’s interesting~~

arrow
arrow
    全站熱搜

    劉逸 發表在 痞客邦 留言(1) 人氣()