本雜誌開源,歡迎投稿。週刊另有《誰在招人》服務,釋出程式設計師招聘資訊。合作推廣請郵件聯絡([email protected])。
封面圖
紐西蘭小鎮 Tirau,在公路邊放置了很多波紋鐵皮做的奇特建築。上圖的小狗其實是一個公共廁所。(via)
本週話題:大資料已死
"大資料"這個詞,大家想必耳熟能詳。這是最大眾化的 IT 詞彙之一,全社會曾經都熱衷於它。
百度指數顯示,"大資料"從2011年開始進入搜尋引擎,然後快速傳播,在2017年~2019年之間達到頂峰。
那時,大家都認為,資料在未來將指數式增長,世界將被海量資料淹沒。如何處理這些資料,就成為了關鍵問題。它決定了一個企業甚至一個國家在資訊時代的競爭力。
於是,企業紛紛尋求大資料解決方案,出現了很多相關的招聘崗位,還都是高薪。高校也積極響應,有報導稱,國內有600多所高校開設了"大資料專業"或"大資料學院",其中包括北京大學、復旦大學這樣的名校。
但是,十年過去了,大資料並沒有成為發展的瓶頸,我們依然足以處理產生的所有資料,在可預見的將來也是如此。
預言中的大資料時代,看上去不僅沒有來臨,反而變得遙遙無期了。 "大資料"這個詞的熱度,也在不斷降溫,被提及次數變少了,招聘崗位也慢慢不見了。
與之相應的是,"大資料"這個技術領域,也進展甚微,沒有誕生新的概念和理論,技術沒有突破,很多方向都停滯不前。
比如,專為處理大資料而設計的 NoSQL 資料庫,聲勢越來越小,陷入停滯,反而是傳統的關係型資料庫(SQLite、Postgres、MySQL)強勁增長,越發受歡迎。
這是怎麼回事?
谷歌的大資料工程師喬丹·蒂加尼 (Jordan Tigani),最近直言不諱地說:"大資料已死"。
他認為,大資料時代已經結束了,大資料的儲存和分析,作為一個技術問題已經解決了。 使用者已經不必擔心資料大小了,再多的資料都不是問題。
他提出了"大資料已死"的6個理由,我覺得很有說服力,下面就跟大家分享。
(1)絕大多數企業到不了大資料級別。 企業的資料量往往不到 1TB,很多甚至不到 100GB。
假設一家中等規模的製造業公司,擁有1000個客戶,每個客戶每天產生一個訂單,每個訂單包含100個產品。這家公司一天產生的資料量,依然遠遠小於 1 MB。三年後,資料總量也只有 1 GB,達到 1 TB 需要幾千年。
就算是大型網際網路公司,大多數時候也到不了大資料級別。假設某個營銷活動有100萬使用者參加,並且同一時間,該公司開展了幾十個這樣的營銷活動,每天的資料量依然不足 1 GB,就算加上各種日誌,可能也只有幾個 GB,這跟大資料相差甚遠。
(2)儲存和計算正在分離。 大資料包含"資料儲存"和"資料計算"兩個方面,如果放在一個系統裡面處理,確實很難。
但是,這兩方面現在已經能夠脫鉤,變成兩個獨立系統,各自都能獨立擴充套件。這意味著,"資料計算"不受"資料儲存"(資料庫大小)的限制,反之依然。
因此,大資料作為單一問題就不存在了,變成了海量儲存和大型計算兩個問題。
(3)沒有新業務的情況下,資料是線性增長的, 即每天的新增資料與以前的資料結構相同。
以前的資料一旦寫入資料庫,通常就不再發生變化,也沒有新的計算需求,相關計算在以前就完成了。這時只要對最近的新增資料進行單獨計算,然後儲存就可以了。你很少需要每天掃描一遍舊資料:那些資料一成不變,為什麼要一遍一遍計算它們呢?
因此,對於一家企業來說,"資料會指數式增長"這個假設並不成立。而且,資料計算的需求,其實比資料儲存的需求小得多,因為老資料很少需要再次計算。
(4)人們看重的往往只是最近的資料。最頻繁的查詢是針對24小時內產生的資料,一週前的資料的查詢可能性要低20倍,一個月前的歷史資料只會偶爾被查詢。
這意味著,大資料更像靜態資料,而不完全是動態資料。既然以前的資料很少用到,那麼就可以壓縮儲存。一個包含10年資料的表格,可能會達到 PB 級別,但是如果壓縮儲存歷史資料,壓縮後可能不到 50 GB。
(5)真正擁有大資料的公司,幾乎從不查詢全部資料。他們90%的查詢涉及的資料少於 100 MB,涉及 TB 級別資料的查詢非常少。
就算查詢 TB 級別資料,查詢效能的優先順序往往並不高。等一個週末或幾天才拿到結果,通常是可以接受的。
另外,大型資料集的查詢非常昂貴。谷歌的 BigQuery 的 PB 級別查詢報價是 5,000 美元,即使是大公司也不會經常使用。
(6)硬體的飛速發展,使得單臺計算機的計算能力大增。 2004年,谷歌發表 MapReduce 論文時,單機的計算能力還比較弱,很多計算必須透過分散式完成。
2006年,AWS 推出了 EC2 雲主機,你只能用到一個單核 CPU 和 2 GB 記憶體。今天,AWS 的標準例項具有64個核心和 256 GB 記憶體。如果願意多花錢,還可以拿到445個核心和超過 24 TB 記憶體。
單機計算能力大大增強,意味著大資料的最大難點----分散式計算----即使被用到,困難程度也大大降低。
綜上所述,結論就是:資料量已經不需要特別關注了,再也不必擔心處理不了海量資料了。 大資料作為一個技術問題,已經解決了。
科技動態
1、AI 時裝表演
一位非洲藝術家使用 AI 生成了一場時裝表演。
他告訴 AI,他想要一場非洲老年人展示民族服裝的時裝表演,AI 就生成了相應的圖片。經過不斷調整,最終得到了相當理想的結果。
可以看到,這些圖片可能比真實的時裝秀效果更好、影響更大。
在現實生活中,找到這些模特,以及準備好這些服裝,是非常困難的,成本也很高。
以後肯定有很多時裝展示,會用 AI 生成。這對於時尚行業也許會產生很大的衝擊,誰能想到,AI 還能影響到模特兒的生計。
2、馬桶沖水的氣溶膠
公共衛生學家一直呼籲,馬桶沖水會產生氣溶膠的粒子擴散,可能會傳播病原體,但是沒有證據證實這種擴散的速度和分佈。
科羅拉多大學的工程師團隊,使用綠色鐳射和高速攝像裝置,拍攝馬桶沖水,證實確實存在氣溶膠擴散。
實驗發現,沖水時,顆粒以每秒2米的速度快速射出,可以到達馬桶上方1.5米的高度(上圖)。
雖然較大的顆粒會在幾秒鐘內沉降到馬桶表面上,但較小的氣溶膠顆粒可以在空氣中懸浮幾分鐘或更長時間。
下圖是實驗時的鐳射拍攝場景。
3、GPS 藝術
谷歌地圖會根據 GPS 訊號,顯示運動軌跡。很多人就透過這種方式,在谷歌地圖作畫,稱為 GPS 藝術。
一個日本男子為了向女友求婚,在谷歌的日本地圖上寫下了"Marry Me",最後還畫了一顆被箭射中的心。
他從日本北部的北海道,一直開車到南端的鹿兒島,一共行進了7163公里,為期6個月,是世界最大的 GPS 藝術品。
4、火山熔岩表演
冰島首都雷克雅未克有一個特殊的劇場演出,表演熔岩流出火山。
它使用的是1918年火山噴發出來的真實熔岩,一次要用到600公斤。重新加熱到熔點(1100攝氏度)後,已經冷卻的熔岩重新變成火紅的液體,從高處的滑梯流下來,讓遊客感受一下火山噴發的感覺。
真實的火山熔岩含有硫磺氣體,是有毒的,但是經過多次加熱後,這些氣體都已經散發掉了,所以是安全的。
活動主辦人說,有一次火山噴發,他看到很多遊客都趕去觀看,就萌生了舉辦熔岩秀的念頭。
文章
1、我如何搭建自己的部落格(英文)
作者詳細介紹自己使用 Next.js 框架和其他 React 工具,搭建部落格的過程。他要使用 MDX 格式將 React 元件加入 Markdown 檔案。
2、Steam Deck 上市一週年(英文)
本月,掌上游戲機 Steam Deck 上市滿一週年了。本文介紹了這個裝置的很多創新,尤其在軟體上。
3、如何配置 nano 編輯器(英文)
伺服器都自帶 nano 編輯器,但是一般認為它的功能比較弱。本文介紹只要正確配置,它就會變得很好用。
4、Stripe 如何用 Markdoc 構建互動式文件(英文)
Markdoc 是 Markdown 的一種擴充套件語法,允許在生成 HTML 頁面時插入元件,使用者可以跟文件互動。本文介紹 Stripe 公司怎麼使用 Markdoc 構建文件。
5、CSS 的顏色格式(英文)
這篇長文詳細介紹 CSS 顏色的各種格式,如果想深入掌握如何表示顏色,推薦閱讀這篇文章。
6、使用 ClickHouse 查詢 GitHub(英文)
ClickHouse 是著名的資料倉儲軟體,它的官網有一個練習場,可以線上查詢2011年以來所有的 GitHub 事件,總共31億條記錄。本文演示怎麼使用這個資料庫。
7、用信鴿解釋 HTTPS(英文)
作者以信鴿傳書舉例,解釋 HTTPS 協議是什麼,寫得很好,這個例子也很貼切。
8、Windows 11 有多少層 UI?(英文)
一篇挺有趣的文章,作者檢視 Windows 11 的 UI 裡面儲存了多少以前的樣式,甚至找出了遺留的 Windows XP 和 Windows 3.1 的樣式。
工具
1、kill-sticky
一個書籤指令碼,用於去除網頁的粘性(sticky)元素。很多網站使用這種元素生成遮罩層,非常討厭。類似的指令碼還有 unsticky。
2、幕境
英語學習軟體,使用者上傳原版影片和字幕,軟體會自動生成詞庫。以後播放影片時,遇到詞庫裡面的單詞,該詞就會以彈幕形式自動展示釋義。(@tangshimin 投稿)
3、輕快圖床
一個基於 Web 的圖床系統。(@it-chenliang 投稿)
4、Datasette
開源的資料探索工具,可以從各種資料來源匯入資料,然後自定義資料的查詢和展示形式(圖表、儀表盤、地圖等等)。(@jerrylususu 投稿)
5、DrissionPage
一個基於 Python 的網頁自動化工具,可以編寫指令碼操作瀏覽器。(@g1879 投稿)
6、git-hours
一個 JS 寫的命令列工具,可以估計開發某個程式碼庫花費的大致時間。
7、Manticore Search
一個開源的全文搜尋引擎,號稱可以替代 Elasticsearch,支援中文。
8、Unsilence
一個命令列工具,自動刪除影片裡面的無聲片段,比較適合處理演講、講座影片。
9、Tabler
一個基於 Bootstrap 的網頁 UI 框架,專用於開發管理後臺。
10、Code Language Converter
這個網站可以把一種語言的程式碼,轉成另一種語言,比如把 JS 程式碼轉 PHP 程式碼。它是收費服務,但是有免費額度。
11、VueTube
網友自己開發的 Youtube 手機客戶端,支援安卓和 iOS。
資源
1、CSS Bed
這個網頁收集並展示各種無類的極簡化 CSS 框架。如果你想選一個簡單的 CSS 框架,可以看看它。
2、C 語言手冊(GNU C Language Manual)
理查德·斯托曼最近編寫的 C 語言教程,這是原始碼,GitHub 有轉換好的 PDF 檔案下載。
3、Atkinson Hyperlegible 字型
一種高辨識度的英文字型,容易混淆的字元都做了明顯區別,比如 1 和 I、i 和 l。
4、Python 實用教程
一本簡單實用的 Python 入門英文教程。
圖片
1、美國總統的 AI 畫像
一位美國專欄作家使用 AI,為每一位美國總統生成了 Pixar 式的卡通風格畫像。
下面是最近半個世紀的美國總統。
2、布魯塞爾化
上個世紀60年代和70年代,比利時首都布魯塞爾對城市規劃放任自流,導致傳統街區裡面出現了很多毫不協調的高層建築。
上圖中,高層建築完全隨意地建在傳統街區裡面,破壞了城市功能和景觀。
後來,在建築學中,"布魯塞爾化"就用來指雜亂無章的城市規劃。
文摘
1、蘇聯潛艇 K-219
K-219 是蘇聯海軍的一艘核潛艇,可以攜帶16枚導彈,這些導彈配備32枚或48枚核彈頭。
1986年10月3日星期五,它正在大西洋航行,導彈發射管突然爆炸起火。蘇聯後來聲稱,這是因為與美國潛艇發生了碰撞,但是美國海軍否認。
兩名蘇聯水手在爆炸中當場喪生,第三名水手不久後死於有毒氣體。更糟糕的是,爆炸將潛艇炸出一個缺口,海水湧入,潛艇從海底40米快速墜落到300米。
艇長不得不立即關閉所有艙室之間的密封門,防止海水不斷湧入。
25名水手被困在一個密封艙出不來。經過緊張的會議,艇長最終同意開啟這個密封艙,讓他們出來。
最可怕的是,核反應堆本應自動關閉,但還在執行。如果一直這樣下去,後果不堪設想。反應堆艙室的溫度已經超過60攝氏度,並且充滿了有毒的硝酸煙霧,但還是必須有人進去,手動將控制棒放入反應堆,讓其停止執行。
第一個士兵進入反應堆艙,但是隻插入一根控制棒(共需插入四根),就耗盡了氧氣。他不得不退出,一走出來就昏了過去。
這時,一個20歲計程車兵表示,願意去完成這項任務。他穿著防化服,進入房間,成功關閉了反應堆。但是,房間裡發生了大火,增加了壓力,壓力差使得這個士兵無法再開啟門出來,最後他在反應堆艙內窒息而死。他後來被追授俄羅斯聯邦英雄稱號。
核反應堆關閉後,潛艇就失去了動力。艇長完全依靠電池供電,讓 K-219 浮出水面。然後,蘇聯準備派出一艘貨輪將這艘潛艇拖回港口。
但是,海水仍在不斷滲入,到了三天後的10月6日,已經完全無法修復。所有人員不得不撤離,這艘潛艇和攜帶的核武器就這樣沉入了6000米的大西洋海底,至今仍在那裡。
言論
1、
摩爾定律只說了,每18個月計算機晶片的電晶體數量增加一倍,但是沒有說增加一倍所需要投入的科研人員,今天是1970年代的18倍。
-- 《2022 年生物學突破》
2、
我做過70多個創業專案,只有4個成功。總體來看,我的成功率只有5%左右,我做的事情95%是要失敗的。
所以...... 我就要去做更多的專案啊。
-- 推特網友
3、
一些科學家像鳥,從鳥瞰的角度看待問題,注重面前的廣闊風景,不需要太多細節。另一些科學家像青蛙,只盯著眼前的事物,喜歡深入細節。
-- 《物理學的鳥和青蛙》
4、
你應該開始寫部落格,如果不知道寫什麼,就寫你學到的東西,以及寫下你創造或建立的東西。
-- 《部落格寫什麼》
5、
世界隱藏的終極真相是,這個世界是我們創造出來的東西,而且可以很容易地做出不同的樣子。
-- Hacker News 讀者
歷史上的本週
如果這個世界有快樂機(2022 #197)
尋找你願意忍受的痛苦(2021 #147)
遠端辦公暴露冗餘崗位(2020 #95)
阿西莫夫回憶錄《人生舞臺》(2019 #45)
鳴謝
週刊得到國內新一代知識管理與協作平臺 FlowUs 的幫助,深表感謝。
FlowUS = 文件 + 表格 + 網盤。你可以用它寫文件、做主頁、管理資料、儲存檔案等等。
每一期週刊同時釋出在 FlowUs 專欄,歡迎大家也去開通自己的專欄和主頁。
(完)