彈性表格是由 Microsoft Dataverse 管理的表格。 彈性表格隨附的親切使用者體驗和 API 與標準表格所提供的相同。 它們在許多方面和選項與標準表格相同,但具有由 Azure Cosmos DB 提供的獨特功能和能力。
彈性資料表會計入您的 Dataverse 記錄容量使用量。
想了解彈性工作台,請觀看這支影片。
何時要考慮使用 Dataverse 彈性表格呢?
彈性表格是設計用來即時處理大量資料。 使用彈性表格,您可以匯入、儲存和分析大量資料,不會遇到任何可擴縮性、延遲或效能問題。
彈性表格具有彈性結構描述、橫向縮放,以及在某段時間後自動移除資料等獨特功能。
彈性資料表會自動擴展,每小時可匯入數千萬筆資料列。 背景程序可以校勘 IoT 信號、預測維護需求,以及主動排程技術人員。
請試想一個案例,其中 Contoso 是一個擁有數百萬現有客戶的零售商。 Contoso 擁有一個大型的客戶資料庫,而且在留住顧客的同時也想要增加銷售。 根據先前的客戶歷程記錄,他們想要有 24 小時的快閃特賣活動,並用不同的優惠券來瞄準其客戶及產品。 他們估計每場快閃促銷活動所需的優惠券數量將超過一億張。 行銷計畫執行多個瞄準不同客戶區段的 24 小時活動。
Contoso 之行銷應用程式的需求是它必須要能夠在幾個小時內,內嵌一億或以上的優惠券詳細資料,每小時讀取幾百萬的優惠券,並將優惠券傳送給顧客。
彈性表格將會自動縮放以適應這種高輸送量案例。
例如,在上述的案例中,名為優惠券、具有數百萬筆紀錄的彈性表格會與 Dataverse 標準表格,例如連絡人 (顧客資訊) 和優惠 (自訂標準表格) 有關。 因為彈性表格是獨立於標準表格,所以整體行銷應用程式的效能將不會受到負面影響。 此外,彈性表 (此情境中為 Coupon) 的生存時間功能允許在固定時間後自動刪除資料,並確保記錄容量的最佳化。
在下列情況下,請使用彈性表格:
- 您的資料可能是非結構性或半結構性,或如果您的資料模型可能會不斷變更。
- 您需要自動橫向縮放。
- 您需要處理大量的讀取和寫入要求。
在下列情況下,請使用標準表格:
- 您的應用程式需要很強的一致性。
- 您的應用程式需要關聯模型,並需要跨表格和在外掛程式執行階段的交易功能。
- 您的應用程式需要複雜聯結。
表格的選擇必須根據應用程式的特定需求而定。 同時具備兩種類型表格的組合可能是合適的。
水平擴展與效能
隨著您的商務資料持續增長,彈性資料表可根據應用程式工作負載,針對容量與吞吐量提供不受限的自動擴展能力,例如在特定時間範圍內建立、更新或刪除的記錄數量。
如果您的業務案例需要非常大量的資料寫入,應用程式製作者就可以利用 Dataverse 多個要求 API (例如,CreateMultiple、UpdateMultiple 和 DeleteMultiple),在 Dataverse 節流限制內達到更多的輸送量。 其他資訊:開發人員指南:大量作業訊息和最佳化大量作業的效能
資料的自動移除
存活時間 (TTL) 原則確保您始終使用最新和準確的資訊,同時最佳化資源並降低風險。 TTL 值是在紀錄上以秒為單位設定,並且會被視為自該紀錄上次修改時間起算的時間差。
使用 JSON 欄位的彈性結構描述
彈性表格可讓您以不同的結構儲存和查詢資料,而不需要預定義的結構描述或移轉。 您不需要撰寫自訂程式碼,即可將匯入的資料對應至固定結構描述。 其他資訊:開發人員指南:查詢彈性表格中的 JSON 行 彈性表格讓您能夠儲存和查詢具有不同結構的資料,而無需預先定義結構描述或移轉。 您不需要撰寫自訂程式碼,即可將匯入的資料對應至固定結構描述。 更多資訊:開發人員指南:在彈性資料表中查詢 JSON 資料行
使用彈性表格時的考量
雖然彈性資料表非常適合在大規模環境下處理大量請求,但這些優點也伴隨一些取捨,需要留意:
- 彈性表格不支援多記錄交易。 這表示在單一要求執行過程中所發生的多個寫入作業,彼此之間並無法交易。 例如,如果您在彈性資料表上,於
PostOperation階段針對Create message註冊了同步外掛程式步驟,外掛程式中的任何錯誤都不會回復 Dataverse 中已建立的記錄。 預外掛程式的驗證依舊會如預期運作,因為它們是在主要階段之前執行。 - 彈性資料表僅支援邏輯工作階段內的強一致性。 在工作階段內容之外,您可能無法立即看到資料列的變更。 其他資訊: 開發人員指南:一致性層級
- 在建立檢視表、進階尋找或任何使用 API 的一般查詢時,彈性表格不支援相關表格上的篩選條件。 如果您經常需要依相關資料表的資料行篩選,建議您將需要篩選的相關資料表資料行,反正規化到主資料表本身。 請試想一個包含兩個彈性表格:客戶和地址的零售商。 一個客戶有多個地址。 您想要從客戶表格傳回所有在地址表格中,市/鎮值為紐約的客戶查詢結果。 在此範例中,查詢客戶表格時,您想要在相關地址表格的市/鎮行上套用篩選條件。 彈性資料表不支援此功能。 讓這樣做可行的一種方式,是將 city 欄位反正規化到 Customer 資料表中,如此一來,所有客戶的城市值都會存在於 Customer 資料表本身中。
彈性資料表功能支援
- 建立、讀取、更新、刪除 (CRUD) 作業,包括 API 的多重作業 (適用於高吞吐量)、大量刪除,以及外掛程式提出的請求。
- 關係:
- 一對多
- N 資料表為標準資料表時的多對一關係
- 記錄擁有權、變更追蹤、稽核、行動裝置離線使用和 Dataverse 搜尋。
- 含有檔案類型屬性的檔案資料行
安全功能支援
彈性表格遵守 Dataverse 安全性模型。
建立彈性表格時,您可以設定:
- 由使用者或組織擁有
- 欄位層級安全性
彈性表格目前不支援的功能
彈性表格目前不支援表格功能:
- 商務規則
- 圖表
- 商務程序流程
- 適用於 Power BI 的 Dataverse 連接器
- 標準資料表的多對多 (N:N) 關聯
- 替代索引鍵
- 重複偵測
- 計算和彙總欄
- 貨幣欄
- 查詢中的行比較
- 表格共用
- 複合索引
- 串聯 (Cascade) 作業:刪除、重設父項、指派、共用、取消共用
- 依查閱欄位排序
- 彙總查詢:
- 在排序依據
attribute1值時的attribute2唯一值 - 使用多個 distinct 時的分頁
- 與多個排序不同
- ORDER BY 與 GROUP BY 一起使用
- 依據連結實體(左外部聯結)分組
- 在使用者擁有的表上不同
- 在排序依據
- 資料表連結
- 存取小組
- 佇列
- 附件
- 表資料的匯入和匯出功能。
目前無法使用彈性表格的行資料類型:
- 貨幣
- 公式
- 「無」以外的整數格式 (期間、語言代碼和時區)
- 根據客戶選項進行查找
建立彈性表格
您可以像在 Dataverse 中建立任何其他新表格一樣,建立彈性表格。
- 登入 Power Apps,並在左側瀏覽窗格上選取表格。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。
- 選取命令列上的新表格>設定進階屬性。
- 在右側屬性窗格中,輸入顯示名稱和複數名稱。
- 展開進階選項,然後選取彈性作為表格類型。
- 選取您要的屬性,然後選取儲存。
系統會自動為彈性資料表建立存留時間資料行。 您可以根據需要添加以秒為單位的時間段值。 指定好時間段後,資料將自動移除。
其他關於表格的的資訊:進階選項
已知問題
- 當存留時間 (TTL) 在某列上使用時,TTL 一到期,就會從彈性表格中移除該列。 如果在 TTL 到期之前使用 Azure Synapse Link for Dataverse 將其同步到資料湖,則不會從資料湖中刪除。
- 時間點還原不會還原已更新的記錄,因為更新內容不會被備份。 僅恢復已建立和刪除的記錄。
- 如果刪除彈性表格中的特定行,則該行值不會從表格列中刪除 (如果該列有資料)。 在刪除特定行之前,請刪除該行上所有列中的資料。
高容量彈性資料表與 Dataverse API 節流限制管理
使用大量操作訊息。 這可讓您在相同的 Dataverse API 節流限制下,達到 10 倍的輸送量。 開發人員可以參考下列章節中提供的更多連結。
供開發人員使用
當開發人員把彈性表格與 Dataverse API 一起使用時,它的行為和能力會和標準表格的不同。 下列開發人員的文章會描述這些差異: