Important
您是否正在尋找一種適用於高擴展性場景的資料庫解決方案,且具有 99.999% 可用性的服務等級協定(SLA)、即時自動擴展,以及跨多個區域的自動容錯切換? 考慮使用Azure Cosmos DB作為NoSQL的選擇。
適用於資料表的 Azure Cosmos DB 和 Azure 資料表儲存體會使用相同的資料表資料模型和作業,因此您可以輕鬆建置可調整的應用程式。 本文說明如何同時使用這兩個服務,以進行有效率的資料表儲存體管理。
Note
無伺服器容量模式可在適用於資料表的 Azure Cosmos DB API 上取得。 如需詳細資訊,請參閱 Azure Cosmos DB 無伺服器。
如果您目前使用的是 Azure 資料表儲存體,則移至 Azure Cosmos DB for Table 可獲得下列權益:
| 功能 | Azure 表格儲存服務 (Azure 資料表儲存體) | Azure Cosmos DB for Table |
|---|---|---|
| Latency | 快速,但延遲沒有上限。 | 單位數毫秒的讀取和寫入延遲,無論全球任何地點和規模,皆可支援< 在第 99 個百分位數時讀取延遲為 10 毫秒,< 寫入延遲為 15 毫秒。 |
| Throughput | 變數輸送量模型。 資料表具有每秒 20,000 個作業的可擴縮性限制。 | 高靈活擴展,每個資料表都有專用的保留吞吐量,並由 SLA 支援。 帳戶的輸送量沒有上限,而且在預設定的輸送量模式下支援每個資料表每秒 >1000 萬次作業。 |
| 全球分佈 | 具有一個可選擇讀取的次要讀取區域的單一區域,支持高可用性,允許自動和手動帳戶故障轉移。 | 一站式全球發佈,從 1 到 30 多個區域。 任何時間,任何地點均支援服務管理和手動容錯移轉。 |
| 索引 | 僅限 PartitionKey 和 RowKey 上的主要索引。 沒有次要索引。 |
對所有屬性自動執行完整的編製索引,但沒有索引管理。 |
| Query | 查詢執行作業會使用主索引鍵的索引,否則會進行掃描。 | 查詢可以利用自動編製屬性的索引,加快查詢速度。 |
| 一致性 | 在主要區域內具有強勢地位。 次要區域中的最終状态。 | 五個定義完善的一致性層級,可以您應用程式的需求作為基礎,進行可用性、延遲、輸送量及一致性的取捨。 |
| Pricing | 以使用量為基礎。 | 同時適用於消費型和預配置容量模式。 |
| 服務水平協議 | 可用性為 99.99%。 | 99.99% 可用性 SLA 適用於一致性較低的所有單一區域帳戶和所有多重區域帳戶,而所有多重區域資料庫帳戶有 99.999% 的讀取可用性 領先業界的全方位 SLA (公開上市)。 |
Azure SDK
Azure 軟體開發套件 (SDK) 提供多種程式設計語言的程式庫,讓開發人員能夠與適用於資料表和 Azure 資料表儲存體的 Azure Cosmos DB 無縫互動。
目前的版本
這些 SDK 套件可與 Azure Cosmos DB for Table 和 Table Storage 搭配使用。
先前的發行版本
這些 SDK 套件僅適用於 Azure Cosmos DB 資料表。
.NET。
Azure.Data.Tables可在 NuGet 上取得。 Azure 資料表用戶端程式庫會以資料表儲存體或適用於資料表服務端點的 Azure Cosmos DB 為目標,而不需要變更程式碼。Python
azure-cosmosdb-table可從 PyPi 獲得。 此 SDK 會與資料表儲存體和 Azure Cosmos DB for Table 連線。JavaScript/TypeScript。
azure-storage可在 npm.js上購買。 此 Azure 儲存體 SDK 會使用表格 API 連接至 Azure Cosmos DB 帳戶。Java。 適用於 Java 的 Microsoft Azure 儲存體用戶端 SDK 可在 Maven 上取得。 此 Azure 儲存體 SDK 會使用表格 API 連接至 Azure Cosmos DB 帳戶。
C++: 適用於 C++ 的 Azure 儲存體用戶端程式庫 可讓您建置 Azure 儲存體的應用程式。
Ruby。 適用於 Ruby 的 Azure 儲存體資料表用戶端程式庫 提供 Ruby 套件來存取 Azure 儲存體資料表服務。
PHP。 Azure 儲存體資料表 PHP 用戶端程式庫 提供 PHP 用戶端程式庫來存取 Azure 儲存體資料表服務。
PowerShell。
AzureRmStorageTablePowerShell 模組 具有 Cmdlet,可與儲存體資料表搭配使用。