Notatka
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.
Tabela elastyczna to tabela zarządzana przez usługę Microsoft Dataverse. Tabele elastyczne mają takie same, znane interfejsy użytkownika i interfejsy API, które są dostępne w standardowych tabelach. Mają one wiele aspektów i opcji dostępnych w tabelach standardowych, ale mają również unikatowe funkcje i możliwości obsługiwane przez usługę Azure Cosmos DB.
Tabele elastyczne są uwzględniane w użyciu pojemności dzienników usługi Dataverse.
Aby dowiedzieć się więcej o tabelach elastycznych, obejrzyj ten film wideo.
Kiedy należy rozważyć użycie tabel elastycznych Dataverse?
Tabele elastyczne są przeznaczone do obsługi dużych ilości danych w czasie rzeczywistym. Dzięki tabelom elastycznym można importować, zapisywać i analizować duże ilości danych bez problemów ze skalowalnością, opóźnieniami lub wydajnością.
Tabele elastyczne mają unikatowe możliwości w zakresie elastycznego schematu, poziomego skalowania i automatycznego usuwania danych po upływie pewnego czasu.
Tabele elastyczne automatycznie skalują się, aby obsłużyć dziesiątki milionów wierszy co godzinę. Procesy w tle mogą sortować sygnały IoT, przewidywać wymagania dotyczące konserwacji i w sposób aktywny planować pracę techników.
Rozważmy scenariusz, w którym firma Contoso jest sprzedawcą detalicznym z milionami aktualnych klientów. Firma Contoso ma dużą bazę danych klientów i chce zwiększyć sprzedaż, zachowując klientów. Na podstawie dotychczasowej historii zakupów klientów planują organizować 24-godzinne wyprzedaże błyskawiczne z różnymi kuponami kierowanymi do określonych klientów i dla wybranych produktów. Szacowano, że liczba wymaganych kuponów wyniesie ponad 100 milionów na kampanię sprzedaży błyskawicznej. Dział marketingu planuje przeprowadzić wiele 24-godzinnych kampanii przeznaczonych dla różnych segmentów klientów.
Wymagane jest, aby aplikacja marketingowa Contoso mogła pozyskać w ciągu kilku godzin co najmniej 100 milionów szczegółów kuponów, przeczytać miliony kuponów na godzinę i wysłać kupony do klientów.
Tabele elastyczne zostaną automatycznie zeskalowane dla tego scenariusza o wysokiej przepływności.
Na przykład w powyższym scenariuszu tabela elastyczna o nazwie Kupon z milionami rekordów może być skojarzona z tabelami standardowymi Dataverse, takimi jak Kontakt (informacje o kliencie) i Oferta (niestandardowa tabela standardowa). Ponieważ tabele elastyczne są oddzielone od tabel standardowych, nie wpłynie to negatywnie na wydajność całej aplikacji marketingowej. Ponadto funkcja czasu wygaśnięcia z elastyczną tabelą (Kupon w tym scenariuszu) umożliwia automatyczne usuwanie danych po ustalonych okresach i zapewnia optymalizację pojemności dziennika.
Używaj tabel elastycznych, gdy:
- Dane mogą być nieustrukturyzowane lub częściowo ustrukturyzowane lub jeśli model danych może ciągle się zmieniać.
- Konieczne jest automatyczne skalowanie poziome.
- Należy obsługiwać dużą ilość żądań odczytu i zapisu.
Używaj tabel standardowych, gdy:
- Aplikacja wymaga stałej spójności.
- Aplikacja wymaga modelowania relacyjnego oraz obsługi transakcji w tabelach i na etapach wykonywania dodatków plug-in.
- Twoja aplikacja wymaga złożonych złączeń.
Wybór tabeli powinien być oparty na konkretnych wymaganiach aplikacji. Kombinacja obu typów tabel może być odpowiednia.
Poziome skalowanie i wydajność
W miarę wzrostu ilości danych biznesowych tabele elastyczne zapewniają nieograniczoną skalowalność automatyczną na podstawie obciążenia aplikacji, zarówno pod względem rozmiaru, jak i przepływności, takich jak liczba rekordów utworzonych, zaktualizowanych lub usuniętych w danym przedziale czasu.
Jeśli w scenariuszu biznesowym jest wymagana bardzo duża liczba zapisów danych, twórcy aplikacji mogą używać wielu interfejsów API żądań Dataverse, takich jak CreateMultiple, UpdateMultiple i DeleteMultiple, aby osiągnąć większą wydajność w obrębie limitów przetwarzania Dataverse. Więcej informacji: Przewodnik dewelopera: komunikaty operacji zbiorczych oraz Optymalizowanie wydajności operacji zbiorczych
Automatyczne usuwanie danych
Zasady czasu życia (TTL) zapewniają, że zawsze pracujesz z najbardziej aktualnymi i dokładnymi informacjami, a jednocześnie pozwalają optymalizować zasoby i ograniczać ryzyko. Wartość TTL jest ustawiana dla rekordu w sekundach i interpretowana jako różnica czasu względem momentu ostatniej modyfikacji rekordu.
Elastyczny schemat z kolumnami JSON
Tabele elastyczne umożliwiają przechowywanie danych o zmiennych strukturach i tworzenie dotyczących ich zapytań bez konieczności wykonywania wstępnie zdefiniowanych schematów ani migracji. Nie trzeba pisać kodu niestandardowego, aby mapować zaimportowane dane na stały schemat. Więcej informacji: Przewodnik dla deweloperów: zapytania JSON o kolumny w tabelach elastycznych Tabele elastyczne umożliwiają przechowywanie danych i wykonywanie zapytań o różne struktury, bez konieczności stosowania predefiniowanych schematów lub migracji. Nie trzeba pisać kodu niestandardowego, aby mapować zaimportowane dane na stały schemat. Więcej informacji: Przewodnik dla deweloperów: tworzenie zapytań JSON o kolumny w tabelach elastycznych
Kwestie dotyczące korzystania z tabel elastycznych
Mimo że tabele elastyczne są doskonałe do obsługi dużej liczby żądań na dużą skalę, oprócz zalet mają one również wady, o których należy pamiętać:
- Tabele elastyczne nie obsługują transakcji z wieloma rekordami. Oznacza to, że wiele operacji zapisu odbywa się w ramach wykonywania pojedynczego żądania, ale nie wchodzą ze sobą w transakcje. Jeśli na przykład masz synchroniczny krok wtyczki zarejestrowany na etapie
PostOperationdlaCreate messagew tabeli elastycznej, jakikolwiek błąd w tej wtyczce nie spowoduje wycofania utworzonego rekordu w usłudze Dataverse. Weryfikacje wstępnie uruchomionych dodatków plug-in będą nadal działać zgodnie z oczekiwaniami, ponieważ są uruchamiane przed rozpoczęciem etapu głównego. - Tabele elastyczne obsługują silną spójność tylko w obrębie sesji logicznej. Poza kontekstem sesji zmiany w wierszu mogą nie być od razu widoczne. Więcej informacji: Przewodnik dla deweloperów: poziom spójności
- Tabele elastyczne natomiast nie obsługują filtrów w tabelach pokrewnych podczas tworzenia widoków, szukania zaawansowanego lub wszelkich zapytań ogólnych korzystających z interfejsu API. Jeśli często jest konieczne filtrowanie kolumn pokrewnych tabel, zaleca się denormalizację kolumn z tabel pokrewnych, co wymaga filtrowania w samej tabeli głównej. Rozważmy sprzedawcę detalicznego z dwiema tabelami elastycznymi: klient i adres. Jeden klient ma wiele adresów. Mają zostać zwrócone wyniki zapytania dotyczące wszystkich klientów z tabeli klientów, których wartość miasta w tabeli adresów to Nowy Jork. W tym przykładzie podczas wykonywania zapytań o tabelę klientów należy zastosować filtr do kolumny miasta w pokrewnej tabeli adresów. To funkcja nie jest obsługiwana w tabelach elastycznych. Jednym ze sposobów na to, aby mogła ona działać, jest denormalizacja kolumny miasta w tabeli Klient, aby w tabeli klientów znajdowały się wszystkie wartości miasta klienta.
Obsługa funkcji tabel elastycznych
- Operacje tworzenia, odczytu, aktualizacji i usuwania (CRUD), w tym wiele operacji API (w celu uzyskania wysokiej przepustowości), usuwanie zbiorcze oraz żądania z wtyczek.
- Relacje:
- Jeden-do-wielu
- Relacja wiele-do-jednego, gdy tabela N jest tabelą standardową
- Własność rekordu, śledzenie zmian, audyt, tryb offline na urządzeniach mobilnych i wyszukiwanie w usłudze Dataverse.
- Kolumna pliku z atrybutem typu pliku
Obsługa funkcji zabezpieczeń
Tabele elastyczne są zgodne z modelem zabezpieczeń Dataverse.
Podczas tworzenia tabeli elastycznej można ustawić następujące elementy:
- Własność użytkownika lub organizacji
- Zabezpieczenia na poziomie pola
Funkcje, które nie są obecnie obsługiwane w tabelach elastycznych
Funkcje tabeli, które nie są obecnie obsługiwane w tabelach elastycznych:
- Reguły biznesowe
- Wykresy
- Przepływy procesów biznesowych
- Jeden łącznik Dataverse dla usługi Power BI
- Relacje wiele-do-wielu (N:N) z tabelami standardowymi
- Klucz alternatywny
- Wykrywanie duplikatów
- Kolumny obliczane i agregowane
- Kolumny waluty
- Porównywanie kolumn w zapytaniach
- Udostępnianie tabel
- Indeksy złożone
- Operacje kaskadowe: usuwanie, zmienianie elementu nadrzędnego, przypisywanie, udostępnianie, cofanie udostępniania
- Porządkowanie kolumn wyszukiwania
- Agregowanie zapytań:
- Unikalna wartość elementu
attribute1przy sortowaniu według wartościattribute2 - Dzielenie na strony w przypadku różnych oddzielnych elementów
- Różne oddzielne elementy z porządkowaniem według wielu wartości
- Porządkowanie według i grupowanie razem według
- Grupowanie według encji połączonej (lewe sprzężenie zewnętrzne)
- Różne oddzielne elementy w tabelach będących własnością użytkowników
- Unikalna wartość elementu
- Połączenia tabel
- Zespoły mające dostęp
- Kolejki
- Załącznik
- Funkcje importowania i eksportowania danych tabeli.
Typy danych kolumn są obecnie niedostępne w tabelach elastycznych:
- Waluta
- Formuła
- Format liczb całkowitych inny niż Brak (Czas trwania, Kod języka i Strefa czasowa)
- Wyszukiwanie na podstawie opcji „Klient”
Tworzenie tabel elastycznych
Tabelę elastyczną tworzy się tak samo jak każdą inną nową tabelę Dataverse.
- Zaloguj się do usługi Power Apps i wybierz pozycję Tabele w lewym okienku nawigacji. Jeśli elementu nie ma w okienku panelu bocznego, wybierz …Więcej, a następnie wybierz żądany element.
- Na pasku poleceń wybierz opcję Nowa tabela>Ustaw zaawansowane właściwości.
- W prawym panelu właściwości wprowadź nazwę wyświetlaną i nazwę w liczbie mnogiej.
- Rozwiń Zaawansowane opcje, a następnie wybierz Elastyczna jako Typ tabeli.
- Wybierz właściwości, a następnie wybierz opcję Zapisz.
Kolumna czasu życia jest tworzona automatycznie w tabeli elastycznej. W razie potrzeby można dodać wartość okresu w sekundach. Dane są automatycznie usuwane po upływie tego okresu.
Więcej informacji o Tablicach: Opcje zaawansowane
Znane problemy
- Jeśli w wierszu zostanie określony czas wygaśnięcia (TTL), wiersz zostanie usunięty z tabeli elastycznej po upłynięciu czasu TTL. Jeśli dane zostaną zsynchronizowane do jeziora danych przy użyciu Azure Synapse Link for Dataverse przed wygaśnięciem TTL, nie zostaną usunięte z jeziora danych.
- Przywracanie do punktu w czasie nie przywraca „zaktualizowanych” rekordów, ponieważ aktualizacje nie są tworzone w kopii zapasowej. Przywracane są tylko utworzone i usunięte rekordy.
- Jeśli określona kolumna w tabeli elastycznej zostanie usunięta, wartość kolumny nie zostanie usunięta z wierszy tabeli, jeśli zawiera dane. Przed usunięciem określonej kolumny usuń dane ze wszystkich wierszy tej kolumny.
Tabele elastyczne o dużym wolumenie i zarządzanie limitami ograniczania interfejsu API usługi Dataverse
Użyj komunikatów operacji zbiorczych. Pozwala to osiągnąć 10-krotnie większą przepustowość przy tych samych limitach ograniczania interfejsu API Dataverse. Deweloperzy mogą się odwoływać do większej liczby łączy podanych w poniższej sekcji.
Dla deweloperów
Elastyczne tabele mają inne zachowanie i możliwości niż standardowe tabele, gdy deweloperzy używają ich z interfejsami API Dataverse. Poniższe artykuły dla deweloperów opisują te różnice:
- Tabele elastyczne
- Tworzenie tabel elastycznych przy użyciu kodu
- Używanie tabel elastycznych przy użyciu kodu
- Wykonywanie zapytań względem kolumn JSON w tabelach elastycznych
- Komunikaty dotyczące operacji zbiorczych (wersja zapoznawcza)
- Przykładowy kod tabeli elastycznej
- Wysyłaj równoległe żądania
- Limity API ochrony usługi