Vytvoření a úprava elastických tabulek
Elastická tabulka je tabulka spravovaná řešením Microsoft Dataverse. Elastické tabulky mají stejné známé uživatelské prostředí a rozhraní API jako standardní tabulky. Sdílejí mnoho aspektů a možností se standardními tabulkami, ale přicházejí s vlastními jedinečnými funkcemi a možnostmi, které využívají Azure Cosmos DB.
Stejně jako u standardních tabulek jsou elastické tabulky součástí využití kapacity databáze Dataverse.
Podívejte se na toto video, ve kterém se dozvíte o elastických tabulkách.
Kdy zvážit použití elastických tabulek Dataverse?
Elastické tabulky jsou navrženy tak, aby zpracovávaly velké objemy dat v reálném čase. S elastickými tabulkami můžete importovat, ukládat a analyzovat velké objemy dat bez problémů se škálovatelností, latencí nebo výkonem.
Elastické tabulky mají jedinečné možnosti pro flexibilní schéma, horizontální škálování a automatické odstraňování dat po určité době.
Elastické tabulky se automaticky škálují tak, aby ingestovaly desítky milionů řádků každou hodinu. Procesy na pozadí mohou porovnávat signály IoT, předvídat požadavky na údržbu a proaktivně plánovat techniky.
Přestavte si situaci, kdy je Contoso maloobchodníkem s miliony stávajících zákazníků. Contoso má velkou databázi zákazníků a snaží se zvýšit prodej a zároveň si udržet zákazníky. Na základě předchozí historie zákazníků chce mít 24hodinové akce bleskového výprodeje s různými kupony zacílenými na zákazníky a produkty. Společnost odhadla, že počet požadovaných kuponů bude přes 100 milionů na bleskovou prodejní kampaň. Marketing plánuje spustit více 24hodinových kampaní zacílených na různé segmenty zákazníků.
Požadavek na marketingovou aplikaci společnosti Contoso je, že musí být schopna zpracovat až 100 milionů nebo více údajů o kupónech během několika hodin, přečíst miliony kupónů za hodinu a odeslat kupóny zákazníkům.
Elastické tabulky se automaticky přizpůsobí tomuto scénáři s vysokou propustností.
Například ve výše uvedeném scénáři lze elastickou tabulku s názvem Kupón s miliony záznamů přidružit ke standardním tabulkám Dataverse jako Kontakt (informace o zákazníkovi) a Nabídka (vlastní standardní tabulka). Vzhledem k tomu, že elastické tabulky jsou izolovány od standardních tabulek, nebude negativně ovlivněn výkon celkové marketingové aplikace. Navíc funkce Doba života s elastickou tabulkou ( v tomto scénáři Kupón) umožňuje automatické odstranění dat po pevně stanovených obdobích a zajišťuje optimalizaci úložné kapacity.
Použijte elastické tabulky, když:
- Vaše data jsou nestrukturovaná nebo polostrukturovaná nebo pokud se neustále mění váš datový model.
- Potřebujete automatické horizontální škálování.
- Potřebujete zpracovat velký objem požadavků na čtení a zápis.
Použijte standardní tabulky, když:
- Vaše aplikace vyžaduje silnou konzistenci.
- Vaše aplikace vyžaduje relační modelování a transakční funkce napříč tabulkami a během fází provádění modulu plug-in.
- Vaše aplikace vyžaduje komplexní propojení.
Výběr tabulky by měl vycházet ze specifických potřeb vaší aplikace. Vhodná může být kombinace obou typů tabulek.
Horizontální škálování a výkon
Jak vaše obchodní data rostou, elastické tabulky poskytují neomezenou automatickou škálovatelnost na základě pracovního zatížení aplikace, a to jak pro velikost úložiště, tak pro propustnost, například počet vytvořených, aktualizovaných nebo odstraněných záznamů v daném časovém rámci.
Pokud váš obchodní scénář vyžaduje velmi velký objem zápisů dat, tvůrci aplikací mohou využít rozhraní Dataverse API pro více požadavků, například CreateMultiple
, UpdateMultiple
a DeleteMultiple
, abyste dosáhli větší propustnosti v rámci omezení propustnosti Dataverse. Další informace: Příručka pro vývojáře: Zprávy hromadných operací a Optimalizace výkonu pro hromadné operace
Automatické odebrání dat
Zásady TTL (Doba života) zajišťují, že vždy pracujete s nejaktuálnějšími a nejpřesnějšími informacemi a zároveň optimalizujete zdroje a snižujete rizika. Aktivní hodnota TTL je u záznamu nastavena v sekundách a je interpretována jako delta od doby, kdy byl záznam naposledy upraven.
Flexibilní schéma se sloupci JSON
Elastické tabulky vám umožňují uchovávat a dotazovat se na data s různými strukturami, aniž byste potřebovali předem definovaná schémata nebo migrace. Pro mapování importovaných dat na pevné schéma není třeba psát vlastní kód. Více informací: Příručka pro vývojáře: Dotazování na sloupce JSON v elastických tabulkách Elastické tabulky vám umožňují ukládat a dotazovat se na data s různými strukturami, aniž byste potřebovali předdefinovaná schémata nebo migrace. Pro mapování importovaných dat na pevné schéma není třeba psát vlastní kód. Další informace: Příručka pro vývojáře: Sloupce JSON dotazu v elastických tabulkách
Důležité informace při používání elastických tabulek
Přestože elastické tabulky jsou skvělé pro zpracování velkého množství požadavků ve velkém měřítku, výhody vyvažuje několik kompromisů, které je třeba mít na paměti:
- Elastické tabulky nepodporují transakce s více záznamy. To znamená, že více operací zápisu, které se odehrávají v rámci provádění jednoho požadavku, nejsou vzájemně transakční. Máte-li například krok synchronního modulu plug-in registrovaného ve fázi
PostOperation
proCreate message
v elastické tabulce, žádná chyba v modulu plugin nevrátí zpět vytvořený záznam v Dataverse. Ověření před moduly plug-in budou stále fungovat podle očekávání, protože běží před hlavní fází. - Elastické tabulky podporují silnou konzistenci pouze v rámci logické relace. Mimo kontext relace možná neuvidíte změny řádku okamžitě. Další informace: Příručka pro vývojáře: Úroveň konzistence
- Elastické tabulky nepodporují filtry v souvisejících tabulkách při vytváření zobrazení, pokročilém hledání nebo obecně jakýchkoli dotazech pomocí rozhraní API. Pokud často potřebujete filtrovat podle souvisejících sloupců tabulky, doporučujeme denormalizovat sloupce ze souvisejících tabulek, které vyžadují filtrování do samotné hlavní tabulky. Představte si maloobchodníka se dvěma elastickými tabulkami: zákazník a adresa. Jeden zákazník má mnoho adres. Chcete vrátit výsledky dotazu pro všechny zákazníky z tabulky zákazníků, jejichž hodnota města v tabulce adres je New York. V tomto příkladu při dotazu na tabulku zákazníků chcete použít filtr na sloupec města v související tabulce adres. Tento postup nepodporují elastické tabulky. Jedním ze způsobů, jak to udělat, je denormalizovat sloupec města do tabulky Zákazník tak, aby všechny hodnoty města zákazníků byly přítomny v samotné tabulce zákazníků.
Podpora funkce elastických tabulek
- Operace vytváření, načítání, aktualizace, odstraňování (CRUD), včetně vícenásobných operací API (pro vysokou propustnost), hromadného odstraňování a požadavků z modulů plug-in.
- Vztahy:
- 1:N
- N:1, když tabulka N je standardní tabulka
- Vlastnictví záznamu, sledování změn, auditování, Mobile Offline a vyhledávání Dataverse.
- Sloupec souboru s atributem typu souboru
Podpora funkcí zabezpečení
Elastické tabulky používají model zabezpečení Dataverse.
Při vytváření elastické tabulky můžete nastavit:
- Vlastníka jako uživatele nebo organizaci
- Zabezpečení na úrovni polí
Funkce, které aktuálně nejsou podporovány u elastických tabulek
Funkce tabulek, které aktuálně nejsou podporovány u elastických tabulek:
- Obchodní pravidla
- Grafy
- Toky obchodního procesu
- Jeden konektor Dataverse pro Power BI
- Vztahy N:N se standardními tabulkami
- Alternativní klíč
- Vyhledávání duplicit
- Počítané a souhrnné sloupce
- Sloupce měny
- Srovnání sloupců v dotazech
- Sdílení tabulek
- Složené indexy
- Kaskádové operace: odstranit, nadřadit, přiřadit, sdílet, zrušit sdílení
- Seřazení podle vyhledávacích sloupců
- Agregované dotazy:
- Jedinečná hodnota pro
attribute1
při seřazení podle hodnotyattribute2
- Stránkování při více jedinečných hodnotách
- Jedinečná hodnota s více seřazeními
- Seřazení a seskupení podle hodnoty dohromady
- Seskupení podle entity odkazu (levé vnější spojení)
- Jedinečná hodnota v tabulkách vlastněných uživateli
- Jedinečná hodnota pro
- Propojení tabulky
- Přístupové týmy
- Fronty
- Attachment
Datové typy sloupců aktuálně nejsou k dispozici u elastických tabulek:
- Měna
- Vzorec
- Formát celého čísla jiný než Žádný (Doba trvání, Kód jazyka a Časové pásmo)
- Vyhledávání na základě možnosti Zákazník
Vytvoření elastické tabulky
Elastickou tabulku vytvoříte jako každou jinou novou tabulku v Dataverse.
- Přihlaste se do Power Apps a v levém podokně navigace vyberte Tabulky. Pokud se položka nenachází v bočním podokně, vyberte možnost …Více a poté vyberte požadovanou položku.
- Na panelu příkazů vyberte Nová tabulka > Nastavit rozšířené vlastnosti.
- V pravém podokně vlastností zadejte Zobrazovaný název a Název v množném čísle.
- Rozbalte Rozšířené možnosti a poté vyberte Elastická jako Typ tabulky.
- Vyberte požadované vlastnosti a potom vyberte Uložit.
Pro elastickou tabulku se automaticky vytvoří sloupec Doba trvání. Podle potřeby můžete přidat hodnotu časového období v sekundách. Data jsou automaticky odstraněna po zadaném časovém období.
Více informací o tabulkách: Rozšířené možnosti
Známé problémy
- Když je na řádku použita doba životnosti (TTL) , řádek se po vypršení TTL odstraní z elastické tabulky. Pokud je synchronizován do datového jezera pomocí Azure Synapse Link for Dataverse před vypršením TTL, nebude z datového jezera odstraněn.
- Obnova k určitému bodu v čase neobnoví „aktualizované“ záznamy, protože aktualizace nejsou zálohovány. Obnoví se pouze vytvořené a odstraněné záznamy.
- Pokud je odstraněn konkrétní sloupec v elastické tabulce, hodnota sloupců se neodebere z řádků tabulky, pokud obsahuje data. Před odstraněním konkrétního sloupce odstraňte data ze všech řádků daného sloupce.
Vysokoobjemové elastické tabulky a správa limitů omezení API Dataverse
Použijte zprávy hromadných operací. To vám umožní dosáhnout 10násobné propustnosti se stejnými limity rozhraní Dataverse API. Vývojáři mohou odkazovat na další odkazy uvedené v části níže.
Pro vývojáře
Elastické tabulky mají jiné chování a schopnosti než standardní tabulky, když je vývojáři používají spolu s Dataverse API. Následující články pro vývojáře popisují tyto rozdíly:
- Elastické tabulky
- Vytvoření elastických tabulek pomocí kódu
- Používání elastických tabulek pomocí kódu
- Sloupce JSON dotazu v elastických tabulkách
- Zprávy o hromadných operací (Preview)
- Ukázkový kód elastické tabulky
- Odesílání paralelních žádostí
- Limity rozhraní API ochrany služeb