Compartir a través de


Recomendaciones para optimizar el rendimiento de los datos

Se aplica a esta recomendación de la lista de verificación de eficiencia de rendimiento bien diseñada: Power Platform

Educación Física:08 Optimice el rendimiento de los datos. Optimice los almacenes de datos para su uso previsto y real en la carga de trabajo.

Esta guía describe las recomendaciones para optimizar el rendimiento de los datos. Optimizar el rendimiento de los datos consiste en perfeccionar la eficiencia con la que la carga de trabajo procesa y almacena los datos. Cada operación de carga de trabajo, transacción o cálculo depende normalmente de la recuperación, el procesamiento y el almacenamiento rápidos y precisos de los datos. Cuando se optimiza el rendimiento de los datos, la carga de trabajo se ejecuta sin problemas. Un rendimiento comprometido de los datos crea un efecto dominó de escasa eficacia en el rendimiento. No optimizar el rendimiento de los datos da como resultado retrasos en la respuesta, mayor latencia y escalabilidad reducida. Pone en peligro la eficiencia de toda la carga de trabajo.

Definiciones

Término Definición
Almacén de datos Un recurso que almacena datos como una base de datos, un almacén de objetos o un recurso compartido de archivos.
Index Una estructura de base de datos que proporciona acceso rápido a los elementos.
Procesamiento analítico en línea (OLAP) Una tecnología que organiza grandes bases de datos comerciales, admite análisis complejos y realiza consultas analíticas complejas sin afectar negativamente los sistemas transaccionales.
Procesamiento de transacciones en línea (OLTP) Una tecnología que registra las interacciones comerciales tal como ocurren en las operaciones diarias de una organización.
Creación de particiones El proceso de dividir físicamente los datos en almacenes de datos separados.
Ajuste de consultas Un proceso que optimiza la velocidad de una consulta de base de datos.

Estrategias clave de diseño

Para optimizar el uso de datos, asegúrese de que los almacenes de datos estén optimizados para su uso previsto y para su uso real en una carga de trabajo. El uso optimizado de datos puede mejorar el rendimiento de las consultas, reducir el consumo de recursos y mejorar la eficiencia general del sistema. Considere las estrategias siguientes:

  • Datos de perfil. Comprenda sus datos y asegúrese de que su modelo de datos sea adecuado para su carga de trabajo. Considere factores como la normalización de datos y las técnicas de partición. Para una recuperación de datos eficiente, asegúrese de seleccionar los tipos de datos adecuados y definir las relaciones entre tablas.

  • Optimice el rendimiento de las consultas. Analice y optimice las consultas que se ejecutan en la carga de trabajo. Utilice técnicas como la optimización de consultas y el almacenamiento en caché. Utilice vistas del lado del servidor para prefiltrar datos. Para identificar cuellos de botella, utilice herramientas de seguimiento del rendimiento y luego realice las mejoras necesarias.

  • Supervise y ajuste periódicamente el sistema. Supervise continuamente el rendimiento de su carga de trabajo e itere la configuración del almacenamiento de datos y las optimizaciones de consultas. Basándose en las mejores prácticas de ajuste del rendimiento, analice las métricas del sistema, identifique áreas de mejora e implemente cambios. A medida que aumentan los datos, es posible que deba actualizar sus consultas para mantener su rendimiento.

Datos de perfil

El perfilado de datos implica examinar los datos de una fuente y recopilar información sobre ellos. El objetivo es comprender la calidad, estructura y características de los datos de la carga de trabajo. Este proceso permite la identificación de problemas como valores faltantes, duplicados, formatos inconsistentes y otras anomalías.

Para un perfilado de datos eficaz, considere las siguientes estrategias:

  • Comprenda la estructura de los datos. Examine la estructura de sus datos, incluidas tablas, columnas y relaciones. Determine los tipos de datos, longitudes y restricciones que se aplican a cada columna. La evaluación de la estructura de datos le ayuda a comprender cómo se organizan los datos y cómo se relacionan con otros elementos de datos.

  • Analice el volumen de datos. Evalúe el volumen de sus datos para comprender el tamaño general y los patrones de crecimiento. Determine la cantidad de registros o documentos y el tamaño de tablas o colecciones individuales. Esta información le ayuda a estimar los requisitos de almacenamiento e identificar problemas de escalabilidad.

  • Identificar relaciones de datos. Explorar las relaciones entre elementos de datos. Comprenda cómo se conectan los datos, para que pueda determinar cómo los cambios en una tabla o documento podrían afectar los datos relacionados.

  • Evaluar la calidad de los datos. Evalúe la calidad de sus datos examinando factores como la integridad, la precisión, la coherencia y la singularidad. Identifique anomalías en los datos, valores faltantes o registros duplicados que podrían afectar la integridad de los datos y el rendimiento de las consultas. Este paso le ayuda a identificar áreas para la limpieza y mejora de datos.

  • Capture la distribución de datos. Analice la distribución de valores dentro de cada columna para determinar patrones de datos. Identifique valores frecuentes y raros, valores atípicos y sesgos de datos. Para optimizar el rendimiento de las consultas, analice si las claves alternativas serían apropiadas para proporcionar un rendimiento mejorado.

Supervisar el rendimiento de los datos

La supervisión del rendimiento de los datos es la práctica de realizar un seguimiento constante de la eficacia de los almacenes de datos. Implica recopilar y analizar métricas de rendimiento específicas de las operaciones de datos, utilizando herramientas adaptadas a las soluciones de supervisión en el nivel del sistema, específicas de la base de datos o de terceros. La supervisión eficaz del rendimiento de los datos le permite identificar y mitigar de forma proactiva posibles cuellos de botella, garantizando que los procesos y tareas relacionados con los datos sean eficientes.

Para monitorear el rendimiento de los datos, considere las siguientes estrategias:

  • Recopile métricas específicas de datos. Recopile métricas clave que se relacionen directamente con el rendimiento de los datos. Estas métricas incluyen tiempos de respuesta de las consultas y rendimiento de datos.

  • Configuraralertas de datos. Configure alertas específicamente para métricas de datos. Utilice umbrales predefinidos o anomalías en estas métricas para activar las alertas. Las alertas le permiten recibir notificaciones cuando las métricas de rendimiento exceden los rangos aceptables o muestran un comportamiento anormal; por ejemplo, si una consulta a una base de datos tarda más de lo esperado o si el rendimiento de los datos disminuye significativamente. Puede configurar estas alertas utilizando herramientas de monitoreo especializadas o scripts personalizados.

  • Diagnostique los problemas de rendimiento de los datos. Revise periódicamente las métricas de datos recopilados para identificar posibles cuellos de botella en el rendimiento o degradación en las operaciones de datos. Las herramientas de visualización o los paneles de control pueden ser invaluables en este proceso, ya que ayudan a resaltar tendencias, cuellos de botella y valores atípicos en el rendimiento de los datos. Una vez identificados, investigue las causas fundamentales de estos problemas y planifique las medidas adecuadas para solucionarlos.

Datos de partición

La partición implica dividir grandes conjuntos de datos o cargas de trabajo de gran volumen en subconjuntos más pequeños y manejables. La partición mejora la eficiencia del rendimiento de los datos al distribuir la carga de trabajo y mejorar el procesamiento paralelo. También garantiza un acceso a datos más eficaz basado en necesidades específicas y patrones de consulta. Puede particionar datos verticalmente u horizontalmente (también llamado fragmentación). Por ejemplo, si utiliza Dataverse tablas elásticas, considere cuál debería ser la clave de partición.

Estrategia Definición Ejemplo Casos de uso
Particiones verticales Se divide una tabla en tablas más pequeñas seleccionando columnas o campos específicos para cada partición. Cada partición representa un subconjunto de los datos completos. Si tiene una tabla con las columnas A, B, C y D, puede crear una tabla con las columnas A y B y otra con las columnas C y D. - Una tabla contiene muchas columnas, pero las consultas no acceden a todas las columnas juntas.
- Algunas columnas son más grandes que otras y separarlas puede mejorar el rendimiento de E/S.
- Las diferentes partes de datos tienen diversos patrones de acceso.
Partición horizontal Divida los datos en función de filas o rangos de valores (también conocido como fragmentación). Cada partición contiene un subconjunto de filas con características similares. Si tiene una tabla con filas del 1 al 1000, puede crear una partición con las filas del 1 al 500 y otra con las filas del 501 al 1000. - Un conjunto de datos es demasiado grande para una única ubicación o servidor.
- Se accede a los datos en función de rangos o filtros específicos.
- Necesidad de distribuir la carga de trabajo entre nodos físicos o servidores para mejorar el rendimiento.

Para particionar sus datos, considere los siguientes pasos:

  • Analice datos y consultas. Analice datos y patrones de consultas para identificar estrategias de partición o fragmentación adecuadas. Comprenda la naturaleza de los datos, los patrones de acceso y los requisitos de distribución.

  • Determinar una clave. Elija una clave de partición o fragmentación para distribuir datos entre particiones o fragmentos. Seleccione cuidadosamente la clave según las características de los datos y los requisitos de la consulta.

  • Determinar la lógica. Determine una lógica de partición o fragmentación basada en la clave elegida. Considere dividir los datos en intervalos, aplicar algoritmos de hash o utilizar otras técnicas de partición.

Optimizar consultas

La optimización de consultas refina las consultas para reducir los datos que cumplen los criterios y los datos devueltos. Estos ajustes aumentan la eficiencia y la velocidad de recuperación de datos. Como resultado, la base de datos tiene una carga de trabajo más ligera, los recursos funcionan de manera más efectiva y los usuarios disfrutan de interacciones más fluidas.

Para optimizar las consultas de la base de datos, considere las siguientes estrategias:

  • Reescriba consultas. Revise y analice consultas complejas para identificar oportunidades para reescribirlas. Considere reestructurar la lógica de consulta, eliminar operaciones redundantes o simplificar la sintaxis de consulta.

  • Evite el problema de consulta N+1. Minimice la cantidad de viajes de ida y vuelta a la base de datos mediante el uso de uniones y recuperación por lotes para recuperar datos relacionados de manera eficiente.

  • Reordene las uniones. Evalúe y considere reorganizar el orden de unión para minimizar el número de filas en cada operación de unión. El orden en el que se unen las tablas puede afectar el rendimiento de las consultas.

  • Almacene consultas en caché. Almacene los resultados de consultas ejecutadas con frecuencia para facilitar su reutilización. El almacenamiento en caché de consultas elimina la necesidad de ejecutar repetidamente la misma consulta y reduce la sobrecarga del procesamiento de consultas.

  • Supervisar y ajuste. Supervise las métricas de rendimiento de las consultas, como el tiempo de ejecución, la utilización de recursos y el rendimiento de las consultas. Utilice herramientas de creación de perfiles de bases de datos y funcionalidades de monitoreo para identificar consultas con bajo rendimiento. Utilice esa información para optimizar el rendimiento de las consultas.

Archivar y purgar datos

Archivar y depurar son estrategias que agilizan el almacenamiento de datos. El archivado reubica los datos a los que se obtiene acceso con menos frecuencia y que son más antiguos a un almacenamiento más rentable. La purga de datos elimina permanentemente los datos redundantes. Ambos métodos contribuyen a la eficiencia del rendimiento al reducir el volumen de datos, aumentar la velocidad de acceso a los datos y reducir los tiempos de copia de seguridad y recuperación.

  • Reducción del volumen de datos: Menos datos significa tiempos de procesamiento más rápidos, lo que garantiza respuestas rápidas a las solicitudes de los usuarios.
  • Aumento de la velocidad de acceso a los datos: un conjunto de datos recortado permite consultas y recuperación de datos más rápidas, optimizando la capacidad de respuesta del sistema.
  • Reducción de los tiempos de copia de seguridad y recuperación: los conjuntos de datos Más pequeño agilizan los procesos de copia de seguridad y restauración, minimizando el tiempo de inactividad y garantizando un rendimiento constante.

El archivado y la depuración son fundamentales para mantener la máxima eficiencia del rendimiento en sistemas impulsados por datos.

Optimizar la carga de almacenamiento

Optimizar la carga de almacenamiento significa agilizar las solicitudes al sistema de almacenamiento. Ayuda a eliminar solicitudes innecesarias, mejora la recuperación de datos y evita sobrecargar el sistema de almacenamiento. La optimización de la carga de almacenamiento garantiza que el sistema de almacenamiento siga respondiendo a solicitudes legítimas y mantenga el máximo rendimiento. Implementar estrategias para reducir la carga de procesamiento en el almacén de datos. Para optimizar la carga del almacén de datos, considere las estrategias siguientes.

Usar almacenamiento en caché

El almacenamiento en caché almacena los datos a los que se accede comúnmente en un área de almacenamiento de acceso rápido, lo que hace que la recuperación de datos sea más rápida que extraerlos de la fuente principal. Esta técnica aumenta el rendimiento de los datos al reducir los tiempos de acceso y evitar recuperaciones de datos repetitivas. El almacenamiento en caché mejora las velocidades de lectura y los tiempos de respuesta de los usuarios, especialmente para los datos a los que se accede con frecuencia. Este método es más eficaz con datos estáticos o datos que rara vez cambian.

Para garantizar una eficiencia óptima del almacenamiento en caché, considere factores como las políticas de vencimiento, las estrategias de desalojo y la administración del tamaño de la caché. Ajuste la configuración, como el tiempo de vida (TTL), para un rendimiento óptimo. Para utilizar una caché para optimizar la carga de almacenamiento, considere las siguientes estrategias:

  • Almacenamiento en caché en memoria: realice almacenamiento en caché en memoria para almacenar datos a los que se accede con frecuencia en la memoria para una recuperación rápida. Puede utilizar esta técnica para datos de aplicaciones que son costosos de calcular o recuperar de una base de datos. El almacenamiento en caché en memoria es útil para los datos que lee con frecuencia pero que no cambian con frecuencia. Por ejemplo, puede utilizar variables en flujos de nube o colecciones en aplicaciones de lienzo para almacenar datos en caché.

  • Almacenamiento en caché de consultas de base de datos: utilice esta técnica para almacenar en caché los resultados de las consultas de base de datos para evitar ejecutar la misma consulta varias veces. El almacenamiento en caché de consultas de bases de datos es útil para consultas de bases de datos complejas y que requieren mucho tiempo. Cuando almacena en caché los resultados de una consulta, las solicitudes posteriores de la misma consulta se devuelven rápidamente. Considere también el uso de vistas del lado del servidor cuando sea posible para filtrar previamente los datos y limitar los datos relevantes para su consulta.

  • Almacenamiento en caché de red de distribución de contenido: utilice esta técnica para almacenar en caché contenido web en servidores de red distribuidos para reducir la latencia y mejorar la distribución de contenido. Content Delivery Network (CDN) es eficaz para contenido estático, como imágenes, archivos CSS y archivos JavaScript. Las redes de entrega de contenido almacenan copias de contenido en múltiples ubicaciones en todo el mundo, para que los usuarios puedan acceder al contenido desde un servidor que esté geográficamente cerca de ellos.

Optimizar las actualizaciones de datos

La optimización de las actualizaciones de datos implica evaluar las actualizaciones de datos que se realizan para garantizar su rendimiento. Las actualizaciones pueden afectar al rendimiento más que otras operaciones porque pueden desencadenar trabajo innecesario y provocar conflictos de bloqueo.

Para evaluar cómo optimizar las actualizaciones de datos, considere:

  • Cambios de datos. Optimice la automatización para utilizar imágenes previas de los datos o filtros para minimizar el trabajo cuando no se haya producido ningún cambio real. Evite desencadenar la automatización para datos no modificados.

  • Automatización. Evalúe cuándo y cómo se desencadenan las actualizaciones en función de los cambios en los datos y optimice los desencadenadores para que incluyan un filtro. Por ejemplo, para activar la automatización solo cuando se modifique un campo específico del origen de datos. Evalúe las actualizaciones que desencadenan automatizaciones de forma incremental varias veces. En su lugar, considere si puede crear una operación personalizada para manejar todo el procesamiento. Por ejemplo, si se envía un pedido y la fecha de envío y el número de seguimiento se actualizan por separado, ambos podrían actualizarse al mismo tiempo en una operación personalizada de "ShipOrder".

  • Puntos muertos. Evalúe las operaciones de actualización lentas que podrían estar causando problemas debido a que múltiples flujos actualizan los mismos datos en diferentes secuencias. Esta ineficacia puede dar lugar a conflictos de bloqueo o incluso a posibles bloqueos, lo que se traduce en una repetición innecesaria del trabajo. Actualice los diferentes recursos en la misma secuencia para minimizar la contención.

  • Actualizaciones masivas. Si ejecuta operaciones en varias filas de una tabla, considere utilizar operaciones masivas.

Optimice el movimiento y el procesamiento de datos

Optimizar el movimiento y el procesamiento de datos implica mejorar la eficiencia y el rendimiento de las operaciones relacionadas con la extracción, transformación, carga y procesamiento de datos. Considere los siguientes aspectos clave para optimizar el movimiento y el procesamiento de datos:

  • Optimización de extracción, transformación y carga (ETL): optimice los procesos ETL para minimizar el tiempo de procesamiento. Puede agilizar el proceso de extracción, implementar algoritmos de transformación eficientes y optimizar el proceso de carga. Cuando hace que cada paso sea eficiente, optimiza el flujo de trabajo general.

  • Procesamiento paralelo: utilice técnicas de procesamiento paralelo para mejorar el rendimiento. Cuando distribuye tareas de procesamiento de datos entre varios subprocesos o nodos, puede dividir y procesar la carga de trabajo simultáneamente, lo que resulta en un procesamiento rápido.

  • Procesamiento por lotes: Agrupe tareas similares para reducir la sobrecarga causada por operaciones repetidas. Procese varias tareas en un lote para reducir el tiempo total de procesamiento.

Estrategia de proximidad de datos

La proximidad de datos se refiere a la ubicación estratégica de los datos más cerca de los usuarios o servicios que acceden a ellos con mayor frecuencia. Reducir la distancia física o lógica entre los datos y sus usuarios garantiza un acceso más rápido a los datos y una mejor capacidad de respuesta. Para optimizar el diseño para la proximidad cercana, considere estas estrategias:

  • Evaluar patrones de acceso a datos: evalúe los patrones de acceso de su carga de trabajo y los datos a los que se accede con frecuencia. Este análisis puede ayudar a determinar dónde colocar los datos para obtener el máximo beneficio.

  • Elija soluciones que admitan la reubicación de datos: considere soluciones que ofrezcan reubicación dinámica de datos en función de patrones de acceso cambiantes, lo que garantiza un posicionamiento óptimo de los datos.

  • Elija soluciones que admitan la sincronización de datos: si atiende a una base de usuarios distribuida, elija soluciones que permitan la sincronización de datos entre las distintas regiones, para garantizar que las réplicas de datos estén disponibles cerca de los usuarios.

Compensación: si los datos subyacentes cambian con frecuencia, implemente un mecanismo de invalidación de caché para garantizar que los datos almacenados en caché permanezcan actualizados.

Facilitación de Power Platform

Supervisar el rendimiento de los datos:para supervisar el rendimiento de los datos, considere usar Azure Monitor para recopilar y analizar métricas de infraestructura, registros y datos de aplicaciones. Puede integrar Monitor con otros servicios como Application Insights. Application Insights proporciona monitoreo del rendimiento de las aplicaciones y es compatible con muchas plataformas.

Application Insights recopila datos de uso y rendimiento. Puede usar Log Analytics para correlacionar esos datos con los datos de configuración y rendimiento en todos los recursos de Azure. El flujo de datos de Application Insights para Dataverse actualmente proporciona datos de rendimiento relacionados con las llamadas entrantes de la API de Dataverse, las llamadas de la ejecución del complemento de Dataverse y las llamadas de SDK de Dataverse.

Optimice los patrones de datos de consulta en aplicaciones de lienzo: seguir la guía y las sugerencias documentadas. Consulte Patrones de datos de consulta optimizados en Power Apps.

Optimice la forma en que personaliza, amplía o integra con Dataverse: seguir las mejores prácticas y orientaciones documentadas. Consulte Prácticas recomendadas e instrucciones al usar Microsoft Dataverse.

Optimice las consultas de base de datos y el rendimiento del índice: use la característica de información sobre el rendimiento de las consultas de Azure SQL Database para optimizar las consultas, las tablas y las bases de datos. También puede utilizar esta función para identificar y solucionar problemas de rendimiento de consultas.

Para bases de datos relacionales, siga las directrices de diseño de índices, guía de índices de SQL Server y Guía de índice de Azure Cosmos DB. Utilice SQL Database para realizar ajuste automático de consultas para mejorar su rendimiento.

Para las bases de datos SQL, debe reorganizar o reconstruir periódicamente los índices. Identifique consultas lentas y ajústelas para mejorar el rendimiento. Muchos motores de bases de datos tienen funciones de ajuste de consultas. Para obtener más información, consulte las prácticas recomendadas para el rendimiento de consultas.

Azure Cosmos DB tiene una política de indexación predeterminada que indexa cada propiedad de cada elemento y aplica índices de rango para cualquier cadena o número. Esta política le proporciona un rendimiento de consultas eficiente y no es necesario administrar índices por adelantado.

Optimice la carga de almacenamiento: muchos servicios de base de datos de Azure admiten réplicas de lectura. La disponibilidad y configuración de las réplicas de lectura varían según el servicio de base de datos de Azure. Consulte la documentación oficial de cada servicio para comprender los detalles y opciones.

Lista de comprobación de eficiencia en el rendimiento

Consulte el conjunto completo de recomendaciones.