Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
SE APLICA A: NoSQL
MongoDB
Gremlin
La creación de particiones personalizadas permite crear particiones de los datos del almacén analítico en campos que se usan normalmente como filtros en consultas analíticas, lo que mejora el rendimiento de las consultas.
En este artículo, aprenderá a crear particiones de los datos en el almacén analítico de Azure Cosmos DB mediante claves críticas para las cargas de trabajo analíticas. También se explica cómo aprovechar el rendimiento mejorado de las consultas con la limpieza de particiones. También aprenderá cómo la creación de particiones personalizada mejora el rendimiento de las consultas cuando las cargas de trabajo tienen un número significativo de actualizaciones o eliminaciones.
Nota
Las cuentas y contenedores de Azure Cosmos DB deben tener Azure Synapse Link habilitado para aprovechar las ventajas de la creación de particiones personalizadas.
La creación de particiones del almacén analítico es independiente de la del almacén transaccional. De manera predeterminada, el almacén analítico no tiene particiones. Si quiere consultar el almacén analítico con frecuencia en función de campos como Fecha, Hora, Categoría, etc., debe sacar provecho de la creación de particiones personalizadas para crear un almacén con particiones independiente basado en estas claves. Puede elegir un único campo o una combinación de campos del conjunto de datos como clave de partición del almacén analítico.
Puede desencadenar la creación de particiones desde un cuaderno de Spark de Azure Synapse mediante Azure Synapse Link. Puede programarlo para que se ejecute como un trabajo en segundo plano, una o dos veces al día, pero se puede ejecutar con más frecuencia, si es necesario.
Nota
El almacén con particiones apunta a la cuenta de almacenamiento principal de ADLS Gen2 que está vinculada con el área de trabajo de Azure Synapse.
El almacén con particiones contiene datos analíticos de Azure Cosmos DB hasta la última marca de tiempo en la que se ha ejecutado el trabajo de creación de particiones. Al consultar datos analíticos mediante los filtros de clave de partición, Synapse Link combina automáticamente los datos del almacén con particiones con los cambios más recientes en el almacén analítico. De este modo, proporciona los resultados más recientes para las consultas. Aunque combina los datos antes de realizar consultas, la diferencia no se vuelve a escribir en el almacén con particiones. A medida que se amplía la diferencia entre los datos del almacén analítico y del almacén con particiones, los tiempos de consulta de los datos con particiones pueden variar. El desencadenamiento del trabajo de creación de particiones con más frecuencia reducirá esta diferencia. Cada vez que ejecute el trabajo de creación de particiones, solo se procesarán los cambios incrementales en el almacén analítico, no en todo el conjunto de datos.
El uso del almacén con particiones es opcional al consultar datos analíticos en Azure Cosmos DB. Puede consultar directamente los mismos datos mediante Synapse Link con el almacén analítico existente. Es posible que quiera activar el almacén con particiones si tiene los requisitos siguientes:
Si está consultando datos activos mediante filtros de consulta diferentes de las claves de partición, se recomienda consultar directamente el almacén analítico.
Como los datos correspondientes a cada clave de partición única se colocan en el almacén con particiones, cuando se usa la clave de partición como filtro de consulta, las ejecuciones de consultas pueden eliminar los datos subyacentes y examinar solo los datos necesarios. Al examinar datos limitados, la limpieza de particiones mejora el rendimiento de las consultas analíticas.
Puede tener varias estrategias de creación de particiones para un contenedor de almacén analítico determinado. Puede usar claves de partición compuestas o independientes en función de los requisitos de consulta.
Además de las mejoras de consulta de la limpieza de particiones, la creación de particiones personalizadas también da como resultado un rendimiento mejorado de las consultas para las cargas de trabajo siguientes:
Cargas de trabajo con numerosas operaciones de actualización o eliminación: en lugar de realizar el seguimiento de varias versiones de los registros en el almacén analítico y cargarlas durante cada ejecución de la consulta, el almacén con particiones solo contiene la versión más reciente de los datos. Esta capacidad mejora significativamente el rendimiento de las consultas cuando las cargas de trabajo realizan numerosas operaciones de actualización o eliminación.
Cargas de trabajo de ingesta de datos lenta: la creación de particiones compacta los datos analíticos y, por tanto, si la carga de trabajo tiene una ingesta de datos lenta, esta compactación podría dar lugar a un mejor rendimiento de las consultas.
Es importante tener en cuenta que la creación de particiones personalizadas garantiza una garantía transaccional completa. La ruta de la consulta no está bloqueada mientras la ejecución de particiones está en curso. Cada ejecución de consulta lee los datos particionados de la última creación de particiones correcta. Lee los datos más recientes del almacén analítico, lo que garantiza que las consultas siempre devuelven los datos más recientes disponibles al usar el almacén con particiones.
Si ha configurado puntos de conexión privados administrados para el almacén analítico, se recomienda agregar puntos de conexión privados administrados para el almacén con particiones. El almacén con particiones es la cuenta de almacenamiento principal asociada al área de trabajo de Synapse.
Del mismo modo, si ha configurado claves administradas por el cliente en el almacén analítico, tendrá que habilitarlo directamente en la cuenta de almacenamiento principal del área de trabajo de Synapse, que también es el almacén con particiones.
Puede usar una o varias claves de partición para los datos analíticos. Si usa varias claves de partición, a continuación se muestran algunas recomendaciones sobre cómo crear particiones de los datos:
Uso de claves compuestas:
Imagine que quiere realizar consultas con frecuencia basadas en Key1 y Key2.
Por ejemplo, "Consultar todos los registros donde ReadDate = "2021-10-08" y Location = "Sydney"".
En este caso, el uso de claves compuestas será más eficaz, para buscar todos los registros que coincidan con ReadDate y los que coincidan con Location dentro de ese valor ReadDate.
Opciones de configuración de ejemplo:
.option("spark.cosmos.asns.partition.keys", "ReadDate String, Location String") \
.option("spark.cosmos.asns.basePath", "/mnt/CosmosDBPartitionedStore/") \
Ahora puede hacer consultas en función del filtro "Location":
Uso de varias claves por separado:
Imagine que quiere realizar consultas frecuentes basadas en "ReadDate" y otras veces en "Location".
Por ejemplo,
Ejecute dos trabajos de partición con claves de partición, como se define a continuación para este escenario:
Trabajo 1:
.option("spark.cosmos.asns.partition.keys", "ReadDate String") \
.option("spark.cosmos.asns.basePath", "/mnt/CosmosDBPartitionedStore/") \
Trabajo 2:
.option("spark.cosmos.asns.partition.keys", "Location String") \
.option("spark.cosmos.asns.basePath", "/mnt/CosmosDBPartitionedStore/") \
Tenga en cuenta que ahora no es eficiente realizar consultas con frecuencia basadas en los filtros "ReadDate" y "Location" juntos, en las particiones anteriores. En ese caso, las claves compuestas ofrecerán un mejor rendimiento de las consultas.
La creación de particiones personalizadas solo está disponible para Spark de Azure Synapse. Actualmente no se admite la creación de particiones personalizadas para grupos de SQL sin servidor.
Actualmente, el almacén con particiones solo puede apuntar a la cuenta de almacenamiento principal asociada al área de trabajo de Synapse. En este momento no se admite la selección de cuentas de almacenamiento personalizadas.
La creación de particiones personalizadas solo está disponible para la API para NoSQL en Azure Cosmos DB. La API para MongoDB, Gremlin y Cassandra se encuentra en versión preliminar actualmente.
Además de los precios de Azure Synapse Link, incurrirá en los siguientes cargos al usar la creación de particiones personalizadas:
Se le facturará por el uso de grupos de Apache Spark de Synapse al ejecutar trabajos de creación de particiones en el almacén analítico.
Los datos con particiones se almacenan en la cuenta principal de Azure Data Lake Storage Gen2 asociada al área de Azure Synapse Analytics principal. Incurrirá en los costes asociados con el uso del almacenamiento de ADLS Gen2 y las transacciones. Estos costos se determinan por el almacenamiento necesario para los datos analíticos con particiones y los datos procesados para las consultas analíticas en Synapse, respectivamente. Para más información sobre los precios, visite la página de precios de Azure Data Lake Storage.
Hay varios factores, como el volumen de datos incremental, los requisitos de latencia de consulta, etc., que determinan la frecuencia con la que se puede ejecutar el trabajo de creación de particiones personalizadas. Se podría ejecutar una vez al día o una vez cada pocas horas. Es posible que quiera programar el trabajo de creación de particiones con más frecuencia si el volumen de datos entrantes es alto y la latencia de consulta que se espera es baja. También debe acumular primero datos incrementales en el almacén analítico para que la limpieza de particiones sea eficaz.
Sí, la creación de particiones personalizadas proporciona una garantía transaccional completa. Por tanto, los resultados de la consulta en cualquier momento combinan los datos con particiones existentes con los datos finales que devuelven el conjunto de datos del almacén analítico más reciente.
Sí, la autenticación de servicio vinculado se puede usar para la creación de particiones del almacén analítico.
Sí, se puede cambiar la clave de partición del contenedor dado y la nueva definición de clave de partición creará un almacén con particiones.
Nota
La definición de clave de partición forma parte de la ruta del almacén con particiones.
Sí, puede especificar varias claves de partición en el mismo almacén con particiones como se indica a continuación:
.option("spark.cosmos.asns.partition.keys", "ReadDate String, Location String") \
.option("spark.cosmos.asns.basePath", "/mnt/CosmosDBPartitionedStore/") \
Para obtener más información, consulte la siguiente documentación:
Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraCursos
Módulo
Diseño de una estrategia de creación de particiones de datos - Training
Diseño de una estrategia de creación de particiones de datos
Certificación
Microsoft Certified: Azure Cosmos DB Developer Specialty - Certifications
Escribe consultas eficaces, crea directivas de indexación, administra y aprovisiona recursos en la API de SQL y el SDK con Microsoft Azure Cosmos DB.
Documentación
Análisis con Azure Synapse Link - Azure Cosmos DB
Azure Synapse Link para Azure Cosmos DB permite ejecutar análisis casi en tiempo real con Azure Synapse Analytics de datos operativos en Azure Cosmos DB.
En este artículo, aprenderá a consultar Azure Cosmos DB mediante un grupo de SQL sin servidor en Azure Synapse Link.
Características admitidas de Azure Synapse Link para Azure Cosmos DB - Azure Synapse Analytics
Descripción de la lista actual de acciones que admite Azure Synapse Link para Azure Cosmos DB