Udostępnij przez


Optymalne odświeżanie w przypadku zmaterializowanych widoków jeziora w jeziorze

W tym artykule opisano semantyczne aspekty, które należy wziąć pod uwagę podczas korzystania z optymalnego odświeżania w przypadku zmaterializowanych widoków jeziora i przedstawiono dostępne tryby odświeżania dla zmaterializowanych widoków jeziora.

Tryby odświeżania dla zmaterializowanych widoków Lake

  • Optymalne odświeżanie: Ten tryb automatycznie wybiera najlepszą strategię odświeżania dla maksymalnej wydajności zmaterializowanych widoków jeziora — przyrostową, pełną lub bez odświeżenia.

  • Pełne odświeżanie: ten tryb wymusza pełną ponowną kompilację dla zmaterializowanego widoku jeziora.

Optymalne odświeżanie

Optymalne odświeżanie jest zaprojektowane w celu zwiększenia wydajności, szybkości i efektywności kosztów zarządzania danymi na platformie Microsoft Fabric. Automatycznie wybiera najbardziej odpowiednią strategię odświeżania, aby zmaksymalizować wydajność odświeżania. Następujące zasady odświeżania są obsługiwane w ramach optymalizacji odświeżania.

Polityka Odświeżania Description
Odświeżanie przyrostowe Odświeżanie przyrostowe przetwarza tylko zmienione dane w źródłach, do których odnosi się definicja zmaterializowanych widoków jeziora.
Brak odświeżania Jeśli źródło pozostanie niezmienione, tj. jeśli w commicie delta nie zostanie wykryta żadna zmiana, usługa pominie proces odświeżania. To zachowanie pozwala zaoszczędzić niepotrzebne przetwarzanie.
Pełne odświeżanie Pełne odświeżanie obejmuje ocenę całego zestawu danych źródeł zależnych za każdym razem, gdy wszelkie modyfikacje są wprowadzane do źródła.

Ważne

Aby odświeżanie przyrostowe zaczęło obowiązywać, należy ustawić właściwość zmiany różnicowej danych (CDF) na delta.enableChangeDataFeed=true dla wszystkich źródeł zależnych, do których odwołuje się definicja zmaterializowanych widoków jeziora. Aby uzyskać więcej informacji, zobacz jak włączyć właściwość strumienia zmian danych.

Zalety optymalnego odświeżania

  • Niższy koszt: są używane mniejsze zasoby obliczeniowe i magazyn, zwłaszcza gdy zmiany danych są minimalne, a brak odświeżania pomija odświeżanie danych, gdy nie zostanie wykryta zmiana zatwierdzenia różnicowego.

  • Ulepszona wydajność: szybsze cykle odświeżania pomagają dostarczać świeże szczegółowe informacje i nadążać za szybko zmieniającymi się danymi.

  • Oszczędności czasu: przetwarzane są tylko zmienione dane, co powoduje skrócenie czasu trwania odświeżania.

Obsługiwane wyrażenie w optymalnej strategii odświeżania przyrostowego

Po utworzeniu zmaterializowanego widoku jeziora danych przy użyciu obsługiwanych wyrażeń Fabric może wykonywać odświeżanie przyrostowe. Jeśli nieobsługiwane wyrażenia są używane w zapytaniach, odświeżanie pełne lub żadne odświeżanie nie jest wykonywane w zależności od zmiany.

W poniższej tabeli przedstawiono obsługiwane wyrażenia:

Konstrukcja SQL Uwaga
Wyrażenie SELECT Obsługa wyrażeń mających funkcje deterministyczne (wbudowane). Funkcje niedeterministyczne i funkcje okien prowadzą do pełnej strategii odświeżania.
FROM
WHERE Obsługiwane są tylko funkcje deterministyczne wbudowane.
SPRZĘŻENIE WEWNĘTRZNE
WITH Obsługiwane są typowe wyrażenia tabeli
WSZYSTKIE UNII
Ograniczenia dotyczące jakości danych Tylko deterministyczne funkcje wbudowane są obsługiwane w ograniczeniach.

Uwaga / Notatka

Aby uzyskać najlepsze wyniki, zaprojektuj zapytania przy użyciu tylko obsługiwanych klauzul. Każde użycie niewspieranych wzorców wyzwala automatyczne przełączenie się na strategię pełnego odświeżania.

Kluczowe punkty optymalnego przeładowania

  • Aby zoptymalizować wynik, użyj obsługiwanych wyrażeń w zapytaniach, aby można było zastosować strategię odświeżania przyrostowego.
  • Odświeżanie przyrostowe jest obsługiwane w przypadku danych tylko do dodawania. Jeśli dane obejmują usunięcia lub aktualizacje, usługa Fabric wykonuje pełne odświeżanie.
  • Jeśli zdefiniujesz ograniczenia jakości danych w zmaterializowanej definicji widoku jeziora, przyrostowe odświeżanie uwzględnia i wymusza te ograniczenia podczas aktualizacji.
  • Do korzystania z optymalnego odświeżania nie są naliczane żadne dodatkowe opłaty. Opłaty są naliczane na podstawie użycia zasobów obliczeniowych podczas operacji odświeżania.
  • W przypadkach takich jak małe zestawy danych źródłowych, Fabric może wybrać pełne odświeżanie zamiast przyrostowego, biorąc pod uwagę wydajność.

Jak włączyć właściwość strumienia danych zmieniającego się

W celu uzyskania optymalnego odświeżania należy włączyć właściwość strumienia danych zmian (CDF) dla wszystkich źródeł zależnych.

Poniższy przykład pokazuje, jak umożliwić korzystanie z instrukcji CREATE.

CREATE OR REPLACE MATERIALIZED LAKE VIEW silver.customer_orders
TBLPROPERTIES (delta.enableChangeDataFeed=true)
AS
SELECT 
    c.customerID,
    c.customerName,
    c.region,
    o.orderDate,
    o.orderAmount
FROM bronze.customers c INNER JOIN bronze.orders o
ON c.customerID = o.customerID

Możesz także użyć instrukcji ALTER TABLE na tabelach źródłowych.

  ALTER TABLE <table-name> SET TBLPROPERTIES (delta.enableChangeDataFeed = true);

Przykład:

  ALTER TABLE bronze.customers SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
  ALTER TABLE bronze.orders SET TBLPROPERTIES (delta.enableChangeDataFeed = true);

Jak włączyć optymalny tryb odświeżania

Domyślnie dla pochodzenia jest włączony optymalny tryb odświeżania. Jeśli tak nie jest, wykonaj poniższe kroki:

  1. Przejdź do opcji Zarządzaj zmaterializowanym widokiem jeziora i włącz przełącznik Optimal refresh.

    Zrzut ekranu przedstawiający przełącznik umożliwiający włączenie optymalnego trybu odświeżania.

Pełne odświeżanie

Pełne odświeżenie wykonuje pełną ponowną rekalkulację zmaterializowanego widoku jeziora na podstawie danych źródłowych.

Jeśli konieczne jest ponowne przetwarzanie całych danych w zmaterializowanych widokach lake, możesz wyłączyć przełącznik optymalnego odświeżania, aby przełączyć się do trybu pełnego odświeżania.

Zrzut ekranu przedstawiający przełączenie do trybu pełnego odświeżania.

lub

Aby wykonać pełne odświeżenie zmaterializowanego widoku jeziora, możesz użyć następującego polecenia:

REFRESH MATERIALIZED LAKE VIEW [workspace.lakehouse.schema].MLV_Identifier FULL

Uwaga / Notatka

  • Jeśli nazwa obszaru roboczego zawiera spacje, umieść ją w apostrofach: `My Workspace`.lakehouse.schema.view_name
  • Odświeżenie zmaterializowanego widoku lake, który używa tabel innych niż delta, ponieważ jego źródło inicjuje pełne odświeżanie.