Tworzenie i edytowanie tabel elastycznych

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 PostOperation dla Create message w 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 attribute1 przy sortowaniu według wartości attribute2
    • 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
  • 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.

  1. 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.
  2. Na pasku poleceń wybierz opcję Nowa tabela>Ustaw zaawansowane właściwości.
  3. W prawym panelu właściwości wprowadź nazwę wyświetlaną i nazwę w liczbie mnogiej.
  4. Rozwiń Zaawansowane opcje, a następnie wybierz Elastyczna jako Typ tabeli. Wybierz opcję Elastyczna jako typ tabeli
  5. 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:

Zobacz też

Tworzenie i edytowanie tabeli za pomocą usługi Power Apps