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
Nesta página

Princípios básicos do HBase

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

O HBase realiza o armazenamento de dados. O HBase é um sistema de armazenamento distribuído de código aberto, orientado a colunas, adequado para armazenar grandes quantidades de dados não estruturados ou semi estruturados. Possui alta confiabilidade, alto desempenho e escalabilidade flexível e suporta leitura/gravação de dados em tempo real. Para obter mais informações sobre o HBase, https://hbase.apache.org/.

As características típicas de uma tabela armazenada no HBase são as seguintes:

  • Tabela grande (BigTable): uma tabela contém centenas de milhões de linhas e milhões de colunas.
  • Orientado à coluna: armazenamento orientado a colunas, recuperação e controle de permissão
  • Esparso: colunas nulas na tabela não ocupam nenhum espaço de armazenamento.

O MRS HBase suporta indexação secundária para permitir que índices sejam criados para valores de coluna, de modo que os dados possam ser filtrados por coluna usando APIs do HBase nativo.

Arquitetura do HBase

Um cluster do HBase consiste em processos de HMaster ativo e em espera e vários processos do RegionServer.

Figura 1 Arquitetura do HBase
Tabela 1 Descrição do módulo

Módulo

Descrição

Master

Master também é chamado de HMaster. No modo HA, o HMaster consiste em um HMaster ativo e um HMaster em espera.

  • Master ativo: gerencia RegionServer no HBase, incluindo a criação, exclusão, modificação e consulta de uma tabela, equilibra a carga de RegionServer, ajusta a distribuição de Region, divide e distribui Region depois de dividida e migra Region após RegionServer expirar.
  • Master em espera: assume os serviços quando o HMaster ativo está com defeito. O HMaster ativo original é rebaixado para o HMaster em espera depois que a falha é corrigida.

Client

Client se comunica com o Master para gerenciamento e com o RegionServer para proteção de dados usando Chamada de procedimento remoto mecanismo (RPC) do HBase.

RegionServer

O RegionServer fornece serviços de leitura e gravação de dados de tabela como uma unidade de processamento e computação de dados no HBase.

O RegionServer é implementado com DataNodes de clusters do HDFS para armazenar dados.

Cluster do ZooKeeper

O ZooKeeper fornece serviços de coordenação distribuídos para processos em clusters do HBase. Cada RegionServer é registrado no ZooKeeper para que o Mestre ativo possa obter o status de saúde de cada RegionServer.

Cluster do HDFS

O HDFS fornece serviços de armazenamento de arquivos altamente confiáveis para o HBase. Todos os dados do HBase são armazenados no HDFS.

Princípios do HBase

  • Modelo de dados do HBase

    O HBase armazena dados em tabelas, conforme mostrado na Figura 2. Os dados em uma tabela são divididos em várias Regions, que são alocadas pelo Master para RegionServers para gerenciamento.

    Cada Region contém dados dentro de um intervalo de RowKey. Uma tabela de dados do HBase contém apenas uma região no início. À medida que o número de dados aumenta e atinge o limite superior da capacidade da Region, a Region é dividida em duas Regiões. Você pode definir o intervalo de RowKey de uma Region ao criar uma tabela ou definir o tamanho da Region no arquivo de configuração.

    Figura 2 Modelo de dados do HBase
    Tabela 2 Conceitos

    Módulo

    Descrição

    RowKey

    Semelhante à chave primária em uma tabela de relacionamento, que é o ID exclusivo dos dados em cada linha. Uma RowKey pode ser uma cadeia, inteiro ou binário. Todos os registros são armazenados depois de serem classificados por RowKey.

    Timestamp

    O timestamp de uma operação de dados. Os dados podem ser especificados com versões diferentes por carimbo de data/hora. Os dados de diferentes versões em cada cell são armazenados por tempo em ordem decrescente.

    Cell

    Unidade mínima de armazenamento de HBase, consistindo de chaves e valores. Uma chave consiste em seis campos, a saber namely row, column family, column qualifier, timestamp, type e MVCC version. Os valores são os objetos de dados binários.

    Column Family

    Uma ou várias column families horizontais formam uma tabela. Uma column family pode consistir em várias columns aleatórias. Uma column é um rótulo sob uma column family, que pode ser adicionado conforme necessário quando os dados são gravados. A column family suporta expansão dinâmica para que o número e o tipo de columns não precisem ser predefinidos. Columns de uma tabela no HBase são esparsamente distribuídas. O número e o tipo de columns em linhas diferentes podem ser diferentes. Cada column family tem o tempo de vida independente (TTL). Você pode bloquear apenas a linha. As operações na linha de uma column family são as mesmas que as de outras linhas.

    Column

    Semelhante aos bancos de dados tradicionais, as tabelas HBase também usam columns para armazenar dados do mesmo tipo.

  • Armazenamento de dados do RegionServer

    O RegionServer gerencia as regiões alocadas pelo HMaster. Figura 3 mostra a estrutura de armazenamento de dados do RegionServer.

    Figura 3 Estrutura de armazenamento de dados RegionServer

    Tabela 3 lista cada componente da Region descrita em Figura 3.

    Tabela 3 Descrição da estrutura da Region

    Módulo

    Descrição

    Store

    Uma Region consiste em um ou vários Stores. Cada Store mapeia uma column family em Figura 2.

    MemStore

    Um Store contém um MemStore. O MemStore armazena em cache os dados inseridos em uma Region pelo cliente. Quando a capacidade do MemStore atinge o limite superior, o RegionServer libera os dados do MemStore para o HDFS.

    StoreFile

    Os dados liberados no HDFS são armazenados como um StoreFile no HDFS. À medida que mais dados são inseridos, vários StoreFiles são gerados em um Store. Quando o número de StoreFiles atinge o limite superior, RegionServer mescla vários StoreFiles em um StoreFile grande.

    HFile

    HFile define o formato de armazenamento de StoreFiles em um sistema de arquivos. HFile é a implementação subjacente do StoreFile.

    HLog

    HLogs evitam a perda de dados quando o RegionServer está com defeito. Várias Regions em um RegionServer compartilham o mesmo HLog.

  • Tabela de metadados

    A tabela de metadados é uma tabela do HBase especial, que é usada pelo cliente para localizar uma região. A tabela de metadados inclui hbase:meta para registrar informações de região de tabelas de usuário, como o local da região e início e fim de RowKey.

    Figura 4 mostra a relação de mapeamento entre tabelas de metadados e tabelas de usuário.

    Figura 4 Relações de mapeamento entre tabelas de metadados e tabelas de usuário
  • Processo de operação de dados
    Figura 5 mostra o processo de operação de dados do HBase.
    Figura 5 Processamento de dados
    1. Quando você adiciona, exclui, modifica e consulta dados do HBase, o cliente do HBase primeiro se conecta a ZooKeeper para obter informações sobre o RegionServer onde a tabela hbase:meta está localizada. Se você modificar o namespace, como criar e excluir uma tabela, precisará acessar o HMaster para atualizar as meta informações.
    2. O cliente do HBase se conecta à RegionServer onde a região da tabela hbase:meta está localizada e obtém o local RegionServer onde a região da tabela de usuário reside.
    3. Em seguida, o cliente do HBase se conecta à RegionServer onde a região da tabela de usuários está localizada e emite um comando de operação de dados para o RegionServer. O RegionServer executa o comando.

    Para melhorar a eficiência do processamento de dados, o cliente HBase armazena em cache as informações de região da tabela hbase:meta e da tabela de usuário. Quando uma aplicação inicia uma segunda operação de dados, o cliente do HBase consulta as informações de região da memória. Se nenhuma correspondência for encontrada na memória, o cliente do HBase executará as operações anteriores para obter informações de região.

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