Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Computação
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gerenciamento e governança
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migração
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análises
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Outros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Segurança e conformidade
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Serviços de mídia
Media Processing Center
Video On Demand
Live
SparkRTC
Armazenamento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Cloud Server Backup Service
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bancos de dados
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicações de negócios
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribuição de conteúdo e computação de borda
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluções
SAP Cloud
High Performance Computing
Serviços para desenvolvedore
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
MacroVerse aPaaS
KooPhone
KooDrive
Central de ajuda/ GaussDB(DWS)/ Melhores práticas/ Importação e exportação/ Melhores práticas para importação de dados

Melhores práticas para importação de dados

Atualizado em 2024-05-09 GMT+08:00

Importar dados do OBS em paralelo

  • Dividir um arquivo de dados em vários arquivos

    Importar uma enorme quantidade de dados leva um longo período de tempo e consome muitos recursos de computação.

    Para melhorar o desempenho da importação de dados do OBS, divida um arquivo de dados em vários arquivos da forma mais uniforme possível antes de importá-lo para o OBS. O número preferencial de arquivos divididos é um múltiplo inteiro da quantidade de DN.

  • Verificar arquivos de dados antes e depois de uma importação

    Ao importar dados do OBS, primeiro importe seus arquivos para o bucket do OBS e, em seguida, verifique se o bucket contém todos os arquivos corretos e apenas esses arquivos.

    Após a conclusão da importação, execute a instrução SELECT para verificar se os arquivos necessários foram importados.

  • Garantir que não há caracteres chineses contidos em caminhos usados para importar dados para ou exportar dados do OBS.

Usar o GDS para importar dados

  • A distorção de dados faz com que o desempenho da consulta se deteriore. Antes de importar todos os dados de uma tabela contendo mais de 10 milhões de registros, é aconselhável importar alguns dos dados e verificar se há distorção de dados e se as chaves de distribuição precisam ser alteradas. Solucione problemas de distorção de dados, se houver. É caro abordar a distorção de dados e alterar as chaves de distribuição após uma grande quantidade de dados ter sido importada. Para obter detalhes, consulte Verificação de distorção de dados.
  • Para acelerar a importação, é aconselhável dividir arquivos e usar várias ferramentas do Gauss Data Service (GDS) para importar dados em paralelo. Uma tarefa de importação pode ser dividida em várias tarefas de importação simultâneas. Se várias tarefas de importação usarem o mesmo GDS, você poderá especificar o parâmetro -t para habilitar a importação simultânea de vários threads do GDS. Para evitar I/O física e gargalos de rede, é aconselhável montar GDSs em diferentes discos físicos e NICs.
  • Se a I/O e as NICs do GDS não atingirem seus gargalos físicos, você poderá habilitar o SMP no GaussDB(DWS) para aceleração. SMP irá multiplicar a pressão sobre GDSs. Note-se que a adaptação SMP é implementada com base na pressão da CPU do GaussDB(DWS) em vez da pressão do GDS. Para obter mais informações sobre SMP, consulte Sugestões para configurações de parâmetros de SMP.
  • Para a comunicação adequada entre GDSs e GaussDB(DWS), é aconselhável usar redes de 10GE. As redes de 1GE não podem suportar a transmissão de dados de alta velocidade e, como resultado, não podem garantir a comunicação adequada entre GDSs e GaussDB(DWS). Para maximizar a taxa de importação de um único arquivo, certifique-se de que uma rede de 10GE seja usada e que a taxa de I/O do grupo de discos de dados seja maior que o limite superior do recurso de processamento de núcleo único do GDS (cerca de 400 MB/s).
  • Semelhante à importação de tabela única, certifique-se de que a taxa de I/O seja maior que a taxa de transferência máxima da rede na importação simultânea.
  • Recomenda-se que a proporção entre a quantidade do GDS e a quantidade de DN esteja na faixa de 1:3 a 1:6.
  • Para melhorar a eficiência da importação de dados em lotes para tabelas particionadas armazenadas em coluna, os dados são armazenados em buffer antes de serem gravados em um disco. Você pode especificar o número de buffers e o tamanho do buffer definindo a partition_mem_batch e partition_max_cache_size, respectivamente. Valores menores indicam quanto mais lenta a importação em lote para tabelas particionadas de armazenamento de colunas. Quanto maiores os valores, maior o consumo de memória.

Usar INSERT para inserir várias linhas

Se a instrução COPY não puder ser usada e você precisar de inserções SQL, use uma inserção de várias linhas sempre que possível. A compactação de dados é ineficiente quando você adiciona dados de apenas uma linha ou algumas linhas de cada vez.

Inserções de várias linhas melhoram o desempenho por lotes até uma série de inserções. O exemplo a seguir insere três linhas em uma tabela de três colunas usando uma única instrução INSERT. Esta ainda é uma pequena inserção, mostrada simplesmente para ilustrar a sintaxe de uma inserção de várias linhas. Para obter detalhes sobre como criar uma tabela, consulte Criação de uma tabela.

Para inserir várias linhas de dados na tabela customer_t1, execute a seguinte instrução:

1
2
3
4
INSERT INTO customer_t1 VALUES 
(6885, 'maps', 'Joes'),
(4321, 'tpcds', 'Lily'),
(9527, 'world', 'James');

Para obter mais detalhes e exemplos, consulte INSERT.

Usar a instrução COPY para importar dados

A instrução COPY importa dados de bancos de dados locais e remotos em paralelo. COPY importa grandes quantidades de dados de forma mais eficiente do que as instruções INSERT.

Para obter detalhes sobre como usar a instrução COPY, consulte Executação da instrução COPY FROM STDIN para importar dados.

Usar um meta-comando de gsql para importar dados

O comando \copy pode ser usado para importar dados depois de fazer logon em um banco de dados por meio de qualquer cliente de gsql. Ao contrário da instrução COPY, o comando \copy lê ou grava em um arquivo.

Os dados lidos ou gravados usando o comando \copy são transferidos através da conexão entre o servidor e o cliente e podem não ser eficientes. A instrução COPY é recomendada quando a quantidade de dados é grande.

Para obter detalhes sobre como usar o comando \copy, consulte Usar o meta-comando \copy para importar dados.

\copy só se aplica à importação de dados em pequenos lotes com formatos uniformes, mas capacidade de tolerância a erros fraca. GDS ou COPY são preferidos para a importação de dados.

Usamos cookies para aprimorar nosso site e sua experiência. Ao continuar a navegar em nosso site, você aceita nossa política de cookies. Saiba mais

Feedback

Feedback

Feedback

0/500

Conteúdo selecionado

Envie o conteúdo selecionado com o feedback