這對(duì)數(shù)據(jù)的未來(lái)意味著什么:SQL將變成窄腰
在計(jì)算機(jī)網(wǎng)絡(luò)中,有一個(gè)叫做“窄腰”的概念。
這個(gè)概念的出現(xiàn)解決了一個(gè)關(guān)鍵問題:在任何給定的網(wǎng)絡(luò)設(shè)備上,想象一個(gè)堆棧,底層硬件層和頂層軟件層。中間可能會(huì)存在各種網(wǎng)絡(luò)硬件;類似地,也存在各種軟件和應(yīng)用程序。需要一種方法來(lái)確保無(wú)論硬件如何,軟件仍然可以連接到網(wǎng)絡(luò); 無(wú)論軟件如何,網(wǎng)絡(luò)硬件都知道如何處理網(wǎng)絡(luò)請(qǐng)求。
在網(wǎng)絡(luò)中,窄腰的角色由互聯(lián)網(wǎng)協(xié)議(IP)扮演,它是局域網(wǎng)設(shè)計(jì)的底層聯(lián)網(wǎng)協(xié)議和更高級(jí)別的應(yīng)用程序和傳輸協(xié)議的公共接口。(這是一個(gè)很好的解釋。)而且(在一個(gè)廣泛的過(guò)度簡(jiǎn)化)中,這個(gè)公共接口成為了計(jì)算機(jī)的通用語(yǔ)言,使網(wǎng)絡(luò)互連,設(shè)備進(jìn)行通信,而這個(gè)“網(wǎng)絡(luò)網(wǎng)絡(luò)”可以發(fā)展成為今天豐富多樣的互聯(lián)網(wǎng)。
我們認(rèn)為,這等同于SQL已成為數(shù)據(jù)分析的“窄腰”。
我們生活在一個(gè)數(shù)據(jù)正在成為“世界上最寶貴資源”的時(shí)代(“經(jīng)濟(jì)學(xué)人”,2017年5月)。我們看到了Cambrian 的專業(yè)數(shù)據(jù)庫(kù)(OLAP,時(shí)間序列,文檔,圖表等),數(shù)據(jù)處理工具(Hadoop,Spark,F(xiàn)link),數(shù)據(jù)總線(Kafka,RabbitMQ)等的紅海。還有更多的應(yīng)用程序需要依賴這種數(shù)據(jù)基礎(chǔ)設(shè)施,無(wú)論是第三方數(shù)據(jù)可視化工具(Tableau,Grafana,PowerBI,Superset),Web框架(Rails,Django)還是定制的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序。
像網(wǎng)絡(luò)一樣,我們有一個(gè)復(fù)雜的堆棧,底層的基礎(chǔ)設(shè)施和頂部的應(yīng)用程序。通常,我們最終編寫了大量的膠水代碼,使此堆棧工作。但是膠水代碼可能很脆弱:需要維護(hù)和貼合。
我們需要的是一個(gè)公共接口,允許這個(gè)堆棧的各個(gè)部分相互通信。這個(gè)行業(yè)已經(jīng)標(biāo)準(zhǔn)化了。它能讓不同層級(jí)之間的通信阻礙降到最小。
這就是SQL的力量。和IP一樣,SQL也是一個(gè)公共接口。
但事實(shí)上,SQL 比 IP 復(fù)雜的多。因?yàn)閿?shù)據(jù)還需要被人類分析。而且SQL創(chuàng)建者最初給它設(shè)定的目標(biāo)就是可讀性要高。
SQL完美嗎 不,但這是社區(qū)中的大多數(shù)人都已經(jīng)了解了這語(yǔ)言。雖然已經(jīng)有工程師在開發(fā)更和諧的語(yǔ)言界面,但這些系統(tǒng)最終會(huì)連接到哪里 還是SQL。
所以在堆棧的頂部還有一層。那一層就是我們。
SQL回歸
SQL已經(jīng)回來(lái)了。不僅僅是因?yàn)槭褂肗oSQL工具編寫膠水代碼是惱人的。不僅僅是因?yàn)榕嘤?xùn)大家學(xué)習(xí)無(wú)數(shù)新的語(yǔ)言成本是巨大的,不只是因?yàn)榻y(tǒng)一標(biāo)準(zhǔn)的重要性。
而且也因?yàn)槭澜绯錆M了數(shù)據(jù)。它圍繞著我們,束縛著我們。首先,我們依靠我們的人類感官和感覺神經(jīng)系統(tǒng)來(lái)處理它?,F(xiàn)在我們的軟件和硬件系統(tǒng)也越來(lái)越智能,可以幫助我們。隨著我們收集的數(shù)據(jù)越來(lái)越多,可以更好的讓我們了解這個(gè)世界,系統(tǒng)的復(fù)雜性,存儲(chǔ),處理,分析和可視化的需求只會(huì)繼續(xù)增長(zhǎng)。
我們生活在一個(gè)脆弱的世界和一百萬(wàn)個(gè)不同界面的世界?;蛟S我們可以繼續(xù)擁抱SQL。一切都遵循能量守恒定律。