
NetworkWorld網(wǎng)站主編JohnDix專門(mén)組織了此次辯論并邀請(qǐng)到多位專家。其中兩位參與專家分別是VoltDB公司CTORyanBetts和Couchbase公司CEOBobWiederhold。RyanBetts認(rèn)為SQL已經(jīng)在大型企業(yè)當(dāng)中贏得了穩(wěn)定的生存空間,而大數(shù)據(jù)只不過(guò)是SQL需要支撐的另一項(xiàng)工作內(nèi)容。BobWiederhold則認(rèn)為NoSQL是一套極具可行性的備選方案,事實(shí)上它也在多個(gè)領(lǐng)域中成為大數(shù)據(jù)的卓越配合手段——特別是在可擴(kuò)展性方面。
雖然后起之秀NoSQL確實(shí)引起了一定反響,但SQL仍然在市場(chǎng)上保持著顯著的份額優(yōu)勢(shì)并繼續(xù)在大數(shù)據(jù)領(lǐng)域不斷贏得投入與采納。
4.SQL能夠與數(shù)據(jù)表現(xiàn)及存儲(chǔ)機(jī)制順暢對(duì)接。某些SQL系統(tǒng)還支持JSON以及其它結(jié)構(gòu)化對(duì)象格式,從而帶來(lái)優(yōu)于NoSQL方案的性能表現(xiàn)及更多功能特性。
很明顯,目前市面上的很多新型數(shù)據(jù)庫(kù)彼此之間存在較大差異——準(zhǔn)確掌握它們各自特性與深層機(jī)制給用戶來(lái)的便利與局限是獲得項(xiàng)目部署成功的關(guān)鍵所在。NoSQL的核心特性使其更適合于解決特定問(wèn)題。舉例來(lái)說(shuō),圖形數(shù)據(jù)庫(kù)更適合處理那些將數(shù)據(jù)根據(jù)關(guān)系而非傳統(tǒng)行或者文檔形式加以組織的實(shí)例,而特定文本搜索系統(tǒng)則比較擅長(zhǎng)處理以實(shí)時(shí)方式查詢用戶輸入內(nèi)容的情況。
在這里,我打算概括性闡述SQL系統(tǒng)與簡(jiǎn)單鍵/值乃至僅僅在存儲(chǔ)格式及可擴(kuò)展性方面有所創(chuàng)新的JSON對(duì)象存儲(chǔ)系統(tǒng)相比,到底存在哪些差異與主要優(yōu)勢(shì)。
*SQL帶來(lái)交互特性。SQL是一種聲明性查詢語(yǔ)言。用戶說(shuō)出自己想要的內(nèi)容(例如顯示出過(guò)去五年來(lái),每年三月份購(gòu)買(mǎi)量最大的客戶分別來(lái)自哪些地區(qū)),數(shù)據(jù)庫(kù)則在內(nèi)部組建出相關(guān)算法并根據(jù)要求提取對(duì)應(yīng)結(jié)果。相比之下,NoSQL孕育出的編碼創(chuàng)新成果MapReduce則是一種規(guī)程化查詢技術(shù)。MapReduce要求用戶不僅了解自己想要的結(jié)果,同時(shí)也需要提供獲取結(jié)果的具體執(zhí)行方式。
市場(chǎng)對(duì)于這種本質(zhì)差異倒是非常了然。早在2010年,谷歌就宣布引入一套SQL方案以強(qiáng)化MapReduce,從而滿足內(nèi)部用戶的實(shí)際需求。最近,F(xiàn)acebook則發(fā)布了自己的SQL方案Presto,意在對(duì)其PB級(jí)別HDFS集群數(shù)據(jù)進(jìn)行查詢。根據(jù)Facebook方面的說(shuō)法:“由于我們的數(shù)據(jù)倉(cāng)庫(kù)規(guī)模已經(jīng)增長(zhǎng)至PB級(jí)別、業(yè)務(wù)需求也逐步發(fā)展,我們顯然需要一套經(jīng)過(guò)優(yōu)化的交互式系統(tǒng)以實(shí)現(xiàn)更低的查詢延遲?!背酥?,Cloudera正在HDFS以上建立自己的SQL方案Impala。前面提到的這一系列發(fā)展都立足于Hive——一套面向Hadoop、長(zhǎng)期存在且得到廣泛采用的SQL外殼。
SQL用戶及程序員也因此得以重新使用自己積累自多種后端系統(tǒng)的API以及用戶界面知識(shí),從而縮減應(yīng)用程序開(kāi)發(fā)時(shí)間。標(biāo)準(zhǔn)化特性還允許擁有聲明許可的第三方打造提取、轉(zhuǎn)換以及加載(簡(jiǎn)稱ETL)工具,旨在幫助企業(yè)以流程化方式處理不同數(shù)據(jù)庫(kù)及系統(tǒng)之間的數(shù)據(jù)流。
*SQL具備可擴(kuò)展性。有些朋友可能誤以為SQL必須通過(guò)犧牲性能的方式來(lái)獲得可擴(kuò)展性,這其實(shí)是完全錯(cuò)誤的。如上所述,F(xiàn)acebook打造了一款SQL接口對(duì)PB級(jí)別的數(shù)據(jù)加以查詢。SQL在運(yùn)行ACID事務(wù)處理任務(wù)時(shí)同樣具備極快的速度表現(xiàn)。SQL為數(shù)據(jù)存儲(chǔ)及檢索機(jī)制提供的抽象化手段允許用戶以統(tǒng)一化方式完成處理工作,而且無(wú)需考慮具體任務(wù)類(lèi)型以及數(shù)據(jù)規(guī)模;這使得SQL能夠高效運(yùn)行在各類(lèi)集群化副本數(shù)據(jù)存儲(chǔ)體系之間。將SQL作為接口的作法不涉及云創(chuàng)建、具體規(guī)?;蛘逪A系統(tǒng),而且SQL當(dāng)中也沒(méi)有任何固有因素會(huì)對(duì)容錯(cuò)性、高可用性以及復(fù)制能力產(chǎn)生限制。事實(shí)上,目前所有現(xiàn)代化SQL系統(tǒng)都能夠很好地支持云體系中的橫向可擴(kuò)展性、復(fù)制能力以及容錯(cuò)性。
*SQL支持JSON。幾年之前,很多SQL系統(tǒng)開(kāi)始將XML文檔支持能力納入自身設(shè)計(jì)思路。時(shí)至今日,隨著JSON逐步成為主流數(shù)據(jù)交換格式之一,各SQL廠商也在積極為JSON提供支持。鑒于當(dāng)下敏捷化編程流程以及對(duì)互聯(lián)網(wǎng)接入基礎(chǔ)設(shè)施正常運(yùn)行時(shí)間的要求,結(jié)構(gòu)化數(shù)據(jù)類(lèi)型的支持能力已經(jīng)成為不可或缺的重要一環(huán)。Oracle12c、PostgreSQL9.2、VoltDB以及其它各類(lèi)數(shù)據(jù)庫(kù)方案都開(kāi)始支持JSON——其性能基準(zhǔn)水平普遍優(yōu)于“原生”JSONNoSQL方案。
SQL將繼續(xù)在市場(chǎng)份額的爭(zhēng)奪戰(zhàn)中占據(jù)主動(dòng),也將繼續(xù)吸引到更多投資方與采納者的支持。NoSQL數(shù)據(jù)庫(kù)在提供專有查詢語(yǔ)言或者簡(jiǎn)單鍵-值語(yǔ)義的同時(shí),卻無(wú)法從深入的技術(shù)層面帶來(lái)差異性,這無(wú)疑嚴(yán)重影響了其挑戰(zhàn)市場(chǎng)統(tǒng)治者的能力。現(xiàn)代SQL系統(tǒng)能夠在保持甚至超越原有可擴(kuò)展性的同時(shí),支持豐富的查詢語(yǔ)義、建立并培養(yǎng)用戶基礎(chǔ)、拓展生態(tài)系統(tǒng)集成效果并在企業(yè)環(huán)境內(nèi)深化采納程度。
目前已經(jīng)有越來(lái)越多的企業(yè)開(kāi)始將NoSQL視為關(guān)系型數(shù)據(jù)庫(kù)的一種可行性替代方案;特別是在大數(shù)據(jù)應(yīng)用程序領(lǐng)域,很多企業(yè)用戶意識(shí)到規(guī)模化操作的實(shí)際表現(xiàn)要優(yōu)于標(biāo)準(zhǔn)化集群與商用服務(wù)器所帶來(lái)的效果。除此之外,采用無(wú)模式化數(shù)據(jù)模型往往更適合當(dāng)下各類(lèi)不同數(shù)據(jù)的捕捉與處理工作。
不過(guò)對(duì)于操作型數(shù)據(jù)庫(kù)中的大數(shù)據(jù)而言,其設(shè)計(jì)主旨并非圍繞分析性工作所展開(kāi);操作型數(shù)據(jù)庫(kù)通常需要為無(wú)數(shù)用戶提供龐大的數(shù)據(jù)集,幫助他們進(jìn)行持續(xù)性數(shù)據(jù)訪問(wèn)并進(jìn)行實(shí)時(shí)事務(wù)處理。用于操作并管理大數(shù)據(jù)內(nèi)容的此類(lèi)數(shù)據(jù)庫(kù)都具備龐大的規(guī)模,這也解釋了NoSQL特性的重要意義及其在大數(shù)據(jù)應(yīng)用程序中扮演核心角色的原因。
技術(shù)行業(yè)在每一次迎來(lái)硬件發(fā)展的根本性轉(zhuǎn)變時(shí),都必然經(jīng)歷過(guò)渡拐點(diǎn)。在數(shù)據(jù)庫(kù)領(lǐng)域,這種由向上擴(kuò)展轉(zhuǎn)為向外擴(kuò)展架構(gòu)的轉(zhuǎn)變也成為推動(dòng)NoSQL快速成長(zhǎng)的主要因素。關(guān)系型數(shù)據(jù)庫(kù),其中包括由甲骨文及IBM等巨頭所打造的具體方案,專注于解決向上擴(kuò)展難題。也就是說(shuō),它們采取集中式、全局共享技術(shù),只能通過(guò)添加價(jià)格更為昂貴的硬件設(shè)備滿足擴(kuò)展需求。
分布式向外擴(kuò)展方案往往還會(huì)帶來(lái)低于向上擴(kuò)展機(jī)制的使用成本。后者屬于一整套龐大、復(fù)雜、具備容錯(cuò)性機(jī)制的服務(wù)器體系,因此無(wú)論是設(shè)計(jì)、建造還是后期支持都會(huì)帶來(lái)高昂的成本支出。商用關(guān)系型數(shù)據(jù)庫(kù)的許可成本同樣不容忽視,因?yàn)槠溆?jì)費(fèi)策略以單一服務(wù)器為基本單位。在另一方面,NoSQL數(shù)據(jù)庫(kù)則通常屬于開(kāi)源項(xiàng)目,以服務(wù)器集群為整體計(jì)費(fèi)單位、價(jià)格也相比較低。
當(dāng)用戶需要對(duì)一組數(shù)據(jù)進(jìn)行查詢時(shí),所需信息必須由多個(gè)表中收集獲得——通常涉及數(shù)百種當(dāng)下常用的企業(yè)應(yīng)用程序——并將其加以整合,而后才能交付終端應(yīng)用。與之相似,在寫(xiě)入數(shù)據(jù)時(shí)、寫(xiě)入流程需要加以協(xié)調(diào)并在執(zhí)行過(guò)程中面向多個(gè)表。當(dāng)數(shù)據(jù)量相對(duì)較小、向數(shù)據(jù)庫(kù)內(nèi)導(dǎo)入的速度并不太快的情況下,關(guān)系型數(shù)據(jù)庫(kù)通常具備捕捉并存儲(chǔ)信息的能力。不過(guò)目前的應(yīng)用程序通常需要處理海量數(shù)據(jù)的讀取與寫(xiě)入操作、且要求以近實(shí)時(shí)方式完成,這就超出了操作型數(shù)據(jù)庫(kù)的能力范圍。
NoSQL數(shù)據(jù)庫(kù)采取的模式則完全不同。從核心角度看,NoSQL數(shù)據(jù)庫(kù)真正實(shí)現(xiàn)了“NoREL”、也就是非關(guān)系型,也就是說(shuō)此類(lèi)方案在保存并整理信息的過(guò)程中并不依賴于表以及各個(gè)表之間的關(guān)系。舉例來(lái)說(shuō),一套面向文檔的NoSQL數(shù)據(jù)庫(kù)會(huì)首先獲取到我們需要的數(shù)據(jù),而后將其整合成采用JSON格式的文檔。每個(gè)JSON文檔都可以被視為能供應(yīng)用程序使用的對(duì)象。JSON文檔可以把原本需要25個(gè)關(guān)系型數(shù)據(jù)庫(kù)表才能存放的數(shù)據(jù)保存在同一行當(dāng)中,并將其整理為單一文檔/對(duì)象。
信息匯總工作可能導(dǎo)致信息內(nèi)容出現(xiàn)重復(fù),不過(guò)由于目前存儲(chǔ)資源已經(jīng)不再屬于主要成本來(lái)源,因此這類(lèi)數(shù)據(jù)模型能夠帶來(lái)更出色的靈活性、便于高效分配由此產(chǎn)生的文檔并改進(jìn)讀取與寫(xiě)入操作的性能表現(xiàn)、從而提升Web應(yīng)用程序的替代性效果。
時(shí)至今日,我們已經(jīng)能夠愈發(fā)便捷地通過(guò)第三方環(huán)境、包括社交媒體網(wǎng)站對(duì)數(shù)據(jù)進(jìn)行捕捉與訪問(wèn)。個(gè)人用戶信息、地理位置數(shù)據(jù)、用戶產(chǎn)生的內(nèi)容、設(shè)備登錄數(shù)據(jù)以及傳感器數(shù)據(jù)等只是這股風(fēng)潮當(dāng)中的少數(shù)典型代表,數(shù)據(jù)來(lái)源清單正在不斷拓展。同時(shí),企業(yè)也越來(lái)越依賴大數(shù)據(jù)技術(shù)的力量、旨在驅(qū)動(dòng)其關(guān)鍵性業(yè)務(wù)應(yīng)用??傮w而言,各企業(yè)已經(jīng)開(kāi)始向NoSQL伸出橄欖枝,因?yàn)檫@類(lèi)方案是惟一能夠適應(yīng)當(dāng)前新興數(shù)據(jù)類(lèi)型的處理手段。
開(kāi)發(fā)人員需要一套更為靈活、能夠輕松適應(yīng)最新數(shù)據(jù)類(lèi)型的數(shù)據(jù)庫(kù)方案,從而避免破壞第三方數(shù)據(jù)供應(yīng)商所提供的內(nèi)容結(jié)構(gòu)調(diào)整。大部分新型數(shù)據(jù)屬于非結(jié)構(gòu)化或者半結(jié)構(gòu)化類(lèi)型,因此開(kāi)發(fā)人員還需要自己的數(shù)據(jù)庫(kù)有能力高效對(duì)其加以保存。遺憾的是,關(guān)系型數(shù)據(jù)庫(kù)所采取的嚴(yán)格定義、以模式為基礎(chǔ)的設(shè)計(jì)思路令我們無(wú)法快速接納全新數(shù)據(jù)類(lèi)型,自然也難以適應(yīng)非結(jié)構(gòu)化及半結(jié)構(gòu)化數(shù)據(jù)。NoSQL帶來(lái)的數(shù)據(jù)模型則能夠更好地與其實(shí)際需求加以映射。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類(lèi)型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類(lèi)型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門(mén)控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書(shū)考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開(kāi)啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03