Microsoft SQL Server Analysis Services 為儲存模式和快取選項提供數個標準記憶體組態。 這些提供更新通知、延遲和重建數據的常用組態。
您可以在 SQL Server Data Tools 中 Cube 的 [資料分割] 索引標籤中,或在 SQL Server Management Studio 的分割區屬性頁中指定數據分割記憶體。
選擇儲存模式的指導方針
對於大型量值群組,通常會針對不同的分割區以不同的方式設定記憶體。 請參考下列指引:
針對當前持續更新的數據,使用即時性 ROLAP。
根據較不常更新的數據源,針對分割區使用低延遲或中等延遲的主動式快取。
針對需要高效能但可以容忍一些數據延遲的使用者,使用自動 MOLAP 以取得數據源。
對於需要用戶能夠持續存取的數據源,使用排程設定的 MOLAP 設定,以便用戶可以定期看到資料的變更。
對於不常變更或完全不變更的分區,使用 MOLAP 儲存而不需主動式快取;對於使用者不需要瀏覽最新數據的分區,以及如果資料在必要的更新和處理期間不需要持續向使用者提供的情況下使用 MOLAP 儲存。
這些是一般指導方針,可能需要仔細分析和測試,才能為您的數據開發最佳的儲存配置。 如果沒有任何標準組態符合您的需求,您也可以手動設定分割區的記憶體設定。
記憶體設定描述
| 標準記憶體設定 | 說明 |
|---|---|
| 即時 ROLAP | OLAP 是即時的。 詳細數據和匯總會以關係型格式儲存。 伺服器會監聽通知,以便在數據變更時,所有查詢都能反映數據的當前狀態(零延遲)。 當使用者一律需要最新的數據時,此設定通常會用於具有非常頻繁且持續更新的數據源。 根據用戶端應用程式所產生的查詢類型,此方法可能會提供最慢的響應時間。 |
| 即時 HOLAP | OLAP 是即時的。 詳細數據會以關係型格式儲存,而匯總會以多維度格式儲存。 當數據變更並視需要重新整理多維度 OLAP (MOLAP) 匯總時,伺服器會接聽通知。 不會建立任何 MOLAP 快取。 每當數據源更新時,伺服器就會切換至即時關係型 OLAP (ROLAP),直到重新整理匯總為止。 所有查詢都會反映數據的目前狀態(零延遲)。 此設定通常用於具有頻繁且持續更新的數據源(但不需要即時 ROLAP 的頻率),而且使用者一律需要最新的數據。 此方法通常提供比 ROLAP 記憶體更好的整體效能。 如果數據源長時間不活動,用戶可以從此設定獲得 MOLAP 效能。 |
| 低延遲多維線上分析處理 (MOLAP) | 詳細數據和匯總會以多維度格式儲存。 伺服器會監聽數據變更的通知,並在 MOLAP 物件在快取中被重新處理的同時,切換到即時運算的 ROLAP。 更新快取之前,至少需要 10 秒的無聲間隔。 如果未達到無聲間隔,則會有10分鐘的覆寫間隔。 資料在發生變更後會自動處理,目標延遲設定為第一次變更後30分鐘。 當查詢效能比一律提供最新數據更重要時,此設定通常會用於經常更新的數據源。 此設定會在延遲間隔之後視需要自動處理 MOLAP 物件。 重新處理 MOLAP 物件時的效能較慢。 |
| 中等延遲 MOLAP | 詳細數據和匯總會以多維度格式儲存。 伺服器會監聽數據變更的通知,當 MOLAP 物件在快取中重新處理時,同時切換至即時 ROLAP。 更新快取之前,至少需要 10 秒的無聲間隔。 如果未達到無聲間隔,則會有10分鐘的超過間隔。 處理會在數據變更時自動發生,且目標延遲為 4 小時。 當查詢效能比一律提供最新的數據更重要時,此設定通常用於經常更新或較不頻繁的數據源。 此設定會在延遲間隔之後視需要自動處理 MOLAP 物件。 重新處理 MOLAP 物件時的效能較慢。 |
| 自動多維在線分析處理 (MOLAP) | 詳細數據和匯總會以多維度格式儲存。 伺服器監聽通知,但在建置新的 MOLAP 快取時會保留目前的 MOLAP 快取。 伺服器無法切換至即時 OLAP,在新快取建置期間查詢可能會延遲。 建立新的 MOLAP 快取之前,至少需要 10 秒的無聲間隔。 如果未達到無聲間隔,則會有10分鐘的覆寫間隔。 當數據變更且目標延遲為兩小時時,就會自動進行處理。 當查詢效能很重要時,此設定通常用於數據源。 此設定會在延遲間隔之後視需要自動處理 MOLAP 物件。 在建置和處理新快取時,查詢不會傳回最新的數據。 |
| 排程式 MOLAP | 詳細數據和匯總會以多維度格式儲存。 當數據變更時,伺服器不會收到通知。 每隔 24 小時自動處理一次。 只有在需要每日更新時,此設定通常才會用於數據源。 查詢一律會針對 MOLAP 快取中的數據,在建置新的快取和處理其物件之前,不會捨棄該快取。 |
| MOLAP | 未啟用主動式快取。 詳細數據和匯總會以多維度格式儲存。 當數據變更時,伺服器不會收到通知。 處理必須排程或手動執行。 此設定通常用於用戶端應用程式不需要定期更新,但對於高效能至關重要的數據源。 如果您的應用程式不需要最新的數據,則沒有主動式快取的 MOLAP 記憶體可提供最佳的效能。 它確實需要停機來處理更新的物件。儘管如此,透過在預備伺服器上更新和處理立方體,並使用資料庫同步方式將更新和處理好的 MOLAP 物件複製到正式伺服器,可以將停機時間降到最低。 |
自訂記憶體選項
您可以手動配置儲存和主動快取,而不是使用其中一個標準儲存設定。 建立自定義記憶體設定之前,建議您先按兩下 [ 標準設定 ] 選項,然後將滑桿移至最符合您要使用的組態的標準設定。 然後,若要建立自定義組態,請按兩下 [ 自定義設定 ] 選項,然後按兩下 [ 選項]。
您可以指定資料來源中的變更是否會觸發快取的更新。 若要允許可容忍的變換層級,您可以在數據源更新之後指定最小無聲間隔。 如果數據源變動之間的間隔始終未達到最低值,您也可以指定靜默間隔覆蓋,在設定的時期後更新快取。
您可以指定是否要在更新發生時刪除過期的快取。 如果您選取此選項,則在超過指定的延遲時,伺服器會在更新快取時切換到即時關係型 OLAP (ROLAP)。 如果您未選取此選項,伺服器會在建置新的 OLAP 時,繼續查詢過時的多維度 OLAP (MOLAP) 快取。
您可以指定變更和卸除過期快取之間必須發生的延遲間隔。 這是使用者在卸除之前,在過期快取中繼續瀏覽數據的時間量。 如果發生變更,且快取仍在此間隔結束時進行更新或處理,則會將查詢重新導向至 ROLAP。
如果您想要定期更新快取的 MOLAP 物件,不論數據源的變更為何,您可以排程快取的強制更新。 即時 OLAP 優點會隨著資料庫的大小和源數據變更頻率所指派的延遲期間而有所不同。 您希望使用者盡可能頻繁地將查詢傳送至快取,而不是傳送至 ROLAP。
如果您選取 [ 將設定套用至維度 ] 複選框,則相同的記憶體設定會套用至與量值群組相關的維度。 維度值一開始與分割區值相同。