Docs Menu
Docs Home
/ /

Optimizar el rendimiento del query

El rendimiento de su instancia de base de datos federada se ve afectado por los siguientes factores:

  • El tamaño de sus archivos de datos.

  • El formato y la estructura de sus archivos de datos.

Consulte las siguientes secciones para aprender a optimizar el rendimiento de las consultas de su instancia de base de datos federada.

Cada archivo que gestiona Atlas Data Federation requiere una cierta cantidad de recursos computacionales. Si el almacén de instancias de la base de datos federada contiene muchos archivos de datos pequeños, los recursos requeridos se acumulan y pueden reducir el rendimiento. Por otro lado, muchos archivos de datos grandes resultan problemáticos, ya que Data Federation descarga y procesa datos innecesarios.

Para la mayoría de los casos de uso, un tamaño de archivo de alto rendimiento es 100 de 200 a MB.

Las instancias de bases de datos federadas admiten varias Formatos de archivos de datos. Puede mejorar el rendimiento comprimiendo ciertos formatos de archivo u optimizando el contenido de los archivos para sus consultas.

Al comprimir archivos de datos, su descarga tarda menos. Esto ofrece una mayor ventaja de rendimiento que analizar datos sin comprimir.

Puede comprimir los siguientes formatos de archivo usando gzip:

  • JSON

  • BSON

  • CSV

  • TSV

Los archivos Parquet, Avro y ORC contienen metadatos sobre el propio archivo, lo que permite a una aplicación explorar su contenido de diferentes maneras. Si estructura su archivo de datos para que coincida con las consultas que desea ejecutar, Atlas Data Federation puede aprovechar estos metadatos para acceder rápidamente a los datos correctos.

De estos formatos, los archivosParquet proporcionan el mejor rendimiento y eficiencia de espacio para la instancia de base de datos federada, ya que están optimizados para analizar grupos de filas y columnas para Parquet.

En AWS S3 Buckets, la estructura de sus datos y la forma en que los define en el archivo de configuración afectan el rendimiento de su instancia de base de datos federada.

Para facilitar la gestión, asegúrese de que sus datos estén agrupados lógicamente en particiones. Atlas Data Federation utiliza las particiones que usted crea con los valores de campo que especifica en la sintaxis de partición. Puede mejorar el rendimiento de su instancia de base de datos federada asegurándose de que la estructura de partición se asigne a sus patrones de consulta y que esté definida en su...databases.[n].collections.[n].dataSources.[n].pathPara la partición, elija los campos que consulta con frecuencia y ordénelos desde el más consultado en la primera posición hasta el campo menos consultado en la última posición.

El orden de los campos enumerados en es tan databases.[n].collections.[n].dataSources.[n].path importante como en los índices compuestos. La ruta especificada corresponde a los datos que se particionan primero por el valor del primer campo, luego por el valor del siguiente, y así sucesivamente.

Ejemplo

Considera una colección con los campos software, computer y OS, y particiónate en el bucket S3 denominado metrics primero para el campo software, seguido del campo computer y luego el campo OS.

metrics
|--software
|--computer
|--OS

Atlas Data Federation utiliza las particiones para consultas en estos campos:

  • El campo software,

  • el campo software y el campo computer,

  • el campo software y el campo computer y el campo OS.

Atlas Data Federation puede usar las particiones para realizar consultas en los campos software y OS. Sin embargo, en este caso, no es tan eficiente para la consulta como si solo se realizara en los campos software y computer. Las particiones se analizan en orden; si una consulta omite una partición específica, Atlas Data Federation es menos eficiente al usar las particiones posteriores. Dado que una consulta en software y OS omite computer, Atlas Data Federation utiliza la partición software con mayor eficiencia que la OS para realizar esta consulta.

Atlas Data Federation no puede usar las particiones para admitir consultas en campos no especificados en. Tampoco puede usar las particiones para admitir consultas que incluyan los siguientes campos sin databases.[n].collections.[n].dataSources.[n].path el software campo:

  • El campo computer,

  • el campo OS, o

  • los campos computer y OS.

Puede usar particiones para mejorar el rendimiento de Data Federation asignándolas a los atributos de partición en su configuración.Al asignar los atributos de partición (las partes del prefijo S que parecen una carpeta) a un atributo de consulta, Atlas Data Federation puede abrir selectivamente los archivos que contienen datos relacionados3 con su consulta. Esto reduce el tiempo de una consulta y los costos, ya que Data Federation lee y descarga menos archivos de AWS.

Ejemplo

Considere un depósito S3 metrics con la siguiente estructura:

metrics
|--hardware
|--software
|--computer
|--phone

Puede establecer un atributo de partición para el tipo de métrica definiendo /metrics/{metric_type string}/* en su configuración. Si emite una consulta que contiene {metric_type: software}, la Federación de Datos solo procesa los archivos con el prefijo /software e ignora los archivos con el prefijo /hardware.

Luego, puede establecer un atributo de partición para el tipo de software definiendo /metrics/{metric_type string}/{software_type string} en su configuración. Si emite una consulta que contiene {metric_type: software, software_type: computer}, la Federación de Datos ignora los archivos con el prefijo /phone.

Para obtener más información sobre cómo asignar atributos de partición a una colección,databases.[n].collections.[n].dataSources.[n].path consulte Definir sintaxis de archivo de ruta.

Volver

CSV y TSV

En esta página