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
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

ClickHouse

Atualizado em 2023-05-19 GMT+08:00

Introdução ao ClickHouse

ClickHouse é um banco de dados colunar de código aberto orientado para análise e processamento on-line. É independente do sistema de Big Data Hadoop e apresenta taxa de compressão final e desempenho de consulta rápida. Além disso, o ClickHouse suporta consulta SQL e oferece bom desempenho, especialmente a análise de agregação e desempenho de consulta com base em tabelas grandes e amplas. A velocidade de consulta é uma ordem de grandeza mais rápida do que a de outros bancos de dados analíticos.

As principais funções do ClickHouse são as seguintes:

Funções abrangentes de DBMS

O ClickHouse é um sistema de gerenciamento de banco de dados (DBMS) que fornece as seguintes funções básicas:
  • Linguagem de Definição de Dados (DDL): permite que bancos de dados, tabelas e visualizações sejam criados, modificados ou excluídos dinamicamente sem reiniciar os serviços.
  • Linguagem de manipulação de dados (DML): permite que os dados sejam consultados, inseridos, modificados ou excluídos dinamicamente.
  • Controle de permissão: suporta configurações de permissão de operação de tabela ou banco de dados baseado no usuário para garantir a segurança dos dados.
  • Backup e restauração de dados: suporta backup, exportação, importação e restauração de dados para atender aos requisitos do ambiente de produção.
  • Gerenciamento distribuído: fornece o modo de cluster para gerenciar automaticamente vários nós de banco de dados.

Armazenamento baseado em coluna e compressão de dados

O ClickHouse é um banco de dados que usa armazenamento baseado em colunas. Os dados são organizados por coluna. Os dados na mesma coluna são armazenados juntos e os dados em colunas diferentes são armazenados em arquivos diferentes.

Durante a consulta de dados, o armazenamento colunar pode reduzir a faixa de varredura de dados e o tamanho da transmissão de dados, melhorando assim a eficiência da consulta de dados.

Em um sistema tradicional de banco de dados baseado em linhas, os dados são armazenados na sequência em Tabela 1:

Tabela 1 Banco de dados baseado em linha

Linha

ID

Bandeira

Nome

Evento

Tempo

0

12345678901

0

nome1

1

2020/1/11 15:19

1

32345678901

1

nome2

1

2020/5/12 18:10

2

42345678901

1

nome3

1

2020/6/13 17:38

N

...

...

...

...

...

Em um banco de dados baseado em linha, os dados na mesma linha são fisicamente armazenados juntos. Em um sistema de banco de dados baseado em colunas, os dados são armazenados na sequência em Tabela 2:

Tabela 2 Base de dados colunar

linha:

0

1

2

N

ID:

12345678901

32345678901

42345678901

...

Bandeira:

0

1

1

...

Nome:

nome1

nome2

nome3

...

Evento:

1

1

1

...

Tempo:

2020/1/11 15:19

2020/5/12 18:10

2020/6/13 17:38

...

Este exemplo mostra apenas a disposição dos dados em um banco de dados colunar. Bancos de dados colunares armazenam dados na mesma coluna juntos e dados em colunas diferentes separadamente. Os bancos de dados colunares são mais adequados para cenários de processamento analítico on-line (OLAP).

Executor vetorizado

O ClickHouse usa os Dados Múltiplos de Instrução Única (SIMD) da CPU para implementar a execução vetorizada. SIMD é um modo de implementação que usa uma única instrução para operar vários pedaços de dados e melhora o desempenho com paralelismo de dados (outros métodos incluem paralelismo no nível de instrução e paralelismo no nível de thread). O princípio dos SIMD é implementar operações de dados paralelas no nível do registrador da CPU.

Modelo relacional e consulta SQL

O ClickHouse usa SQL como linguagem de consulta e fornece APIs de consulta SQL padrão para integração fácil com o ClickHouse.

Além disso, o ClickHouse utiliza um modelo relacional. Portanto, o custo de migrar o sistema construído em um banco de dados relacional e tradicional ou armazém de dados para ClickHouse é menor.

Fragmentação de dados e consulta distribuída

O cluster de ClickHouse consiste em um ou mais partições, e cada partição corresponde a um nó de serviço ClickHouse. O número máximo de partições depende do número de nós (uma partição corresponde a apenas um nó de serviço).

ClickHouse apresenta os conceitos de tabela local e tabela distribuída. Uma tabela local é equivalente a uma partição de dados. Uma tabela distribuída em si não armazena nenhum dado. É um proxy de acesso da tabela local e funciona como o middleware de fragmentação. Com a ajuda de tabelas distribuídas, vários fragmentos de dados podem ser acessados usando o proxy, implementando assim a consulta distribuída.

Aplicações ClickHouse

ClickHouse é a abreviação de Click Stream e Data Warehouse. Ele é inicialmente aplicado a uma ferramenta de análise de tráfego da Web para realizar análise OLAP para armazéns de dados com base em fluxos de eventos de clique em página. Atualmente, o ClickHouse é amplamente utilizado em campos de publicidade na Internet, análise de tráfego de aplicações e Web, telecomunicações, finanças e Internet das Coisas (IoT). É aplicável a cenários de aplicações de business intelligence e possui um grande número de aplicações e práticas em todo o mundo. Para mais detalhes, visite https://clickhouse.tech/docs/en/introduction/adopters/.

Recursos de código aberto aprimorados de ClickHouse

O ClickHouse MRS tem vantagens como modo de cluster automático, implantação de HA e dimensionamento suave e elástico.

  • Modo de cluster automático
    Como mostrado em Figura 1, um cluster consiste em vários nós de ClickHouse, que não tem nenhum nó central. É mais um pool de recursos estáticos. Se o modo de cluster de ClickHouse for usado para serviços, será necessário pré-definir as informações do cluster no arquivo de configuração de cada nó. Somente assim, os serviços podem ser acessados corretamente.
    Figura 1 Cluster de ClickHouse
    Os usuários desconhecem as partições de dados e o armazenamento de réplicas em sistemas de banco de dados comuns. No entanto, o ClickHouse permite planejar e definir proativamente configurações detalhadas, como locais de fragmentos, partições e réplica. A instância de ClickHouse do MRS embala o trabalho de forma unificada e adapta-o ao modo automático, implementando um gerenciamento unificado, flexível e fácil de usar. Uma instância do ClickHouse consiste em três nós do ZooKeeper e vários nós do ClickHouse. O modo de réplica dedicada é usado para garantir alta confiabilidade de cópias de dados duplas.
    Figura 2 Estrutura do cluster do ClickHouse
  • Dimensionamento suave e elástico

    À medida que os negócios crescem rapidamente, o MRS fornece ClickHouse para cenários como capacidade de armazenamento do cluster ou recursos de computação da CPU que se aproximam do limite. Esta ferramenta é usada para migrar algumas partições de uma ou várias tabelas de MergeTree em vários nós de ClickHouseServer para as mesmas tabelas em outros nós de ClickHouseServer. Dessa forma, a disponibilidade do serviço é garantida e a expansão suave da capacidade é implementada.

    Ao adicionar nós de ClickHouse a um cluster, use essa ferramenta para migrar alguns dados dos nós existentes para os novos para balanceamento de dados após a expansão.

  • Arquitetura de implementação de HA

    O MRS usa a arquitetura de implementação de alta disponibilidade (HA) baseada em ELB para distribuir automaticamente o tráfego de acesso do usuário para vários nós de back-end, expandindo os recursos de serviço para sistemas externos e melhorando a tolerância a falhas. Conforme mostrado em Figura 3, quando uma aplicação de cliente solicita um cluster, o Elastic Load Balance (ELB) é usado para distribuir o tráfego. Com o mecanismo de sondagem do ELB, os dados são gravados em tabelas locais e lidos de tabelas distribuídas em diferentes nós. Desta forma, a carga de leitura/gravação de dados e a alta disponibilidade de acesso à aplicação são garantidas.

    Depois que o cluster de ClickHouse é provisionado, cada nó de instância de ClickHouse no cluster corresponde a uma réplica e duas réplicas formam uma partição lógica. Por exemplo, ao criar uma tabela de ReplicatedMergeTree, você pode especificar partições para que os dados possam ser sincronizados automaticamente entre duas réplicas na mesma partição.

    Figura 3 Arquitetura de implementação de HA

Relação entre ClickHouse e outros componentes

O ClickHouse depende do ZooKeeper para instalação e implementação.

As aplicações de computação de fluxo do Flink são usadas para gerar dados de relatórios comuns (tabelas detalhadas) e gravar os dados do relatório em ClickHouse em tempo quase real. Os jobs de Hive/Spark são usados para gerar dados de relatório comuns (tabelas detalhadas) e importar dados para ClickHouse em lote.

Atualmente, o ClickHouse não oferece suporte à interconexão com o Kafka no modo normal ou com o HDFS no modo de segurança.

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