Tabele w Fabric Data Warehouse

Dotyczy:✅ Magazyn w Microsoft Fabric

Ten artykuł zawiera szczegółowe informacje o kluczowych pojęciach dotyczących projektowania tabel w Microsoft Fabric.

W tabelach dane są logicznie zorganizowane w formacie wierszy i kolumn. Każdy wiersz reprezentuje unikatowy rekord, a każda kolumna reprezentuje pole w rekordzie.

Określanie kategorii tabeli

Schemat gwiazdy organizuje dane w tablice faktów i tablice wymiarów. Niektóre tabele są używane do integracji lub przechowywania danych tymczasowo przed przeniesieniem do tabeli faktów lub tabeli wymiarów. Podczas projektowania tabeli zdecyduj, czy dane tabeli należą do tabeli faktów, wymiarów lub tabeli integracji. Ta decyzja informuje o odpowiedniej strukturze tabeli.

  • Tabele faktów zawierają dane ilościowe, które są często generowane w systemie transakcyjnym, a następnie ładowane do magazynu danych. Na przykład firma detaliczna generuje transakcje sprzedaży każdego dnia, a następnie ładuje dane do tabeli faktów magazynu danych na potrzeby analizy.

  • Tabele wymiarów zawierają dane atrybutów , które mogą ulec zmianie, ale zwykle zmieniają się rzadko. Na przykład nazwa i adres klienta są przechowywane w tabeli wymiarów i aktualizowane tylko wtedy, gdy profil klienta ulegnie zmianie. Aby zminimalizować rozmiar dużej tabeli faktów, nazwa i adres klienta nie muszą znajdować się w każdym wierszu tabeli faktów. Zamiast tego tabela faktów i tabela wymiarów mogą udostępniać identyfikator klienta. Zapytanie może łączyć dwie tabele w celu skojarzenia profilu i transakcji klienta.

  • Tabele integracji zapewniają miejsce na integrowanie lub przemieszczanie danych. Można na przykład załadować dane do tabeli przejściowej, wykonać przekształcenia danych w środowisku przejściowym, a następnie wstawić dane do tabeli produkcyjnej.

Tabela przechowuje dane w usłudze OneLake w ramach magazynu. Tabela i dane utrzymują się, niezależnie od tego, czy sesja jest otwarta.

Tabele w magazynie

Aby wyświetlić organizację tabel, można użyć fact, dim lub int jako przedrostków do nazw tabel. W poniższej tabeli przedstawiono niektóre nazwy schematów i tabel dla przykładowego magazynu danych WideWorldImportersDW .

Nazwa tabeli źródłowej WideWorldImportersDW Typ tabeli nazwa tabeli Data Warehouse
Miejscowość Wymiar wwi.DimCity
Zamówienie Fakt wwi.FactOrder
  • Nazwy tabel nie mogą zawierać / ani \ kończyć się symbolem ..

Utwórz tabelę

W przypadku magazynu danych możesz utworzyć tabelę jako nową, pustą tabelę. Możesz również utworzyć i wypełnić tabelę wynikami instrukcji select. Poniżej przedstawiono polecenia języka T-SQL służące do tworzenia tabeli.

Instrukcja języka T-SQL opis
UTWÓRZ TABELĘ Tworzy pustą tabelę, definiując wszystkie kolumny i opcje tabeli.
Utwórz tabelę jako wybierz Wypełnia nową tabelę wynikami zapytania select. Kolumny tabeli i typy danych są oparte na wynikach instrukcji select. Aby zaimportować dane, ta instrukcja może wybrać elementy z tabeli zewnętrznej.

W tym przykładzie zostanie utworzona tabela z dwiema kolumnami:

CREATE TABLE MyTable (col1 int, col2 int );

Nazwy schematu

Magazyn obsługuje tworzenie schematów niestandardowych. Podobnie jak w SQL Server schematy są dobrym sposobem grupowania obiektów używanych w podobny sposób. Poniższy kod tworzy schemat zdefiniowany przez użytkownika o nazwie wwi.

  • W nazwach schematów jest rozróżniana wielkość liter.
  • Nazwy schematów nie mogą zawierać / ani \ lub kończyć się na ..
CREATE SCHEMA wwi;

Typy danych

Microsoft Fabric obsługuje najczęściej używane typy danych T-SQL.

Kolejność sortowania

Magazyny Fabric są konfigurowane zgodnie z ustawieniami sortowania obszaru roboczego, które domyślnie jest sortowaniem rozróżniającym wielkość liter (CS) Latin1_General_100_BIN2_UTF8. Podczas tworzenia nowego magazynu zostanie użyte sortowanie obszaru roboczego. Aby uzyskać więcej informacji, zobacz zestawienie Data Warehouse.

Obsługiwane sortowania magazynu to:

  • Latin1_General_100_BIN2_UTF8 (ustawienie domyślne)
  • Latin1_General_100_CI_AS_KS_WS_SC_UTF8

Magazyn można utworzyć przy użyciu sortowania innego niż domyślne przy użyciu interfejsu API REST. Aby uzyskać więcej informacji, zobacz Jak utworzyć magazyn z sortowaniem bez uwzględniania wielkości liter (CI).

Po ustawieniu sortowania podczas tworzenia bazy danych wszystkie kolejne obiekty (tabele, kolumny itp.) będą dziedziczyć to sortowanie domyślne. Po utworzeniu magazynu nie można zmienić ustawienia sortowania.

Statystyka

Optymalizator zapytań używa statystyk na poziomie kolumny podczas tworzenia planu wykonywania zapytania. Aby zwiększyć wydajność zapytań, ważne jest posiadanie statystyk dotyczących poszczególnych kolumn, zwłaszcza tych używanych w sprzężeniach zapytań. Magazyn obsługuje automatyczne tworzenie statystyk.

Proces aktualizacji statystycznej nie dzieje się automatycznie. Zaktualizuj statystyki po dodaniu lub zmianie znaczącej liczby wierszy. Na przykład zaktualizuj statystyki po załadowaniu. Aby uzyskać więcej informacji, zobacz Statystyki w Fabric Data Warehouse.

Klucz podstawowy, klucz obcy i unikatowy klucz

W przypadku magazynu PRIMARY KEY i UNIQUE ograniczenia są obsługiwane tylko wtedy, gdy NONCLUSTERED i NOT ENFORCED są używane jednocześnie.

FOREIGN KEY jest obsługiwany tylko wtedy, gdy NOT ENFORCED jest używany.

#temp tabele

Tabele tymczasowe w zakresie sesji (#temp) można tworzyć w Fabric Data Warehouse.

Te tabele istnieją tylko w ramach sesji, w której są tworzone i trwają przez czas trwania tej sesji. Nie są one widoczne dla innych użytkowników lub sesji i są automatycznie usuwane z systemu po zakończeniu sesji lub po usunięciu tabeli #temp. Te tabele są dostępne dla wszystkich użytkowników bez konieczności posiadania określonych uprawnień na poziomie elementu.

Dwa typy tabel #temp można tworzyć na podstawie określonych przypadków użycia: nieprostrybuowanych i rozproszonych.

  • Tabela #temp niedystrybuowana (mdf-backed) jest typem domyślnym. Składnia tworzenia i używania niedystrybuowanych tabel #temp w Fabric Data Warehouse jest podobna do tabel użytkowników, ale należy poprzedzić nazwę tabeli tymczasowej przez #.

     CREATE TABLE #table_name (
       Col1 data_type1,
       Col2 data_type2
     );
    
  • Tabele tymczasowe rozproszone (z wykorzystaniem formatu Parquet) można utworzyć za pomocą słowa kluczowego DISTRIBUTION=ROUND_ROBIN:

    CREATE TABLE #table_name (
    Col1 data_type1,
    Col2 data_type2
    ) WITH (DISTRIBUTION=ROUND_ROBIN);
    

W poprzednim skrypcie data_type1 i data_type2 są symbolami zastępczymi dla obsługiwanych typów danych w Fabric Data Warehouse.

Zaleca się używanie tabel rozproszonych typu #temp, ponieważ są one zgodne z normalnymi tabelami użytkowników; oferują nieograniczone przechowywanie, obsługę typów danych oraz operacje T-SQL.

Inne uwagi dotyczące tabel tymczasowych w Fabric Data Warehouse:

  • Składnia manipulowania danymi i definicji jest identyczna z tabelami użytkownika w Fabric Data Warehouse z prefiksem # dodanym do nazwy tabeli.
  • Tabele tymczasowe nie mają wpływu na wskazówki dotyczące zapytań dotyczących podróży w czasie i zawsze zwracają najnowsze dane w tabeli.
  • Tabele tymczasowe rozproszone można zmieniać za pomocą ALTER TABLE, ale nie można zmieniać tabel tymczasowych opartych na MDF.

Dopasowywanie danych źródłowych do magazynu danych

Tabele magazynu są wypełniane przez ładowanie danych z innego źródła danych. Aby osiągnąć pomyślne ładowanie, liczba i typy danych kolumn w danych źródłowych muszą być zgodne z definicją tabeli w magazynie.

Jeśli dane pochodzą z wielu magazynów danych, możesz przenosić dane do magazynu i przechowywać je w tabeli integracji. Gdy dane będą znajdować się w tabeli integracji, możesz użyć możliwości magazynu do zaimplementowania operacji przekształcania. Po przygotowaniu danych można wstawić je do tabel produkcyjnych.

Ograniczenia

Magazyn obsługuje wiele funkcji tabeli oferowanych przez inne bazy danych, ale nie wszystkie.

  • Globalne tabele tymczasowe nie są obecnie obsługiwane.

Na poniższej liście przedstawiono niektóre funkcje tabeli, które nie są obecnie obsługiwane.

  • Maksymalna liczba kolumn na tabelę: 1024

  • Obliczone kolumny

  • Widoki indeksowane

  • Tabele partycjonowane

  • Kolejność

  • Kolumny o rzadkiej zawartości

  • Synonimy

  • Wyzwalacze

  • Indeksy unikatowe

  • Typy definiowane przez użytkownika

  • Tabele zewnętrzne

  • Metadane obiektu magazynu są buforowane przez Fabric Data Warehouse w celu zapewnienia szybkiego dostępu do obiektów i ich definicji. W przypadku bardzo dużych magazynów z ponad 750 000 obiektów (na przykład tabel, widoków, procedur składowanych i funkcji) metadane nie są już buforowane przez system. Zamiast tego operacje schematu wysyłają zapytania bezpośrednio do magazynu metadanych. Zapewnia to stabilność systemu i zapobiega głodowaniu pamięci podręcznej w bardzo dużych bazach danych. Jednak operacje odświeżania schematu mogą trwać dłużej w porównaniu z mniejszymi magazynami, w których buforowanie metadanych jest włączone.

Ważne

Istnieją ograniczenia dotyczące dodawania ograniczeń tabeli lub kolumn podczas korzystania z kontroli źródła w magazynie.