中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從SQL到NoSQL7種比較查詢語言的指標分別是什么

發布時間:2021-11-30 14:25:11 來源:億速云 閱讀:197 作者:柒染 欄目:數據庫

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

我們將研究七個比較SQL和NoSQL的指標。

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

實際上,NoSQL數據庫行業從未放棄過最流行的數據庫數據訪問。許多NoSQL供應商仍在使用SQL的變體。 Cosmos DB, Cassandra  CQL, Elasticsearch SQL, Cockroach Labs。即使使用 MongoDB查詢  語言,您仍會發現它基于select-join-project構造,這是SQL中使用的關系代數的基礎。

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

但是,在當今的NoSQL數據庫市場中,有很多選擇,并且對于希望確保其數據庫技術投資可以利用NoSQL技術當前提供的所有好處的組織而言,結果可能帶來許多挑戰。

  1. 對結構化和非結構化數據的支持

  2. 商業硬件的水平可擴展性

  3. 易于管理架構演變

也許最重要的是,除了過去幾十年來一直主導數據庫市場的當前RDBMS供應商之外,還可以選擇供應商。

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

  1. 簡單

  2. 可讀性

  3. 表現力

  4. 靈活性

  5. 技能專長

  6. 代碼行

  7. 應用程序到服務器的行程數

可以在此GitHub 存儲庫中找到所有查詢和數據庫轉儲的示例,這些示例可以幫助部署和運行此報告中的所有方案。

Altoros報告方法

該報告的目的是從傳統RDBMS應用程序的角度比較查詢語言。為此,它選擇了:

活動管理應用程序模型,通常在管理銷售,服務和營銷活動的大多數CRM系統中找到。報告設置包括用于MySQL的關系模型和用于Couchbase和MongoDB的文檔數據庫模型。

從SQL到NoSQL7種比較查詢語言的指標分別是什么

它還使用了這些系統的大多數用戶可以識別的一組查詢方案。

從SQL到NoSQL7種比較查詢語言的指標分別是什么

對于每種情況,報告均提供以SQL,N1QL和MongoDB查詢語言編寫的相應解決方案,然后提供每種解決方案的評估。

評估標準結果

下表總結了所有查詢方案的所有等級。請參閱該報告,以了解每種查詢方案的單獨評估。

該報告以MySQL-SQL為參考,根據許多標準評估了Couchbase N1QL和MongoDB查詢語言。

從SQL到NoSQL7種比較查詢語言的指標分別是什么

筆記:

  • 與MongoDB,Cassandra和RedisLab一起工作的Altoros發現N1QL與SQL非常相似,并且始終給它比MongoDB查詢語言更好的評級。

  • 方案3的示例代碼顯示,對于簡單查詢,這三種查詢語言相對相似,并且具有相似的評估標準評分。但是,差異出現在查詢場景中,其中文檔JOIN和Aggregations

從SQL到NoSQL7種比較查詢語言的指標分別是什么

該圖表顯示了每個查詢的代碼行數。盡管此度量標準可能會出現錯誤表述,因為所有查詢語言都有自己推薦的格式,但它可以提供有關復雜性的簡單指南。

  • N1QL查詢語言的代碼行數與SQL大致相同。

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

  • 對于場景7,Altoros團隊必須為MongoDB查詢語言編寫347行,而N1QL為21行。這個異常值反映了MongoDB查詢語言在計算復雜聚合和通用表表達式(CTE)方面的局限性,在過去的幾十年中,SQL(現在是N1QL)一直是關系數據庫技術的主要優勢。

從SQL到NoSQL7種比較查詢語言的指標分別是什么
從SQL到NoSQL7種比較查詢語言的指標分別是什么

請注意,這是Altoros團隊提供的MongoDB查詢解決方案。與任何實現一樣,可能還有其他方式編寫Mongo代碼,但這就是團隊想出的。

客戶端服務器行程數

從SQL到NoSQL7種比較查詢語言的指標分別是什么

該圖顯示了應用程序必須提交給數據庫服務器的行程數。

筆記:

  • 在大多數情況下,SQL / N1QL只需要向服務器提交一個查詢,而MongoDB查詢可能導致多個部分,因此需要多次訪問后端服務器。這是由于SQL /  N1QL的表現力所致,其中應用程序開發人員只需要聲明所需的輸出,并由服務器來處理并返回結果。

  • 缺乏復雜聚合的支持要求MongoDB在多個階段執行其計算。這類似于標準的SQL子查詢方法。此處的區別在于,子查詢結果集需要在客戶端應用程序中維護,然后再傳遞給另一個查詢。

從SQL到NoSQL7種比較查詢語言的指標分別是什么

Altoros查詢比較報告-主要發現

從SQL到NoSQL7種比較查詢語言的指標分別是什么

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天门市| 洪湖市| 淄博市| 乐陵市| 洛扎县| 南城县| 怀柔区| 泸州市| 通榆县| 通河县| 白玉县| 民丰县| 玉溪市| 天气| 保定市| 湘阴县| 潼南县| 平邑县| 江安县| 五寨县| 肃宁县| 延寿县| 宣化县| 离岛区| 石屏县| 宜昌市| 临泉县| 宁城县| 关岭| 衡阳市| 岳阳市| 平阴县| 扎赉特旗| 卓尼县| 平原县| 安泽县| 钦州市| 涟水县| 疏附县| 景德镇市| 奎屯市|