Menu Docs
Página inicial do Docs
/ /

Otimizar o desempenho da consulta

O desempenho da sua instância do banco de dados federado é afetado pelos seguintes fatores:

  • O tamanho do seu Data Federation.

  • O formato e a estrutura do seu Data Federation.

See the following sections to learn how to optimize your federated database instance query performance.

Cada arquivo com o Atlas Data Federation exige uma determinada quantidade de recursos de computação. Se o armazenamento de instância do reconhecimento de data center federado contiver muitos Data Federation pequenos, os recursos necessários serão compostos e poderão reduzir o desempenho. Como alternativa, muitos arquivos de dados grandes são problemáticos, pois o Data Federation baixa e processa dados desnecessários.

Para a maioria dos casos de uso, um tamanho de arquivo de alto desempenho é de 100 a 200 MB.

Federated Database Instances support several data file formats. You can improve performance by compressing certain file formats or by optimizing file contents for your queries.

Quando você compacta Data Federation, eles levam menos tempo para serem baixados. A redução do tempo de download tem um benefício de desempenho maior do que a análise de dados descompactados.

You can compress the following file formats using gzip:

  • JSON

  • BSON

  • CSV

  • TSV

Os arquivos Parquet, Avro e ORC contêm metadados sobre o próprio arquivo para que um aplicação possa percorrer o conteúdo do arquivo de diferentes maneiras. Se você estruturar seu arquivo de dados para se alinhar com as queries que deseja executar, o Atlas Data Federation poderá aproveitar esses metadados para pular rapidamente para os dados certos.

Desses formatos, os arquivos do Parquet fornecem o melhor desempenho e eficiência de espaço para a instância do banco de dados federado, pois são otimizados para analisar grupos de linhas e colunas para o Parquet.

In AWS S3 Buckets, the structure of your data and the way you define it in the configuration file affect the performance of your federated database instance.

Para facilitar o gerenciamento, certifique-se de que seus dados estejam agrupados de forma lógica em partições. O Atlas Data Federation utiliza partições que você cria com os valores de campo que você especifica em sua sintaxe de partição. Você pode melhorar o desempenho da instância do reconhecimento de data center garantindo que a estrutura de partição seja mapeada para seus padrões de query e que a estrutura de partição esteja definida em seu databases.[n].collections.[n].dataSources.[n].path. Para a partição, escolha os campo que você query com frequência e ordene-os do campo mais query na primeira posição para o campo menos query na última posição.

A ordem dos campos listados no databases.[n].collections.[n].dataSources.[n].path é importante da mesma forma que nos índices compostos. O caminho especificado corresponde a dados que são particionados primeiro pelo valor do primeiro campo e, em seguida, pelo valor do próximo campo e assim por diante.

Exemplo

Considere uma collection com os campo e partições software, computer e OS no bucket S3 denominada metrics primeiro para o campo software , seguido pelo campo computer e então o OS campo.

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

O Atlas Data Federation utiliza as partições para query nestes campo:

  • o campo software,

  • o campo software e o campo computer,

  • o campo software e o campo computer e o campo OS.

O Atlas Data Federation pode usar as partições para suportar uma query no campo software e OS . No entanto, nesse caso, o Atlas Data Federation não é tão eficiente para a query quanto seria se a query estivesse apenas nos campos software e computer . As partições são analisadas em ordem; se uma query omitir uma partição específica, o Atlas Data Federation será menos eficiente ao utilizar quaisquer partições que seguem a partição. Como uma query no software e no OS omite computer, o Atlas Data Federation usa a partição software de forma mais eficiente do que a partição OS para oferecer suporte a essa query.

O Atlas Data Federation não pode usar as partições para suportar query em campo não especificados no databases.[n].collections.[n].dataSources.[n].path. Além disso, o Atlas Data Federation não pode usar as partições para oferecer suporte a query que incluam os seguintes campo sem o campo software :

  • o campo computer,

  • o campo OS, ou

  • os campos computer e OS.

Você pode usar partições para melhorar o desempenho da Data Federation mapeando-as para atributos de partição em sua configuração. Ao mapear os atributos da partição (as partes do prefixo S3 que parecem uma pasta) para um atributo de query, o Atlas Data Federation pode abrir seletivamente os arquivos que contêm dados relacionados à sua query. Isso reduz o tempo que uma query leva e diminui o custo, pois o Data Federation lê e baixa menos arquivos da Amazon Web Services.

Exemplo

Considere um bucket S3 metrics com a seguinte estrutura:

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

Você pode definir um atributo de partição para "tipo de métrica" definindo /metrics/{metric_type string}/* em sua configuração. Se você emitir uma query que contenha {metric_type: software}, o Data Federation processará somente os arquivos com o prefixo /software e ignorará os arquivos com o prefixo /hardware.

Você pode então definir um atributo de partição para "tipo de software" definindo /metrics/{metric_type string}/{software_type string} em sua configuração. Se você emitir uma query que contenha {metric_type: software, software_type: computer}, o Data Federation ignorará os arquivos com o prefixo /phone.

For more information on mapping partition attributes to a collection databases.[n].collections.[n].dataSources.[n].path, see Define Path File Syntax.

Voltar

CSV e TSV

Nesta página