Поділитися через


Створення та редагування еластичних таблиць

Еластичний стіл - це стіл, керований за Microsoft Dataverse. Еластичні таблиці мають той самий знайомий користувацький досвід та API, які пропонуються зі стандартними таблицями. Вони мають багато спільних аспектів і опцій зі стандартними таблицями, але мають свої унікальні функції та можливості, які працюють на базі Azure Cosmos DB.

Як і у випадку зі стандартними таблицями, еластичні таблиці включаються разом із Dataverse використанням ємності бази даних.

Подивіться це відео, щоб дізнатися про еластичні столи.

Коли розглядати Dataverse еластичні столи?

Еластичні таблиці призначені для обробки великих обсягів даних у режимі реального часу. За допомогою еластичних таблиць ви можете імпортувати, зберігати та аналізувати великі обсяги даних без проблем із масштабованістю, затримкою чи продуктивністю.

Еластичні таблиці мають унікальні можливості для гнучкої схеми, горизонтального масштабування та автоматичного видалення даних через певний період часу.

Еластичні таблиці автоматично масштабуються, щоб поглинати десятки мільйонів рядків щогодини. Фонові процеси можуть зіставляти сигнали IoT, прогнозувати вимоги до технічного обслуговування та заздалегідь планувати технічних спеціалістів.

Розглянемо сценарій, коли Contoso є роздрібним продавцем із мільйонами існуючих клієнтів. Contoso має велику базу даних клієнтів і прагне збільшити продажі, утримуючи клієнтів. Ґрунтуючись на попередній історії клієнтів, вони хочуть проводити 24-годинні миттєві розпродажі з різними купонами, націленими на їхніх клієнтів і продукти. Вони підрахували, що кількість необхідних купонів становитиме 100 мільйонів плюс за кампанію швидкого розпродажу. Marketing планує запускати кілька 24-годинних кампаній, націлених на різні сегменти клієнтів.

Вимога до маркетингової програми Contoso полягає в тому, що вона повинна мати можливість отримувати до 100 мільйонів або більше деталей купонів протягом кількох годин, читати мільйони купонів на годину та надсилати купони клієнтам.

Еластичні столи автоматично масштабуються для цього сценарію з високою пропускною здатністю.

Наприклад, у наведеному вище сценарії еластичну таблицю з назвою Купон із мільйонами записів можна пов’язати зі Dataverse стандартними таблицями, такими як Контакт (інформація про клієнта) і Пропозиція (спеціальна стандартна таблиця). Оскільки еластичні таблиці ізольовані від стандартних, це не вплине негативно на продуктивність загального маркетингового застосування. Крім того, можливість тайм-до-лайф з еластичною таблицею (купоном в даному випадку) дозволяє автоматично видаляти дані через фіксовані періоди і забезпечувати оптимізацію ємності сховища.

Використовуйте еластичні столи, коли:

  • Ваші дані можуть бути неструктурованими чи напівструктурованими, або якщо ваша модель даних може постійно змінюватися.
  • Вам потрібне автоматичне горизонтальне масштабування.
  • Вам потрібно обробляти великий обсяг запитів на читання та запис.

Використовуйте стандартні таблиці, коли:

  • Ваша заявка вимагає чіткої послідовності.
  • Ваш додаток вимагає реляційного моделювання та потребує транзакційних можливостей у різних таблицях та на етапах виконання плагінів.
  • Ваша заявка вимагає складних об’єднань.

Вибір столу повинен ґрунтуватися на конкретних потребах вашого застосування. Доречною може бути комбінація обох типів таблиць.

Горизонтальне масштабування та продуктивність

У міру зростання ваших бізнес-даних еластичні таблиці забезпечують необмежену автоматичну масштабованість залежно від робочого навантаження вашої програми, як щодо розміру сховища, так і щодо пропускної здатності, наприклад, кількості записів, створених, оновлених або видалених за певний проміжок часу.

Якщо ваш бізнес-сценарій вимагає дуже великого обсягу запису даних, виробники додатків можуть використовувати Dataverse кілька API запитів, таких як CreateMultiple, UpdateMultiple і DeleteMultiple, щоб досягти більшої пропускної здатності в Dataverse межах обмежень. Додаткові відомості: Посібник розробника: Повідомлення про масові операції та оптимізація продуктивності для масових операцій

Автоматичне видалення даних

Політика Time to Live (TTL) гарантує, що ви завжди працюєте з найновішою та найточнішою інформацією, оптимізуючи ресурси та знижуючи ризики. Значення TTL в реальному часі встановлюється в секундах на записі та інтерпретується як дельта з моменту останньої зміни запису.

Гнучка схема зі стовпцями JSON

Еластичні таблиці дають змогу зберігати та запитувати дані з різною структурою без необхідності використання заздалегідь визначених схем або міграцій. Немає необхідності писати спеціальний код, щоб зіставити імпортовані дані з фіксованою схемою. Додаткові відомості: Посібник розробника: Запит на стовпці JSON в еластичних таблицях Еластичні таблиці дають змогу зберігати та запитувати дані з різною структурою без необхідності використання попередньо визначених схем або перенесень. Немає необхідності писати спеціальний код, щоб зіставити імпортовані дані з фіксованою схемою. Додаткові відомості: Посібник розробника: Запит на стовпці JSON в еластичних таблицях

Міркування при використанні еластичних столів

Незважаючи на те, що еластичні таблиці чудово підходять для обробки великих обсягів запитів у масштабі, переваги полягають у кількох компромісах, про які слід пам’ятати:

  • Еластичні таблиці не підтримують транзакції з кількома записами. Це означає, що кілька операцій запису, які відбуваються в рамках виконання одного запиту, не є транзакційними один з одним. Наприклад, якщо у вас є синхронний крок плагіна, зареєстрований на PostOperation сцені для Create message еластичного столу, будь-яка помилка в плагіні не відкотить створений запис Dataverse. Валідації в попередніх плагінах все одно працюватимуть належним чином, оскільки вони запускаються до основного етапу.
  • Еластичні таблиці підтримують сильну послідовність тільки в рамках логічної сесії. Поза контекстом сеансу зміни в рядку можуть відбутися не відразу. Додаткові відомості: Посібник для розробників: Рівень узгодженості
  • Еластичні таблиці не підтримують фільтри для пов’язаних таблиць під час створення подань, розширеного пошуку або будь-якого іншого запиту загалом за допомогою API. Якщо часто потрібно фільтрувати пов’язані стовпці таблиці, рекомендовано денормалізувати стовпці пов’язаних таблиць, які потрібно фільтрувати в самій основній таблиці. Розглянемо ритейлера з двома еластичними таблицями: клієнт і адреса. Один клієнт має багато адрес. Потрібно повернути результати запиту для всіх клієнтів із таблиці клієнтів, місто яких у таблиці адрес – Нью-Йорк. У цьому прикладі під час запиту до таблиці клієнтів потрібно застосувати фільтр до стовпця «Місто» пов’язаної таблиці адрес. Це не підтримується еластичними таблицями. Один зі способів зробити це – денормалізувати стовпець city у таблиці Customer, щоб усі значення міст клієнтів були присутні в самій таблиці клієнтів.

Еластичні столи мають опору

  • Операції створення, отримання, оновлення, видалення (CRUD), включаючи кілька операцій API (для високої пропускної здатності), масове видалення та запити від плагінів.
  • Відносини:
    • Один до багатьох
    • Багато-до-одного, коли таблиця N є стандартною таблицею
  • Реєструйте право власності, відстежуйте зміни, проводьте аудит, перебувайте в автономному режимі та Dataverse здійснюйте пошук.
  • Стовпець файлу з атрибутом типу файлу

Підтримка функцій безпеки

Еластичні Dataverse столи дотримуються моделі безпеки.

При створенні еластичного столу можна встановити:

  • Користувач або організація, що належить
  • Безпека на рівні поля

Функції, які наразі не підтримуються еластичними таблицями

Функції таблиць, які наразі не підтримуються еластичними таблицями:

  • Бізнес-правила
  • Діаграми
  • Цикли бізнес-процесів
  • Один Dataverse роз’єм для Power BI
  • Відношення «багато-до-багатьох» (N:N) до стандартних таблиць
  • альтернативний ключ
  • Пошук повторів
  • Обчислені стовпці та стовпці зведення
  • Стовпці валют
  • Порівняння стовпців у запитах
  • Спільний доступ до таблиці
  • Складені індекси
  • Каскадні операції: Видалити, Роз’єднати, Призначити, Поділитися, Скасувати спільний доступ
  • Упорядкування стовпців підстановки
  • Узагальнені запити:
    • Чітке значення attribute1 поки orderby за attribute2 значенням
    • Нумерація сторінок при наявності декількох відмінностей
    • Відрізняється з кратним порядком за
    • Упорядкування за та групування за разом
    • Групувати за сутністю зв’язку (ліве зовнішнє об’єднання)
    • Відмінність у таблицях, що належать користувачам 
  • З’єднання таблиць
  • Робочі групи доступу
  • Черги
  • Вкладення

Типи даних стовпців, наразі недоступні в еластичних таблицях:

  • Грошова одиниця
  • Формула
  • Формат цілих чисел, відмінний від Noone (Тривалість, код мови та часовий пояс)
  • Пошук на основі параметра «Клієнт»

Створюємо еластичний стіл

Ви створюєте еластичну таблицю так само, як і будь-яку іншу нову таблицю Dataverse.

  1. увійдіть у Power Apps систему та виберіть Таблиці на лівій панелі навігації. Якщо елемента немає на бічній панелі, виберіть ... Додатково та знайдіть потрібний елемент.
  2. Виберіть пункт Нова таблиця > Установлення додаткових властивостей на панелі команд.
  3. На правій панелі властивостей введіть коротке ім’я та ім’я у множині.
  4. Розгорніть розділ Додаткові параметри, а потім виберіть Еластичний як тип таблиці. Виберіть Elastic як таблицю Тип
  5. Виберіть потрібні властивості, а потім натисніть кнопку Зберегти.

Стовпець «Час до життя» автоматично створюється для еластичної таблиці. За потреби можна додати значення періоду часу в секундах. Дані автоматично видаляються через зазначений період часу.

Більше інформації про Таблиці: Додаткові параметри

Відомі проблеми

  • Коли time to living (TTL) використовується для рядка, рядок видаляється з еластичної таблиці після закінчення терміну дії TTL. Якщо його синхронізовано з озером даних, яке використовується Azure Synapse Link for Dataverse до закінчення терміну дії TTL, його не буде видалено з озера даних.
  • Відновлення на даний момент часу не відновлює «оновлені» записи, оскільки резервні копії оновлень не створюються. Відновлюються лише створені та видалені записи.
  • Якщо певний стовпець еластичної таблиці видалено, значення стовпців не видаляється з рядків таблиці, якщо в ньому є дані. Перш ніж видаляти певний стовпець, видаліть дані з усіх рядків стовпця.

Еластичні столи великого об’єму та керування Dataverse обмеженнями регулювання API

Використовуйте повідомлення про масові операції. Це дозволяє досягти 10-кратного збільшення пропускної здатності при тих же Dataverse лімітах дроселювання API. Розробники можуть посилатися на інші посилання, наведені в розділі нижче.

Для розробників

Еластичні таблиці мають іншу поведінку та можливості, ніж стандартні таблиці, коли розробники використовують їх з Dataverse API. У наступних статтях для розробників описані ці відмінності:

Див. також

Створюйте та редагуйте таблиці за допомогою Power Apps