欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到云服務器

大數(shù)據(jù)資訊

SQL正在擊敗NoSQL嗎?這對數(shù)據(jù)的未來意味著什么

隨著計算機的日益普及,各種應用每天產(chǎn)生的數(shù)據(jù)量呈指數(shù)級增長。如何存儲這些數(shù)據(jù),有效處理分析這些數(shù)據(jù),并從中提取有價值的信息,是當下迫切需要解決的問題。在過去的十年里,NoSQL在軟件工程師陣營里越來越受歡迎,其中最重要的實現(xiàn)是MapReduce ,Bigtable,Cassandra,MongoDB,等產(chǎn)品。 它主要用于解決SQL的可擴展性問題。

SQL正在擊敗NoSQL嗎?這對數(shù)據(jù)的未來意味著什么

然而今天SQL開始回歸。幾乎所有的云計算服務提供商都在提供備受青睞的關系型數(shù)據(jù)管理服務:例如Amazon RDS,Google Cloud SQL,Azure 的PostgreSQL數(shù)據(jù)庫(Azure今年推出)。在亞馬遜看來,其PostgreSQL和MySQL兼容的數(shù)據(jù)庫產(chǎn)品Aurora一直是AWS歷史上增長最快的服務。Hadoop和Spark之上的SQL接口繼續(xù)迅猛發(fā)展。就在上個月,Kafka推出了SQL支持。

在這篇文章中,我們將研究SQL備受青睞的原因以及這對未來數(shù)據(jù)社區(qū)工程和分析意味著什么

第1部分:新希望的崛起

想要了解SQL為什么回歸,讓我們先了解他最初的設計初衷。

故事始于20世紀70年代初的IBM研究院,其中關系型數(shù)據(jù)庫誕生了。那時候,查詢語言依賴于復雜的數(shù)學邏輯和符號。Donald Chamberlin和Raymond Boyce兩位博士對關系型數(shù)據(jù)模型造詣頗深,看到查詢語言將成為其主要瓶頸。他們開始設計一種新的查詢語言(以他們自己的話來說):“ 用戶使用更容易,不需要再參加數(shù)學或計算機程序設計方面的正規(guī)培訓 ”。

回想在互聯(lián)網(wǎng)之前,在PC出現(xiàn)以前,當程序設計語言C首次被引入世界時,兩名年輕的計算機科學家意識到,“計算機行業(yè)的成功很大程度上依賴于培養(yǎng)一種除了訓練有素的計算機專家以外的用戶。“他們渴望一種與英文一樣容易閱讀的查詢語言,包括數(shù)據(jù)庫管理和操作。

結果是SQL在1974年首次被引入世界,成了關系型數(shù)據(jù)庫的最主要語言。在接下來的幾十年里,SQL被證明也是很受歡迎的。作為關系型數(shù)據(jù)庫,如System R,Ingres,DB2,Oracle,SQL Server,PostgreSQL,MySQL(等等)在軟件行業(yè)里的發(fā)展壯大,SQL也成為了與數(shù)據(jù)庫進行交互的首選語言,成為了一個日益擁擠、競爭激烈的生態(tài)系統(tǒng)的通用語言。。

(不幸的是,Raymond Boyce從來沒有機會見證SQL的成功,他只做了一個早期的SQL演講,1個月后他便死于腦動脈瘤,當時他只有26歲,留下了一個妻子和一個年輕的女兒。)

有一段時間,似乎SQL已經(jīng)成功地履行了它的使命。接著互聯(lián)網(wǎng)出現(xiàn)了。

第2部分:NoSQL反擊

雖然Chamberlin和Boyce正在開發(fā)SQL,但他們沒有意識到的是,加利福尼亞州的 另一批工程師正在開展另一個新興項目,該項目逐漸成熟后,明顯威脅到SQL的存在。該項目就是 ARPANET,誕生于1969年10月29日。

但是此前SQL發(fā)展一直很好,直到1989年,另一位工程師的出現(xiàn)并發(fā)明了萬維網(wǎng)。

互聯(lián)網(wǎng)和Web的蓬勃發(fā)展正在改變著我們的世界,但是對于數(shù)據(jù)社區(qū)來說,也是很讓人頭痛的:數(shù)據(jù)以大的量級和更快的速度爆炸式增長。

隨著互聯(lián)網(wǎng)的不斷發(fā)展和壯大,軟件社區(qū)發(fā)現(xiàn)當時的關系數(shù)據(jù)庫無法應對新的負載壓力,就好像一百萬個數(shù)據(jù)庫突然過載讓人抓狂一般。

然后兩家新的互聯(lián)網(wǎng)巨頭取得突破,并開發(fā)了自己的非關系型分布式系統(tǒng)來應對這種新的數(shù)據(jù)沖擊:Google的MapReduce(2004年發(fā)布)和Bigtable(2006年發(fā)布)以及亞馬遜的Dynamo(2007年發(fā)布)。這些開創(chuàng)性論文導致出現(xiàn)了更多的非關系型數(shù)據(jù)庫,包括Hadoop(基于MapReduce論文,2006),Cassandra(Bigtable和Dynamo的深度解析,2008 )和MongoDB(2009))。因為這些都是從零開始大量編寫的新系統(tǒng),避開了SQL,導致了NoSQL運動的興起。

開發(fā)者社區(qū)的軟件工程師們逐漸地也接受了NoSQL,相較于SQL當時的出現(xiàn),被越來越多的工程師所接受。這個原因非常容易理解:NoSQL是現(xiàn)在流行的;它承諾了規(guī)模和權力;這似乎是項目通往成功的捷徑。但后來問題出現(xiàn)了。

開發(fā)人員很快發(fā)現(xiàn),不用SQL的局限性。每個NoSQL數(shù)據(jù)庫都提供了自己獨特的查詢語言,這意味著:要學習更多的語言(并向同事教授); 將這些數(shù)據(jù)庫連接到應用程序的難度增加,導致大量膠水代碼的出現(xiàn)(代碼之間有很強的耦合性);缺乏第三方生態(tài)系統(tǒng),要求企業(yè)必須開發(fā)自己的操作和可視化工具。

這些NoSQL語言是新的,也沒有完全開發(fā)。例如,關系型數(shù)據(jù)庫已經(jīng)運行很多年了,為SQL添加必要的功能(例如JOIN)也早都已經(jīng)完成了,NoSQL語言的不成熟意味著在應用程序級別就會有更多的復雜性。缺乏JOIN也導致了非規(guī)范化,導致數(shù)據(jù)膨脹和僵化。

騰訊云代理

Copyright © 2003-2021 MFISP.COM. 國外vps服務器租用 夢飛云服務器租用 版權所有 ? 粵ICP備11019662號

主站蜘蛛池模板: 鹰潭市| 中方县| 勐海县| 安顺市| 介休市| 浑源县| 行唐县| 栾城县| 油尖旺区| 新营市| 马公市| 平果县| 阿拉善盟| 阳原县| 华容县| 于都县| 福州市| 石楼县| 那曲县| 绥化市| 九龙县| 河间市| 鹰潭市| 宾阳县| 广西| 松江区| 盐城市| 扶绥县| 汨罗市| 施甸县| 陵水| 加查县| 达日县| 兰坪| 镇宁| 富源县| 玉环县| 新河县| 宽城| 玉林市| 通化市|