選擇 Azure 上的儲存體解決方案

已完成

選擇正確的儲存體解決方案可能有助於提升效能、節省成本並提高管理能力。 每種資料類型都有不同的儲存需求。 您的工作是判斷哪種儲存體解決方案最適合公司所使用的資料類型。 請務必考慮:資料類型、所需的作業、預期的延遲,以及交易式支援的需求。

在此,您將應用從線上零售案例資料所學到的相關知識,為每個資料集找出最佳的 Azure 服務。

產品類別目錄資料

資料分類:半結構化,因為必須擴充或修改新產品的結構描述。

作業

  • 客戶需要大量讀取作業,並且能夠查詢資料庫中的許多欄位。
  • 公司需要大量寫入作業,以追蹤不斷變更的庫存。

延遲與輸送量:高輸送量與低延遲。

交易式支援:由於產品資料繫結至付款和庫存,因此需要交易式支援。

Azure Cosmos DB 依設計支援半結構化或 NoSQL 資料。 因此,Azure Cosmos DB 可提供新欄位 (例如 [支援藍牙] 欄位),或您未來需要的任何新欄位。

Azure Cosmos DB 支援 SQL 查詢,而且預設會編製每個屬性的索引。 您可以建立查詢,以便客戶可以篩選類別目錄中的任何內容。

Azure Cosmos DB 也符合 ACID 規範,因此您可以確定交易會根據這些嚴格的需求來完成。 OLTP 連接器適用於 Azure Cosmos DB。

作為附加價值,您也可以使用 Azure Cosmos DB 以輕鬆複寫世界上任何位置的資料。 因此,若您電子商務網站的使用者集中在美國、法國與英國,則可以將資料複寫至那些區域中的資料中心。 延遲會降低,因為您實際上已將資料移至更接近使用者的位置。

甚至在資料複寫至全球各地之後,您還可以從五個一致性層級中選擇一個。 藉由選擇正確的一致性層級,您可以在一致性、可用性、延遲和輸送量之間決定取捨。 您可以在尖峰購物期間相應增加來處理更高的客戶需求,或在較慢期間相應減少來節省成本。

為何不使用其他 Azure 服務?

如果您可以識別大部分產品常用的屬性子集,以及可能不存在於一些產品中的變動屬性,則 Azure SQL Database 會是此資料集的絕佳選擇。 您可以使用 Azure SQL Database 將資料行中的結構化資料與儲存為 JSON 資料行的半結構化資料合併,以便可以輕鬆地對其進行擴充。 Azure SQL Database 可以提供 Azure Cosmos DB 的許多相同優點,但如果您的資料結構在不同實體中變更,則其提供的好處不多,且您無法預先定義在大多數實體中重複的一組通用屬性。 與對文件中的每個屬性編製索引的 Azure CosmosDB 不同,在 Azure SQL Database 中,您需要明確定義應為半結構化文件中的哪些屬性編製索引。 針對高度非結構化和變動資料 (無法預測應該編製索引的屬性為何),Azure Cosmos DB 是更好的選擇。 Azure SQL Database支援 OLTP。

其他 Azure 服務,例如 Azure 表格儲存體、Azure HDInsight 組件 Apache HBase 和 Redis 的 Azure 快取,也可以儲存 NoSQL 資料。 在此案例中,使用者想要查詢多個欄位,因此 Azure Cosmos DB 更適合。 Azure Cosmos DB 預設會編製每個欄位的索引,但其他 Azure 服務會受限於其編製索引的資料中。 查詢非索引欄位會導致效能降低。

相片與影片

資料分類:非結構化。

作業

  • 僅依識別碼擷取。
  • 客戶需要具有低延遲特性的大量讀取作業。
  • 建立作業和更新作業將會較不頻繁,而且可能有高於讀取作業的延遲。

延遲與輸送量:依識別碼擷取必須支援低延遲與高輸送量。 建立作業和更新作業可能會有比讀取作業更高的延遲。

交易式支援:不需要。

Azure Blob 儲存體支援儲存相片與影片等檔案。 其也可搭配 Azure 內容傳遞網路使用,方法是快取最常用的內容,然後將其儲存在邊緣伺服器上。 Azure 內容傳遞網路可降低將這些影像提供給使用者時的延遲。

在 Azure Blob 儲存體中,您也可以將影像從經常性儲存層移至非經常性儲存層或封存儲存層,以降低成本並將輸送量集中在最常檢視的影像與影片。

為何不使用其他 Azure 服務?

您可以將影像上傳至 Azure App Service,讓執行您應用程式的相同伺服器提供您的影像。 如果您沒有許多檔案,此解決方案沒有問題。 但如果您有許多檔案且對象遍佈全球,則搭配使用 Azure Blob 儲存體與 Azure 內容傳遞網路可取得更好的效能。

商務資料

資料分類:結構化。

作業:在多個資料庫之間進行唯讀的複雜分析查詢。

延遲與輸送量:根據查詢的複雜本質,結果預期會有些延遲。

交易式支援:不需要。

商務分析師最有可能查詢商務資料,比起任何其他查詢語言,這些人員可能較瞭解 SQL。 您可以使用 Azure SQL Database 本身來作為解決方案,但若您搭配 Azure Analysis Services 使用,資料分析師便可以透過 Azure SQL Database 中的資料建立語意模型。 資料分析師可以接著將模型與商務使用者共用,而其只需要從任何商業智慧 (BI) 工具連接到模型,即可立即探索資料並取得見解。 Azure Analysis Services支援 OLAP。

為何不使用其他 Azure 服務?

Azure Synapse Analytics 支援 OLAP 解決方案和 SQL 查詢,但商務分析師需要執行跨資料庫查詢,而 Azure Synapse Analytics 不支援這種查詢。

Azure 串流分析適合用來分析資料並將它轉換成可操作的見解,但它著重於串流輸入的即時資料。 在此案例中,商務分析師只會查看歷程記錄資料。