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.

Podobnie jak w przypadku tabel standardowych, tabele elastyczne są dołączone do użycia wydajności bazy danych Dataverse.

Obejrzyj ten film, aby dowiedzieć się więcej o tabelach elastycznych.

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 są automatycznie skalowane do nawet dziesięciu milionów wierszy na 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 wcześniejszej historii klienta chcą mieć 24-godzinne zdarzenia sprzedaży błyskawicznej z różnymi kuponami dla klientów i 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 tabelą elastyczną (Kupon w tym scenariuszu) pozwala na automatyczne usuwanie danych po ustalonych okresach i zapewnia optymalizację wydajności magazynu.

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.
  • W aplikacji są wymagane złożone sprzężenia.

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ę zwiększania ilości danych biznesowych tabele elastyczne zapewniają nieograniczoną automatyczną skalowalność w zależności od obciążenia aplikacji, zarówno jeśli chodzi o rozmiar magazynu i wydajność, na przykład liczbę utworzonych, zaktualizowanych lub usuniętych rekordów w danym okresie.

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 dla deweloperów: komunikaty o operacjach zbiorczych oraz Optymalizacja wydajności na przykład w przypadku operacji zbiorczych

Automatyczne usuwanie danych

Zasady dotyczące czasu wygaśnięcia (TTL) zapewniają, że zawsze pracujesz z najbardziej aktualnymi i dokładnymi informacjami, jednocześnie optymalizując zasoby i zmniejszając ryzyko. Wartość czasu wygaśnięcia na żywo jest ustawiana w sekundach dla rekordu i jest interpretowana jako różnica od czasu 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 dla etapu PostOperation zarejestrowano synchroniczny krok dodatku plug-in Create message w tabeli elastycznej, żadne błędy w tym dodatku plug-in nie wycofają rekordu utworzonego 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ą spójność tylko w sesji logicznej. Poza kontekstem sesji zmiany mogą nie być natychmiast widoczne w wierszu. 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, pobierania, aktualizowania i usuwania (CRUD), w tym wiele operacji interfejsów API (o wysokiej przepływności), usuwanie zbiorcze i żądania z dodatków plug-in.
  • Relacje:
    • Jeden-do-wielu
    • Wiele do jednego, gdy tabela N jest standardową tabelą
  • Własność rekordu, śledzenie zmian, inspekcja, środowisko mobilne w trybie offline i wyszukiwanie w usłudze Dataverse.
  • Kolumna Plik z atrybutem typu plik

Obsługa funkcji zabezpieczeń

Tabele zabezpieczeń są zgodne z modelem zabezpieczeń Dataverse.

Podczas tworzenia tabeli elastycznej można ustawić następujące elementy:

  • Należąca do 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
  • Atrybuty obliczane i kolumny zestawienia
  • 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ń:
    • Różne wartości atrybutu attribute1 w przypadku porządkowanie 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 linku (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

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)
  • Wyszukiwania 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 okienku właściwości wprowadź tekst Wyświetlana nazwa i Nazwa 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 wygaśnięcia jest tworzona automatycznie dla 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 jest on synchronizowany z data lake przy użyciu Azure Synapse Link for Dataverse przed upłynięciem czasu TTL, nie zostanie on usunięty z data lake.
  • 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.

Duże tabele i zarządzanie ograniczeniami interfejsów API w Dataverse

Zobacz temat Komunikaty operacji zbiorczych. Pozwala to uzyskać 10-krotną wydajność przy użyciu tego samego 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