Създаване и редактиране на еластични таблици
Еластичната маса е таблица, управлявана от Microsoft Dataverse. Еластичните таблици идват със същия познат потребителски опит и API, които се предлагат със стандартни таблици. Те споделят много аспекти и опции със стандартните таблици, но идват със свои собствени уникални функции и възможности, които се захранват от Azure Cosmos DB.
Както при стандартните таблици, еластичните таблици са включени в използването на капацитета на вашата Dataverse база данни.
Гледайте това видео, за да научите за еластичните маси.
Кога да разгледаме Dataverse еластични маси?
Еластичните таблици са предназначени да обработват големи обеми от данни в реално време. С еластичните таблици можете да импортирате, съхранявате и анализирате големи обеми от данни без проблеми с мащабируемостта, закъснението или производителността.
Еластичните таблици имат уникални възможности за гъвкава схема, хоризонтално мащабиране и автоматично премахване на данни след определен период от време.
Еластичните таблици автоматично се мащабират, за да поглъщат десетки милиони редове на всеки час. Фоновите процеси могат да събират сигналите на IoT, да прогнозират изискванията за поддръжка и проактивно да планират техниците.
Помислете за сценарий, при който Contoso е търговец на дребно с милиони съществуващи клиенти. Contoso разполага с голяма база данни от клиенти и се стреми да увеличи продажбите, като същевременно запази клиентите. Въз основа на предишната история на клиентите, те търсят да имат 24-часови събития за флаш продажба с различни купони, насочени към техните клиенти и продукти. Те са изчислили, че броят на необходимите купони ще бъде 100 милиона плюс на флаш кампания за продажба. Маркетингът планира да провежда множество 24-часови кампании, насочени към различни клиентски сегменти.
Изискването за маркетинговото приложение на Contoso е, че трябва да може да поглъща до 100 милиона или повече подробности за купона в рамките на няколко часа, да чете милиони купони на час и да изпраща купони на клиентите.
Еластичните таблици автоматично ще се мащабират за този сценарий с висока пропускателна способност.
Например в горния сценарий еластична таблица с име "Купон " с милиони записи може да бъде свързана със Dataverse стандартни таблици като "Контакт " (информация за клиента) и "Оферта " (стандартна таблица по избор). Тъй като еластичните таблици са изолирани от стандартните таблици, производителността за цялостното маркетингово приложение няма да бъде отрицателно повлияна. В допълнение, възможността за време за живот с еластична таблица (купон в този сценарий) позволява автоматично премахване на данни след фиксирани периоди и осигуряване на оптимизиране на капацитета за съхранение.
Използвайте еластични маси, когато:
- Вашите данни може да са неструктурирани или полуструктурирани, или ако вашият модел на данни може постоянно да се променя.
- Имате нужда от автоматично хоризонтално мащабиране.
- Трябва да се справите с голям обем заявки за четене и писане.
Използвай стандартни таблици, когато:
- Вашата кандидатура изисква силна последователност.
- Вашето приложение изисква релационно моделиране и се нуждае от възможност за транзакции в таблици и по време на етапите на изпълнение на плъгини.
- Вашата кандидатура изисква сложни съединения.
Изборът на таблица трябва да се основава на специфичните нужди на вашата кандидатура. Комбинация от двата типа таблици може да е подходяща.
Хоризонтално мащабиране и производителност
Тъй като вашите бизнес данни растат, еластичните таблици осигуряват неограничена автоматична мащабируемост въз основа на работното натоварване на приложението, както за размера на хранилището, така и за пропускателната способност, като например броя на записите, създадени, актуализирани или изтрити в даден период от време.
Ако вашият бизнес сценарий изисква много голям обем от записи на данни, създателите на приложения могат да използват API за множество заявки, като Dataverse например, CreateMultiple
и UpdateMultiple
за да постигнат по-голяма производителност в рамките DeleteMultiple
на Dataverse ограниченията за дроселиране. Повече информация: Ръководство за разработчици: Съобщения за групови операции и оптимизиране на производителността за групови операции
Автоматично премахване на данни
Политиките на Time to live (TTL) гарантират, че винаги работите с най-актуалната и точна информация, като същевременно оптимизирате ресурсите и намалявате риска. Стойността на TTL live се задава в секунди на запис и се интерпретира като делта от момента на последна промяна на записа.
Гъвкава схема с колони JSON
Еластичните таблици ви позволяват да съхранявате и заявявате данни с различни структури, без да е необходимо предварително дефинирани схеми или миграции. Няма нужда да пишете персонализиран код, за да нанесете импортираните данни във фиксирана схема. Повече информация: Ръководство за разработчици: Заявки JSON колони в еластични таблици Еластичните таблици ви позволяват да съхранявате и заявявате данни с различни структури, без да е необходимо предварително дефинирани схеми или миграции. Няма нужда да пишете персонализиран код, за да нанесете импортираните данни във фиксирана схема. Повече информация: Ръководство за разработчици: Заявка JSON колони в еластични таблици
Съображения, когато използвате еластични таблици
Въпреки че еластичните таблици са чудесни за обработка на голям обем заявки в мащаб, предимствата идват с няколко компромиса, които трябва да се имат предвид:
- Еластичните таблици не поддържат транзакции с множество записи. Това означава, че множество операции за запис, които се случват като част от едно изпълнение на заявка, не са транзакционни помежду си. Например, ако имате синхронна стъпка на добавка,
PostOperation
регистрирана на сцената заCreate message
еластична таблица, всяка грешка във вашата добавка няма да върне създадения запис Dataverse. Валидиранията в preplug-ins все още ще работят според очакванията, тъй като те се изпълняват преди основната сцена. - Еластичните таблици поддържат силна последователност само в рамките на логическа сесия. Извън контекста на сесията може да не виждате веднага промените в реда. Повече информация: Ръководство за разработчици: Ниво на съгласуваност
- Еластичните таблици не поддържат филтри в свързани таблици при създаване на изгледи, разширено търсене или каквато и да е заявка като цяло с помощта на API. Ако често се налага да филтрирате по свързани колони на таблици, препоръчваме ви да денормализирате колоните от свързани таблици, които трябва да филтрират в самата основна таблица. Помислете за търговец на дребно с две еластични маси: клиент и адрес. Един клиент има много адреси. Искате да върнете резултатите от заявката за всички клиенти от таблицата с клиенти, чиято стойност на града в адресната таблица е Ню Йорк. В този пример, когато правите заявка към таблицата с клиенти, искате да приложите филтър в колоната град на свързаната адресна таблица. Това не се поддържа за еластични таблици. Един от начините да направите тази работа е да денормализирате колоната на града в таблицата "Клиент", така че всички стойности на града на клиентите да присъстват в самата таблица с клиенти.
Еластични маси разполагат с подкрепа
- Създаване, извличане, актуализиране, изтриване (CRUD) операции, включително API множество операции (за висока пропускателна способност), групово изтриване, и искания от добавки.
- Отношения:
- Едно към много
- Много към едно, когато таблицата N е стандартна таблица
- Запазване на собствеността, проследяване на промените, проверка, мобилен офлайн и Dataverse търсене.
- Колона на файл с атрибут тип файл
Поддръжка на функции за сигурност
Еластичните маси се придържат към модела за Dataverse сигурност.
Когато създавате еластична маса, можете да настроите:
- Собственост на потребител или организация
- Защита на ниво поле
Функции, които в момента не се поддържат с еластични таблици
Функции на таблицата, които в момента не се поддържат с еластични таблици:
- Бизнес правила
- Диаграми
- Потоци на бизнес процес
- Един Dataverse конектор за Power BI
- Релации "много към много" (N:N) към стандартни таблици
- алтернативен ключ
- Откриване на дублиращи се записи
- Изчислени и сборни колони
- Валутни колони
- Сравнение на колони в заявки
- Споделяне на таблица
- Композитни индекси
- Каскадни операции: Изтриване, Повторно родителство, Присвояване, Споделяне, Отмяна на споделянето
- Подреждане по справочни колони
- Агрегатни заявки:
- Отделна стойност на
attribute1
while orderby onattribute2
value - Страниране, когато има няколко различни
- Различен с множествена поръчка от
- Подреди по и групирай заедно
- Групиране по обект на връзка (ляво външно съединение)
- Различно в таблиците, притежавани от потребителя
- Отделна стойност на
- Връзки към таблици
- Екипи за достъп
- Опашки
- Привързаност
Типовете данни за колони в момента не са налични с еластични таблици:
- Валута
- Формула
- Цял числов формат, различен от "Няма" (времетраене, код на езика и часова зона)
- Търсене въз основа на опцията "Клиент"
Създаване на еластична маса
Създавате еластична маса точно като всяка друга нова таблица в Dataverse.
- влезте в Power Apps и изберете Таблици в левия навигационен екран. Ако елементът не е в страничния панел, изберете …Още и след това изберете желания елемент.
- Изберете Нова таблица > Задаване на разширени свойства в командната лента.
- В десния екран със свойства въведете Показвано име и Име в множествено число.
- Разгънете Разширени опции и след това изберете Еластичен като таблица Тип.
- Изберете желаните свойства и след това изберете Запиши.
Колоната "Време за живот" се създава автоматично за еластична таблица. Можете да добавите стойността за период от време в секунди, както се изисква. Данните се премахват автоматично след зададения период от време.
Повече информация за таблиците: Разширени опции
Познати проблеми
- Когато се използва време за живот (TTL) на ред, редът се изтрива от еластичната таблица, когато TTL изтече. Ако е синхронизиран с езеро за данни, използвайки Azure Synapse Link for Dataverse преди изтичането на срока на TTL, той няма да бъде изтрит от езерото с данни.
- Point in time restore не възстановява "актуализирани" записи, тъй като актуализациите не се архивират. Възстановяват се само създадени и изтрити записи.
- Ако определена колона в еластична таблица се изтрие, стойността на колоните не се премахва от редовете на таблицата, ако има данни. Преди да изтриете конкретна колона, изтрийте данните от всички редове за колоната.
Еластични таблици с голям обем и управление на Dataverse ограниченията за дроселиране на API
Използвайте съобщения за групови операции. Това ви позволява да постигнете 10 пъти по-голяма пропускателна способност със същите Dataverse граници на дроселиране на API. Разработчиците могат да се позовават на повече връзки, предоставени в раздела по-долу.
За разработчици
Еластичните таблици имат различно поведение и възможности от стандартните таблици, когато разработчиците ги използват с Dataverse API. Следните статии за разработчици описват тези разлики:
- Еластични маси
- Създаване на еластични таблици с помощта на код
- Използване на еластични таблици с помощта на код
- Заявка за колони JSON в еластични таблици
- Съобщения за групова операция (предварителен преглед)
- Еластична таблица примерен код
- Изпращане на паралелни заявки
- Ограничения на API за защита на услугите