Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule przedstawiono zagadnienia, zastrzeżenia i zalecenia dotyczące modelowania danych w usłudze Azure Databricks. Jest ona przeznaczona dla użytkowników, którzy konfigurują nowe tabele lub tworzenie obciążeń ETL, z naciskiem na zrozumienie zachowań usługi Azure Databricks mających wpływ na przekształcanie danych pierwotnych w nowy model danych. Decyzje dotyczące modelowania danych zależą od sposobu używania tabel w organizacji i obciążeniach. Wybrany model danych ma wpływ na wydajność zapytań, koszty obliczeń i koszty magazynowania. Obejmuje to wprowadzenie do podstawowych pojęć związanych z projektowaniem bazy danych za pomocą usługi Azure Databricks.
Ważne
Ten artykuł ma zastosowanie wyłącznie do tabel wspieranych przez Delta Lake, co obejmuje wszystkie tabele zarządzane przez Unity Catalog.
Usługa Azure Databricks umożliwia wykonywanie zapytań dotyczących innych zewnętrznych źródeł danych, w tym tabel zarejestrowanych w usłudze Lakehouse Federation. Każde zewnętrzne źródło danych ma różne ograniczenia, semantyka i gwarancje transakcyjne. Zobacz Wykonywanie zapytań dotyczących danych.
Pojęcia dotyczące zarządzania bazami danych
Lakehouse utworzone przy użyciu Azure Databricks współdzieli wiele składników i pojęć z innymi systemami hurtowni danych dla przedsiębiorstw. Podczas projektowania modelu danych należy wziąć pod uwagę następujące pojęcia i funkcje.
Transakcje w usłudze Azure Databricks
Usługa Azure Databricks ogranicza zakresy transakcji do poszczególnych tabel. Oznacza to, że usługa Azure Databricks nie obsługuje instrukcji obejmujących wiele tabel (nazywanych również transakcjami z wieloma instrukcjami).
W przypadku obciążeń modelowania danych przekłada się to na konieczność wykonywania wielu niezależnych transakcji, gdy pozyskanie rekordu źródłowego wymaga wstawiania lub aktualizowania wierszy w co najmniej dwóch tabelach. Każda z tych transakcji może zakończyć się powodzeniem lub niepowodzeniem niezależnie od innych transakcji, a kolejne zapytania muszą być odporne na niezgodność stanu z powodu niepowodzenia lub opóźnienia transakcji.
Klucze podstawowe i obce w usłudze Azure Databricks
Klucze podstawowe i obce są informacyjne i nie są wymuszane. Ten model jest typowy w wielu systemach baz danych opartych na chmurze przedsiębiorstwa, ale różni się od wielu tradycyjnych systemów relacyjnych baz danych. Zobacz Ograniczenia dotyczące usługi Azure Databricks.
Dołączanie do usługi Azure Databricks
Łączenia mogą występować jako wąskie gardła przetwarzania w dowolnym projekcie bazy danych. Podczas przetwarzania danych w usłudze Azure Databricks optymalizator zapytań stara się zoptymalizować plan sprzężeń, ale może mieć trudności, gdy pojedyncze zapytanie musi łączyć wyniki z wielu tabel. Optymalizator może również nie pominąć rekordów w tabeli, gdy parametry filtru znajdują się w polu w innej tabeli, co może spowodować pełne skanowanie tabeli.
Zobacz Praca z sprzężeniami w usłudze Azure Databricks.
Uwaga
Można użyć zmaterializowanych widoków, aby przyrostowo obliczyć wyniki niektórych operacji sprzężenia, ale inne sprzężenia nie są zgodne z zmaterializowanymi widokami. Zobacz zmaterializowane widoki.
Praca z zagnieżdżonymi i złożonymi typami danych
Usługa Azure Databricks obsługuje pracę z częściowo ustrukturyzowanymi źródłami danych, takimi jak JSON, Avro i ProtoBuff, oraz przechowywanie złożonych danych jako struktur, ciągów JSON oraz map i tablic. Zobacz Modelowanie częściowo ustrukturyzowanych danych.
Znormalizowane modele danych
Usługa Azure Databricks może dobrze współpracować z dowolnym modelem danych. Jeśli masz istniejący model danych, z którego chcesz wykonać zapytania lub przeprowadzić migrację do usługi Azure Databricks, należy ocenić wydajność przed zmiana architektury danych.
Jeśli tworzysz architekturę nowego magazynu typu lakehouse lub dodajesz zestawy danych do istniejącego środowiska, usługa Azure Databricks odradza użycie wysoce znormalizowanego modelu, takiej jak trzecia postać normalna (3NF).
Modele, takie jak schemat gwiazdy lub schemat płatka śniegu, działają dobrze w usłudze Azure Databricks, ponieważ w zapytaniach standardowych występuje mniej sprzężeń i mniej kluczy do synchronizacji. Ponadto posiadanie większej liczby pól danych w jednej tabeli umożliwia optymalizatorowi zapytań pomijanie dużych ilości danych przy użyciu statystyk na poziomie plików. Aby uzyskać więcej informacji na temat pomijania danych, zobacz Temat Pomijanie danych dla usługi Delta Lake.