什麼是 Azure Cosmos DB for NoSQL

已完成

讓我們從 Azure Cosmos DB for NoSQL 的幾個定義和快速導覽開始。 此概觀應有助於了解 Azure Cosmos DB 是否適合您的工作。

什麼是 NoSQL 資料庫?

開發人員需要新型的資料庫來解決現代化應用程式的獨特挑戰。 NoSQL 資料庫旨在滿足下列需求:

  • 大量資料。
  • 許多不同來源和形式的資料。
  • 儲存不同類型資料的動態資料結構描述。
  • 使用高速和/或即時資料。

您可以透過共同特性來定義 NoSQL 資料庫,而不是透過具體的正式定義。 這些特性包括:

  • 非關聯式資料存放區。
  • 設計為擴增。
  • 不強制執行特定結構描述。

一般而言,NoSQL 資料庫不會強制執行關聯式條件約束或鎖定資料,可加快寫入速度。 此外,通常也設計成透過分區化或資料分割進行水平調整,因此不論大小,都可以維持高效能。

雖然有許多 NoSQL 資料模型,但在模型化 NoSQL 資料庫中的資料時,通常使用四個廣泛的資料模型系列:

此圖表顯示各種 NoSQL 模型,包括索引鍵/值、文件、圖形和資料行系列存放區。

接下來,我們將著重於 Azure Cosmos DB for NoSQL 所支援的資料模型:「文件」資料模型。

為什麼要搭配文件資料模型來使用 NoSQL 資料庫?

文件資料模型將資料細分為個別的文件實體。 文件可以是任何結構化資料類型,但 JSON 通常作為資料格式。 Azure Cosmos DB for NoSQL 原生支援 JSON。

階層式文件資料模型圖,其中包含父實體、子實體及其連接線條。

文件是不可部分完成的實體,不論相同資料庫中的其他文件儲存什麼,都可以有其自己的資料形式。 憑藉此彈性,不需要預先定義的結構描述,因此更輕鬆地快速建置新的應用程式。 此外,此彈性支援將不同類型的資料儲存在一起,而模型可以在應用程式的存留期內演進。

什麼是 JSON 文件?

JavaScript 物件標記法 (簡稱 JSON) 是輕量型資料格式。 JSON 原本就高度相容於 JavaScript 語言中的物件常值標記法。 許多架構、瀏覽器,甚至是資料庫,都原生支援 JavaScript,使得 JSON 成為傳輸和儲存資料的常用格式。

以下是 JSON 文件的範例:

{
  "device": {
    "type": "mobile"
  },
  "sentTime": "2019-11-12T13:08:42",
  "spoolRefs": [
    "6a86682c-be5a-4a4a-bacd-96c4d1c7ece6",
    "79e78fe2-93aa-4688-89db-a7278b034aa6"
  ]
}

如您所見,JSON 清楚呈現內容,是相當容易閱讀的資料格式。 JSON 在 JavaScript 應用程式中也相當容易剖析和使用。

什麼是 Azure Cosmos DB for NoSQL?

Azure Cosmos DB for NoSQL 是一種快速的 NoSQL 和向量資料庫服務,可針對多樣化資料提供豐富查詢,並支援新一代生成式 AI 應用程式。 其有助於提供可設定且可靠的效能、遍布全球,並支援快速開發。

世界地圖,有四個透過線條連接的遍布全球節點。

NoSQL API 是用來處理文件的核心或原生 API。 NoSQL API 支援利用 JSON 文件的快速彈性開發、具有熟悉語法的查詢語言,以及熱門程式設計語言的用戶端程式庫。 Azure Cosmos DB 也提供獨特的功能,例如向量索引編製和搜尋,可讓使用者根據使用者的資料建立新一代生成式 AI 應用程式,以快速有效率地調整規模。

Azure Cosmos DB for NoSQL 有幾個優點,例如:

  • 領先業界的向量資料庫,具有向量索引編製和搜尋功能,其設計目的在於處理高維度向量,實現以任何規模進行的高效且精確的向量搜尋。
  • 任何規模都能得到速度保證 (甚至透過高載),在世界各地都能擁有不受限制的即時彈性、可以快速讀取,並進行多重主機寫入。
  • 快速、彈性的應用程式開發,搭配適用於 .NET、Java、Python、JavaScript 和 GO 等熱門語言和架構的 SDK 以及無需 ETL (擷取、轉換、載入) 的分析。
  • 可供任務關鍵性應用程式使用,保障商務持續性、99.999% 可用性和企業級安全性。
  • 完全受控且符合成本效益,並提供功能完整的無伺服器供應項目,以及回應應用程式需求的即時、自動和動態調整。

這些功能讓 Azure Cosmos DB 很適合用於現代化應用程式開發。 Azure Cosmos DB for NoSQL 特別適用於下列應用程式:

  • 經歷無法預期的流量尖峰和下降
  • 產生大量資料
  • 需要提供即時使用者體驗
  • 商務持續性所仰賴

Azure Cosmos DB for NoSQL 可儲存具有彈性結構描述的原生 JSON 文件。 資料會自動編制索引,可透過針對 JSON 資料而設計的 SQL 查詢語言來查詢。 您可以使用適用於 .NETPythonJavaNode.jsGO 等熱門架構的 SDK 來存取 NoSQL API