SQL 已死,但 SQL 將永存!

“SQL是一種只有它自己的力量才能超越它的神秘手段?!薄狶ukas Eder
聲明性的語(yǔ)言和流程(而不是程序性的) 使語(yǔ)言可組合以幫助輕松編寫復(fù)雜的查詢 和Edger F Codd開發(fā)的關(guān)系模型共同工作
現(xiàn)在,NoSQL數(shù)據(jù)庫(kù)相關(guān)的SQL項(xiàng)目要比SQL數(shù)據(jù)庫(kù)的項(xiàng)目多。

聲明性:你只需要聲明輸出,查詢引擎就會(huì)找出執(zhí)行查詢的最佳方式。優(yōu)化器,特別是1979年P(guān)at Selinger等人發(fā)明的基于成本的優(yōu)化器,幫助持續(xù)地改進(jìn)性能。這為每個(gè)新進(jìn)入者提供了一個(gè)很高的標(biāo)準(zhǔn)。最近一篇關(guān)于Apache Hive的論文就是一個(gè)復(fù)雜性和完善涉及的例子為什么SQL如此成功? SQL不僅用于“查詢”,還用于更新數(shù)據(jù)、執(zhí)行事務(wù)。存儲(chǔ)過(guò)程,UDF通過(guò)將過(guò)程語(yǔ)言與聲明性SQL相結(jié)合來(lái)擴(kuò)展訪問(wèn)范圍。 SQL具有可塑性。它已經(jīng)多次標(biāo)準(zhǔn)化,每次都會(huì)添加一本功能齊全的書,一個(gè)充滿語(yǔ)法的商店,以及一個(gè)充滿關(guān)鍵詞的詞典。當(dāng)然,并非所有的SQL都是相同的。即使是RDBMS上的傳統(tǒng)SQL實(shí)現(xiàn)也不完全兼容,除非您小心地編寫SQL使其兼容。通過(guò)所有這些,SQL的原始精神得以保留。SQL的一個(gè)進(jìn)化的例子是SQL++。Don Chamberlin和Mike Carey教授討論了支持復(fù)雜數(shù)據(jù)模型的需求,使用戶和開發(fā)人員可以輕松訪問(wèn)JSON中的數(shù)據(jù)。Don寫的書《SQL++ for SQL users:A Tutorial》介紹了SQL++的最新發(fā)展,SQL++這種語(yǔ)言是為靈活的JSON數(shù)據(jù)模型上的數(shù)據(jù)處理而設(shè)計(jì)的,它保持了與SQL的兼容。 就像它所借用的英語(yǔ)一樣,SQL對(duì)新數(shù)據(jù)類型、訪問(wèn)方法和用例的新思想和擴(kuò)展持開放態(tài)度。 SQL與數(shù)據(jù)表示的獨(dú)立性使其可以用于非關(guān)系數(shù)據(jù):CSV, JSON和所有大數(shù)據(jù)格式。有些人把關(guān)系模型表示的剛性和SQL的剛性混為一談。實(shí)際上,對(duì)于任何給定的Schema,SQL允許你對(duì)任何數(shù)據(jù)格式執(zhí)行select-join-group-aggregate-project操作。
找出每個(gè)工作負(fù)載的特征和目標(biāo)。例如,交互式應(yīng)用程序,或交互式分析,或批量分析,或BI工作負(fù)載等等。 支持的聲明反映了操作能力。 在表達(dá)式(標(biāo)量、聚合、布爾值)、聯(lián)接(內(nèi)聯(lián)、左聯(lián)/右聯(lián)/全聯(lián))、子查詢、派生表、排序和分頁(yè)(LIMIT / OFFSET)方面的語(yǔ)言能力。 索引:沒(méi)有正確索引的SQL只是一個(gè)圖靈機(jī)器原型。 優(yōu)化器:查詢重寫,選擇正確的訪問(wèn)路徑,創(chuàng)建最佳執(zhí)行路徑是使得SQL語(yǔ)言成為成功的第4代語(yǔ)言的原因。有些具有基于規(guī)則的優(yōu)化器,有些具有基于成本的優(yōu)化器,而有些則兩者都有。評(píng)估優(yōu)化器的質(zhì)量至關(guān)重要。典型的基準(zhǔn)(TPC-C、TPC-DS、YCSB、YCSB-JSON)在這里對(duì)你沒(méi)有幫助。 正如我們常說(shuō):“數(shù)據(jù)庫(kù)有三個(gè)重要方面:性能、性能和性能”。測(cè)量工作負(fù)載的性能很重要。YCSB和擴(kuò)展的YCSB-JSON將使評(píng)估更容易。 SDK:豐富的SDK和語(yǔ)言支持,加快你的開發(fā)速度。 BI工具支持:對(duì)于大型數(shù)據(jù)分析,通過(guò)標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)程序來(lái)支持BI工具通常非常重要。
逆鋒起筆是一個(gè)專注于程序員圈子的技術(shù)平臺(tái),你可以收獲最新技術(shù)動(dòng)態(tài)、最新內(nèi)測(cè)資格、BAT等大廠的經(jīng)驗(yàn)、精品學(xué)習(xí)資料、職業(yè)路線、副業(yè)思維,微信搜索逆鋒起筆關(guān)注!
記得點(diǎn)「贊」和「在看」 愛(ài)你們
評(píng)論
圖片
表情

