|
SQL系統(tǒng)的主要優(yōu)勢和差異化功能 |
作者:佚名 來源:網(wǎng)絡(luò) |
在這里,讓我們看看SQL系統(tǒng)的主要優(yōu)勢和差異化功能: * SQL可實(shí)現(xiàn)交互性。 SQL是一種聲明性查詢語言。用戶說出他們想要什么(例如,顯示過去五年三月份期間頂級客戶的地理位置),數(shù)據(jù)庫內(nèi)部就會構(gòu)件算法并提取請求的結(jié)果。相比之下,NoSQL編程創(chuàng)新MapReduce是一種程序性查詢技術(shù)。在用戶提出請求時(shí),MapReduce要求用戶不僅說出自己想要什么,而且要求他們陳述如何產(chǎn)生答案。 這聽起來像一個(gè)無趣的技術(shù)差異,但這很關(guān)鍵,原因在于:首先,聲明性SQL查詢更容易通過圖形化工具以及點(diǎn)擊報(bào)告構(gòu)建器來構(gòu)建。這讓分析師、操作員、管理者和其他不具備軟件編程能力的員工進(jìn)行數(shù)據(jù)庫查詢;其次,數(shù)據(jù)庫引擎可以利用內(nèi)部信息來選擇最有效的算法。改變數(shù)據(jù)庫的物理布局或數(shù)據(jù)庫,最佳算法仍然能夠計(jì)算出來。而在程序性系統(tǒng)中,編程人員需要重新訪問和重新編程算法,這是非常昂貴且容易出錯(cuò)的過程。 市場理解這個(gè)關(guān)鍵區(qū)別。在2010年,谷歌宣布部署SQL來補(bǔ)充MapReduce,主要受內(nèi)部用戶需求所驅(qū)動(dòng)。最近,F(xiàn)acebook發(fā)布了Presto(一種SQL部署)來查詢其PB級HDFS集群。根據(jù)Facebook表示:“隨著我們的倉庫增長到PB級,以及我們的需求變化,我們清楚地意識到,我們需要一個(gè)提供低延時(shí)查詢的互動(dòng)系統(tǒng)。”此外,Cloudera也正在構(gòu)建Impala—另一個(gè)基于HDFS的SQL部署。 * SQL是標(biāo)準(zhǔn)化的。 雖然供應(yīng)商有時(shí)候會添加自己的語言到SQL界面,但SQL的核心是標(biāo)準(zhǔn)化的,還有其他規(guī)格(例如ODBC和JDBC)提供廣泛可用的穩(wěn)定界面到SQL存儲。這帶來了一個(gè)管理和操作工具生態(tài)系統(tǒng),可以在SQL系統(tǒng)之上設(shè)計(jì)、監(jiān)控、檢查、探索和構(gòu)建應(yīng)用程序。 SQL用戶和程序員可用跨多個(gè)后端系統(tǒng)重復(fù)使用其API和UI知識,減少了應(yīng)用程序的開發(fā)時(shí)間。標(biāo)準(zhǔn)化還允許聲明性第三方提取、轉(zhuǎn)換、加載(ETL)工具,使企業(yè)可以在數(shù)據(jù)庫之間以及跨系統(tǒng)傳輸數(shù)據(jù)。 * SQL可擴(kuò)展。 認(rèn)為SQL必須犧牲以獲得可擴(kuò)展性的看法,完全是錯(cuò)誤的。如前所述,F(xiàn)acebook創(chuàng)建了一個(gè)SQL界面來查詢PB級數(shù)據(jù)。SQL能夠非常有效地運(yùn)行極快的ACID傳輸。SQL對數(shù)據(jù)存儲和索引提供的抽象[注]化允許跨各種問題和數(shù)據(jù)集大小的一致使用,讓SQL可以跨集群復(fù)制數(shù)據(jù)存儲有效地運(yùn)行。使用SQL作為界面獨(dú)立于構(gòu)建云、規(guī);騂A系統(tǒng),SQL中并沒有什么在阻止和限制容錯(cuò)、高可用性和復(fù)制。事實(shí)上,所有現(xiàn)代SQL系統(tǒng)支持云友好型橫向可擴(kuò)展性、復(fù)制和容錯(cuò)性。 * SQL支持JSON。 幾年前,很多SQL系統(tǒng)增加了XML文檔支持,F(xiàn)在,隨著JSON成為一種流行的數(shù)據(jù)交換格式,SQL供應(yīng)商也紛紛加入了JSON型的支持。基于現(xiàn)在靈活的編程過程和web基礎(chǔ)設(shè)施的正常運(yùn)行時(shí)間要求,我們很需要結(jié)構(gòu)化數(shù)據(jù)類型的支持。Oracle 12c、PostgreSQL 9.2、VoltDB和其他支持JSON的數(shù)據(jù)庫,通常具有優(yōu)于“原生”JSON的性能。 SQL將繼續(xù)贏得市場份額,并會繼續(xù)看到新的投資和部署。NoSQL數(shù)據(jù)庫提供專有查詢語言或簡單的鍵值語義,而沒有更深層次的技術(shù)差異化。現(xiàn)代SQL系統(tǒng)提供可擴(kuò)展性的同時(shí),還支持更豐富的查詢語義,并有龐大的用戶安裝基礎(chǔ),廣泛的生態(tài)系統(tǒng)整合和深度企業(yè)部署。..
|
|