久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

從SQL到NoSQL7種比較查詢語言的指標(biāo)分別是什么

共計(jì) 2125 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。

從 SQL 到 NoSQL7 種比較查詢語言的指標(biāo)分別是什么,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面丸趣 TV 小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

我們將研究七個(gè)比較 SQL 和 NoSQL 的指標(biāo)。

有些人也發(fā)現(xiàn)與 NoSQL 名稱混淆。該縮寫不僅代表“ SQL”,而且還可能被誤解為“對(duì) SQL 否”,因此,為了使用 NoSQL 數(shù)據(jù)庫,組織將不僅需要將其關(guān)系數(shù)據(jù)模型轉(zhuǎn)換為文檔模型,而且還會(huì)獲得有關(guān)他們將選擇的 NoSQL 數(shù)據(jù)庫 API 的培訓(xùn)。

實(shí)際上,NoSQL 數(shù)據(jù)庫行業(yè)從未放棄過最流行的數(shù)據(jù)庫數(shù)據(jù)訪問。許多 NoSQL 供應(yīng)商仍在使用 SQL 的變體。Cosmos DB,Cassandra  CQL,Elasticsearch SQL,Cockroach Labs。即使使用 MongoDB 查詢   語言,您仍會(huì)發(fā)現(xiàn)它基于 select-join-project 構(gòu)造,這是 SQL 中使用的關(guān)系代數(shù)的基礎(chǔ)。

這個(gè) NoSQL 領(lǐng)域中的一個(gè)數(shù)據(jù)庫公司 (已完全解決此問題) 是 Couchbase 及其 N1QL   查詢語言。雖然 Couchbase 以本機(jī) JSON 格式存儲(chǔ)數(shù)據(jù),但它支持的數(shù)據(jù)模型可以是關(guān)系結(jié)構(gòu)或分層結(jié)構(gòu),由于其模式靈活性和可擴(kuò)展性,經(jīng)常在基于文檔的模型中使用。這是可能的,因?yàn)?Couchbase 提供了類似 SQL 的查詢語言 -N1QL,它擴(kuò)展了 SQL 語言以允許用戶操縱文檔模型的層次結(jié)構(gòu)。所有這些都是基于   具有鍵值 API 的 Couchbase 高性能數(shù)據(jù)服務(wù)構(gòu)建的。

但是,在當(dāng)今的 NoSQL 數(shù)據(jù)庫市場中,有很多選擇,并且對(duì)于希望確保其數(shù)據(jù)庫技術(shù)投資可以利用 NoSQL 技術(shù)當(dāng)前提供的所有好處的組織而言,結(jié)果可能帶來許多挑戰(zhàn)。

對(duì)結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的支持

商業(yè)硬件的水平可擴(kuò)展性

易于管理架構(gòu)演變

也許最重要的是,除了過去幾十年來一直主導(dǎo)數(shù)據(jù)庫市場的當(dāng)前 RDBMS 供應(yīng)商之外,還可以選擇供應(yīng)商。

為了幫助客戶做出決定,Altoros(一家致力于幫助公司從舊版 IT 系統(tǒng)過渡到未來的公司)發(fā)布了查詢比較報(bào)告,以比較當(dāng)今最受歡迎的數(shù)據(jù)庫中的查詢語言。它選擇專注于 MySQL  / SQL,Couchbase N1QL 和 MongoDB 查詢語言。使用以下條件對(duì)每種查詢語言的實(shí)現(xiàn)進(jìn)行了評(píng)估,以滿足不同的查詢方案。

簡單

可讀性

表現(xiàn)力

靈活性

技能專長

代碼行

應(yīng)用程序到服務(wù)器的行程數(shù)

可以在此 GitHub 存儲(chǔ)庫中找到所有查詢和數(shù)據(jù)庫轉(zhuǎn)儲(chǔ)的示例,這些示例可以幫助部署和運(yùn)行此報(bào)告中的所有方案。

Altoros 報(bào)告方法

該報(bào)告的目的是從傳統(tǒng) RDBMS 應(yīng)用程序的角度比較查詢語言。為此,它選擇了:

活動(dòng)管理應(yīng)用程序模型,通常在管理銷售,服務(wù)和營銷活動(dòng)的大多數(shù) CRM 系統(tǒng)中找到。報(bào)告設(shè)置包括用于 MySQL 的關(guān)系模型和用于 Couchbase 和 MongoDB 的文檔數(shù)據(jù)庫模型。

它還使用了這些系統(tǒng)的大多數(shù)用戶可以識(shí)別的一組查詢方案。

對(duì)于每種情況,報(bào)告均提供以 SQL,N1QL 和 MongoDB 查詢語言編寫的相應(yīng)解決方案,然后提供每種解決方案的評(píng)估。

評(píng)估標(biāo)準(zhǔn)結(jié)果

下表總結(jié)了所有查詢方案的所有等級(jí)。請(qǐng)參閱該報(bào)告,以了解每種查詢方案的單獨(dú)評(píng)估。

該報(bào)告以 MySQL-SQL 為參考,根據(jù)許多標(biāo)準(zhǔn)評(píng)估了 Couchbase N1QL 和 MongoDB 查詢語言。

筆記:

與 MongoDB,Cassandra 和 RedisLab 一起工作的 Altoros 發(fā)現(xiàn) N1QL 與 SQL 非常相似,并且始終給它比 MongoDB 查詢語言更好的評(píng)級(jí)。

方案 3 的示例代碼顯示,對(duì)于簡單查詢,這三種查詢語言相對(duì)相似,并且具有相似的評(píng)估標(biāo)準(zhǔn)評(píng)分。但是,差異出現(xiàn)在查詢場景中,其中文檔 JOIN 和 Aggregations

該圖表顯示了每個(gè)查詢的代碼行數(shù)。盡管此度量標(biāo)準(zhǔn)可能會(huì)出現(xiàn)錯(cuò)誤表述,因?yàn)樗胁樵冋Z言都有自己推薦的格式,但它可以提供有關(guān)復(fù)雜性的簡單指南。

N1QL 查詢語言的代碼行數(shù)與 SQL 大致相同。

MongoDB 查詢語言始終具有更多的代碼行。

對(duì)于場景 7,Altoros 團(tuán)隊(duì)必須為 MongoDB 查詢語言編寫 347 行,而 N1QL 為 21 行。這個(gè)異常值反映了 MongoDB 查詢語言在計(jì)算復(fù)雜聚合和通用表表達(dá)式 (CTE) 方面的局限性,在過去的幾十年中,SQL(現(xiàn)在是 N1QL)一直是關(guān)系數(shù)據(jù)庫技術(shù)的主要優(yōu)勢(shì)。

請(qǐng)注意,這是 Altoros 團(tuán)隊(duì)提供的 MongoDB 查詢解決方案。與任何實(shí)現(xiàn)一樣,可能還有其他方式編寫 Mongo 代碼,但這就是團(tuán)隊(duì)想出的。

客戶端服務(wù)器行程數(shù)

該圖顯示了應(yīng)用程序必須提交給數(shù)據(jù)庫服務(wù)器的行程數(shù)。

筆記:

在大多數(shù)情況下,SQL / N1QL 只需要向服務(wù)器提交一個(gè)查詢,而 MongoDB 查詢可能導(dǎo)致多個(gè)部分,因此需要多次訪問后端服務(wù)器。這是由于 SQL /  N1QL 的表現(xiàn)力所致,其中應(yīng)用程序開發(fā)人員只需要聲明所需的輸出,并由服務(wù)器來處理并返回結(jié)果。

缺乏復(fù)雜聚合的支持要求 MongoDB 在多個(gè)階段執(zhí)行其計(jì)算。這類似于標(biāo)準(zhǔn)的 SQL 子查詢方法。此處的區(qū)別在于,子查詢結(jié)果集需要在客戶端應(yīng)用程序中維護(hù),然后再傳遞給另一個(gè)查詢。

Altoros 查詢比較報(bào)告 - 主要發(fā)現(xiàn)

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝您對(duì)丸趣 TV 的支持。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-18發(fā)表,共計(jì)2125字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 横峰县| 龙川县| 资兴市| 崇仁县| 娄烦县| 壶关县| 祥云县| 临邑县| 扎赉特旗| 罗城| 巴东县| 长岭县| 涪陵区| 石泉县| 丹阳市| 丹寨县| 寿宁县| 伊宁县| 义马市| 云南省| 襄汾县| 龙岩市| 遂宁市| 广南县| 祥云县| 天柱县| 浠水县| 鄢陵县| 政和县| 上犹县| 黎城县| 漾濞| 若尔盖县| 青神县| 阳江市| 额尔古纳市| 松潘县| 红桥区| 若尔盖县| 巴彦淖尔市| 新疆|