Crear y editar tablas elásticas
Una tabla elástica es una tabla gestionada por Microsoft Dataverse. Las tablas elásticas vienen con la misma experiencia de usuario familiar y API que se ofrecen con las tablas estándar. Comparten muchos aspectos y opciones con las tablas estándar, pero vienen con sus propias características y capacidades únicas que funcionan con Azure. Cosmos DB.
Al igual que con las mesas estándar, las mesas elásticas se incluyen con su uso de la capacidad de la base de datos de Dataverse.
Mire este vídeo para aprender sobre las tablas elásticas.
¿Cuándo considerar las tablas elasticas de Dataverse?
Las tablas elásticas están diseñadas para manejar grandes volúmenes de datos en tiempo real. Con tablas elásticas, puede importar, almacenar y analizar grandes volúmenes de datos sin problemas de escalabilidad, latencia o rendimiento.
Las tablas elásticas tienen capacidades únicas para esquemas flexibles, escalado horizontal y eliminación automática de datos después de un período de tiempo.
Las tablas elásticas escalan automáticamente para ingerir decenas de millones de filas cada hora. Los procesos en segundo plano pueden recopilar las señales de IoT, predecir los requisitos de mantenimiento y programar a los técnicos de manera proactiva.
Considere un escenario en el que Contoso es un minorista con millones de clientes existentes. Contoso tiene una gran base de datos de clientes y busca aumentar las ventas mientras retiene a los clientes. Con base en el historial anterior de los clientes, buscan tener eventos de venta relámpago las 24 horas con diferentes cupones dirigidos a sus clientes y productos. Han estimado que la cantidad de cupones requeridos será de más de 100 millones por campaña de venta flash. Marketing planea ejecutar múltiples campañas de 24 horas dirigidas a diferentes segmentos de clientes.
El requisito para la aplicación de marketing de Contoso es que debe poder ingerir hasta 100 millones o más detalles de cupones en unas pocas horas, leer millones de cupones por hora y enviar cupones a los clientes.
Las tablas elásticas escalarán automáticamente para este escenario de alto rendimiento.
Por ejemplo, en el escenario anterior, una tabla elástica llamada Cupón con millones de registros se puede asociar con tablas estándar Dataverse como Contacto (información del cliente) y Oferta (una tabla estándar personalizada). Dado que las tablas elásticas están aisladas de las tablas estándar, el rendimiento de la aplicación de marketing general no se verá afectado negativamente. Además, la capacidad de tiempo de vida con tabla elástica (Cupón en este escenario) permite la eliminación de datos automáticamente después de períodos fijos y garantiza la optimización de la capacidad de almacenamiento.
Use tablas elásticas cuando:
- Sus datos pueden no estar estructurados o semiestructurados, o si su modelo de datos puede cambiar constantemente.
- Necesita escalado horizontal automático.
- Debe manejar un gran volumen de solicitudes de lectura y escritura.
Use tablas estándar cuando:
- Su aplicación requiere una fuerte consistencia.
- Su aplicación requiere modelado relacional y necesita capacidad transaccional entre tablas y durante las etapas de ejecución del complemento.
- Su aplicación requiere uniones complejas.
La elección de la mesa debe basarse en las necesidades específicas de su aplicación. Una combinación de ambos tipos de tablas puede ser apropiada.
Escalado horizontal y rendimiento
A medida que crecen los datos de su negocio, las tablas elásticas brindan escalabilidad automática ilimitada en función de la carga de trabajo de su aplicación, tanto para el tamaño de almacenamiento como para el rendimiento, como la cantidad de registros creados, actualizados o eliminados en un período de tiempo determinado.
Si su escenario comercial requiere un volumen muy grande de escritura de datos, los creadores de aplicaciones pueden usar API de Dataverse de solicitud múltiple, como CreateMultiple
, UpdateMultiple
y DeleteMultiple
, para lograr un mayor rendimiento dentro de los límites de regulación de Dataverse. Más información: Guía para desarrolladores: Mensajes de operaciones masivas y Optimizar el rendimiento para operaciones masivas
Eliminación automática de datos
Las políticas de tiempo de vida (TTL) aseguran que siempre esté trabajando con la información más actualizada y precisa, mientras optimiza los recursos y reduce el riesgo. El valor TTL en vivo se establece en segundos en un registro y se interpreta como un delta desde el momento en que se modificó por última vez un registro.
Esquema flexible con columnas JSON
Las tablas elásticas le permiten almacenar y consultar datos con diferentes estructuras, sin necesidad de esquemas o migraciones predefinidos. No es necesario escribir código personalizado para asignar los datos importados a un esquema fijo. Más información: Guía para desarrolladores: consultar columnas JSON en tablas elásticas Las tablas elásticas le permiten almacenar y consultar datos con diferentes estructuras, sin la necesidad de migraciones o esquemas predefinidos. No es necesario escribir código personalizado para asignar los datos importados a un esquema fijo. Más información: Guía para desarrolladores: Consultar columnas JSON en tablas elásticas
Consideraciones al usar las tablas elásticas
Si bien las tablas elásticas son excelentes para manejar un gran volumen de solicitudes a gran escala, las ventajas vienen con algunas compensaciones, que deben tenerse en cuenta:
- Las tablas elásticas no admiten transacciones de registros múltiples. Esto significa que varias operaciones de escritura que ocurren como parte de la ejecución de una sola solicitud no son transaccionales entre sí. Por ejemplo, si tiene un paso de complemento síncrono registrado en el escenario
PostOperation
paraCreate message
en una tabla elástica, cualquier error en su complemento no revertirá el paso creado. grabar en Dataverse. Las validaciones en complementos previos seguirán funcionando como se espera, ya que se ejecutan antes del escenario principal. - Las tablas elásticas admiten una consistencia fuerte solo dentro de una sesión lógica. Fuera del contexto de la sesión, es posible que no vea cambios en una fila inmediatamente. Más información: Guía para desarrolladores: nivel de consistencia
- Las tablas elásticas no admiten filtros en tablas relacionadas al crear vistas, búsqueda avanzada o cualquier consulta en general mediante la API. Si necesita filtrar con frecuencia en columnas de tablas relacionadas, le recomendamos que desnormalice las columnas de las tablas relacionadas, lo que necesita filtrar en la tabla principal. Considere un minorista con dos tablas elásticas: cliente y dirección. Un cliente tiene muchas direcciones. Desea devolver los resultados de la consulta para todos los clientes de la tabla de clientes cuyo valor de ciudad en la tabla de direcciones sea Nueva York. En este ejemplo, al consultar la tabla de clientes, desea aplicar un filtro en la columna de ciudad de la tabla de direcciones relacionada. Esto no se admite para tablas elásticas. Una forma de hacer que esto funcione es desnormalizar la columna de la ciudad en la tabla de clientes para que todos los valores de ciudad de los clientes estén presentes en la tabla de clientes.
Compatibilidad con funciones de tablas elásticas
- Operaciones de creación, recuperación, actualización y eliminación (CRUD), incluidas operaciones múltiples de API (para un alto rendimiento), eliminación masiva y solicitudes de complementos.
- Relaciones:
- Uno a varios
- Muchos a uno cuando la tabla N es una tabla estándar
- Propiedad de registros, seguimiento de cambios, auditoría, móvil sin conexión y búsqueda de Dataverse.
- Columna de archivo con atributo de tipo de archivo
Compatibilidad con características de seguridad
Las tablas elásticas cumplen el modelo de seguridad de Dataverse.
Al crear una tabla elástica, puede configurar:
- Propiedad del usuario o de la organización
- Seguridad de nivel de campo
Funciones actualmente no admitidas con tablas elásticas
Funciones de tabla actualmente no admitidas con tablas elásticas:
- Reglas de negocio
- Gráficos
- Flujos de proceso de negocio
- Un conector de Dataverse para Power BI
- Relaciones N:N (varios a varios) con tablas estándar
- Clave alternativa
- Detección de duplicados
- Columnas calculadas y consolidadas
- Columnas de moneda
- Comparación de columnas en consultas
- Uso compartido de tablas
- Índices compuestos
- Operaciones en cascada: Eliminar, Reparentar, Asignar, Compartir, Dejar de compartir
- Ordenación en columnas de búsqueda
- Consultas agregadas:
- Valor distinto de
attribute1
cuando orderby es según el valorattribute2
- Paginación cuando se tienen múltiples valores distintos
- Distinto con múltiples ordenar por
- Ordenar por y Agrupar por juntos
- Agrupar por según entidad de enlace (combinación externa izquierda)
- Distinto con tablas propiedad del usuario
- Valor distinto de
- Conexiones de tabla
- Equipos de acceso
- Colas
- Adjunto
Tipos de datos de columna actualmente no disponibles con tablas elásticas:
- Moneda
- Fórmula
- Formato de número entero distinto de Ninguno (Duración, Código de idioma y Zona horaria)
- Búsqueda basada en la opción Cliente
Crear una tabla elástica
Una tabla elástica se crea como cualquier otra tabla nueva en Dataverse.
- Inicie sesión en Power Apps y seleccione Tablas en el panel de navegación izquierdo. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.
- Seleccione Tabla nueva > Establecer propiedades avanzadas en la barra de comandos.
- En el panel de propiedades derecho, ingrese un Nombre para mostrar y un Nombre plural.
- Expanda Opciones avanzadas y luego seleccione Elástico como Tipo de tabla.
- Seleccione las popiedades que desee y, a continuación Guardar.
La columna de tiempo de vida se crea automáticamente para una tabla elástica. Puede agregar el valor del período de tiempo en segundos, según sea necesario. Los datos se eliminan automáticamente después del período de tiempo especificado.
Más información acerca de las tablas: Opciones avanzadas
Problemas conocidos
- Cuando tiempo de vida (TTL) se usa en una fila, la fila se elimina de la tabla elástica cuando el TTL expira. Si se sincroniza con un lago de datos mediante Azure Synapse Link for Dataverse antes de que caduque el TTL, no se eliminará del lago de datos.
- La restauración a un momento determinado no restaura registros "actualizados" ya que no se realiza una copia de seguridad de las actualizaciones. Solo se restauran los registros creados y eliminados.
- Si se elimina una columna específica en una tabla elástica, el valor de las columnas no se elimina de las filas de la tabla si tiene datos. Antes de eliminar una columna específica, elimine los datos de todas las filas de la columna.
Tablas elásticas de gran volumen y gestión de los límites de limitación de la API de Dataverse
Usar mensajes de operación en masa. Esto le permite lograr 10 veces el rendimiento con los mismos límites de limitación de API Dataverse. Los desarrolladores pueden consultar más vínculos proporcionados en la sección siguiente.
Para desarrolladores
Las tablas elásticas tienen diferentes comportamientos y capacidades que las tablas estándar cuando los desarrolladores las usan con API Dataverse. Los siguientes artículos para desarrolladores describen estas diferencias:
- Tablas elásticas
- Crear tablas elásticas mediante código
- Usar tablas elásticas mediante código
- Consultar columnas JSON en tablas elásticas
- Mensajes de operación masiva (versión preliminar)
- Código de ejemplo de tablas elásticas
- Enviar solicitudes paralelas
- Límites de la API de protección de servicio