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.
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
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)
Wyszukiwania 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 okienku właściwości wprowadź tekst Wyświetlana nazwa i Nazwa 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 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.
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 zostanie zsynchronizowany z usługą Data Lake przy użyciu Azure Synapse Link for Dataverse przed wygaśnięciem, nie zostanie usunięty z repozytorium 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:
Pisanie wydajnych zapytań, tworzenie zasad indeksowania, zarządzanie zasobami i aprowizowanie ich w interfejsie API SQL i zestawie SDK za pomocą usługi Microsoft Azure Cosmos DB.