Uma instância Shared-data separa armazenamento de computação e armazena dados no Alibaba Cloud OSS. Esse modelo é ideal para cargas de trabalho sensíveis a custos, como análise OLAP e data warehousing. Além disso, oferece suporte a consultas em data lake nos formatos Apache Hive, Iceberg, Hudi e Paimon sobre OSS, OSS-HDFS e HDFS sem necessidade de migração de dados, proporcionando desempenho três a cinco vezes superior ao do Presto.
Pré-requisitos
Registre uma conta Alibaba Cloud e conclua a verificação de identidade.
-
Usuários RAM devem ter a política de sistema AliyunEMRStarRocksFullAccess. Para mais informações, consulte Conceder permissões a um usuário RAM.
NotaA política de sistema AliyunEMRStarRocksFullAccess é obrigatória para criar e gerenciar instâncias StarRocks.
Precauções
Você é responsável por gerenciar e configurar o ambiente de execução do seu código.
Procedimento
Etapa 1: Criar uma instância StarRocks Shared-data
-
Acesse a página da lista de instâncias E-MapReduce Serverless StarRocks.
Faça login no console E-MapReduce.
No painel de navegação à esquerda, escolha .
Na barra de menus superior, selecione a região desejada.
Na página Instances, clique em Create Instance.
-
Na página E-MapReduce Serverless StarRocks, configure a instância.
Parâmetro
Exemplo
Descrição
Product Type
pay-as-you-go
Selecione Pay-as-you-go. Para detalhes de faturamento, consulte pagamento conforme o uso.
Region
China (Beijing)
Localização física da instância.
ImportanteNão é possível alterar a região após a criação da instância. Escolha a região com atenção.
Network and zone
-
vpc_Hangzhou/vpc-bp1f4epmkvncimpgs****
-
Zone I
-
vsw_i/vsw-bp1e2f5fhaplp0g6p****
Selecione uma virtual private cloud (VPC), uma zona e o vSwitch correspondente.
-
VPC: Ambiente de rede isolado definido por você no Alibaba Cloud.
Selecione uma VPC existente ou clique em Create a VPC para acessar o console VPC e criar uma nova. Para mais informações, consulte Criar e gerenciar uma VPC.
Nota-
Ao criar uma VPC, selecione um bloco CIDR IPv4 de um dos três intervalos de rede privada definidos na RFC 1918:
-
10.0.0.0/8(10.0.0.0 a 10.255.255.255) -
172.16.0.0/12(172.16.0.0 a 172.31.255.255) -
192.168.0.0/16(192.168.0.0 a 192.168.255.255)
-
-
Caso sua instância Serverless StarRocks precise acessar a Internet (por exemplo, para importar dados ou consultar tabelas externas), garanta que a VPC tenha acesso à Internet. Implante um gateway NAT da Internet na VPC e ative o recurso SNAT. Para mais informações, consulte Usar o recurso SNAT de um gateway NAT da Internet para acessar a Internet.
-
-
Zona: Zona onde a instância está localizada.
-
vSwitch: Módulo básico de rede de uma VPC que conecta diferentes recursos de nuvem.
Selecione um vSwitch existente ou clique em . Create vSwitch para acessar o console VPC e criar um novo. Para mais informações, consulte Criar e gerenciar um vSwitch.
Instance Type
Shared-data
Indicado para cargas de trabalho com requisitos menores de desempenho de consulta, como análise multidimensional OLAP, análises em data lake, consultas federadas em tabelas externas, análises em tempo real e data warehousing.
Instance Edition
Standard Edition
Oferece suporte à Basic Edition e à Standard Edition. Para mais informações, consulte Visão geral das edições de instância.
NotaA Basic Edition está disponível apenas nas regiões China (Beijing), China (Shanghai), China (Shenzhen) e China (Hangzhou).
Kernel Version
3.3
Número da versão da comunidade StarRocks.
FE Specifications
-
Tipo de especificação: Standard Specifications
-
Unidades de computação (CUs): 8 CU
-
Disco de dados: ESSD PL1
-
Alta disponibilidade: Ativada por padrão
-
Número de nós: 3
-
Balanceamento de carga: PrivateZone integrado
-
Tipo de especificação: O tipo de especificação dos nós FE varia conforme a Instance Edition do StarRocks.
-
Basic Edition: Oferece suporte a Standard Specifications.
-
Standard Edition: Oferece suporte às especificações Standard Specifications e Memory-optimized Specifications.
-
-
Compute CUs: Selecione o número de unidades de computação (CUs).
Escolha a especificação de CU adequada conforme sua necessidade. Para mais informações sobre as taxas de CU, consulte Itens faturáveis.
-
Data Disk: Apenas ESSD PL1 é suportado. O tamanho do disco de dados varia de 100 GB a 65000 GB, com incrementos de 100.
Para mais informações sobre discos em nuvem, consulte SSDs Empresariais.
-
HA: Ativada por padrão. A Standard Edition oferece alta disponibilidade. Ao ativar a alta disponibilidade, o número de nós FE do StarRocks aumenta de 1 para 3, reduzindo o risco de falhas.
ImportanteRecomendamos fortemente ativar a alta disponibilidade em ambientes de produção.
-
Number of Nodes: Quantidade de nós FE. O valor deve ser um número ímpar entre 1 e 11.
-
Load balancing: Oferece suporte aos seguintes métodos.
-
Built-in Private Zone: Balanceia o tráfego por meio da resolução de nomes de domínio do PrivateZone, sem custo adicional. Adequado para cenários leves ou sensíveis a custos.
Recomendado para ambientes fora de produção ou service com baixos requisitos de balanceamento de carga.
-
Load balancing SLB: Oferece balanceamento de carga de alto desempenho através do service SLB. Recomendado para ambientes de produção com altos requisitos de desempenho e confiabilidade.
O recurso para remover o líder FE do tráfego de consultas só fica disponível após a ativação do SLB.
É necessário ativar o service SLB, o que gera custos adicionais. Para mais informações, consulte Visão geral do faturamento do CLB.
-
CN Specifications
-
Tipo de especificação: Standard Specifications
-
Unidades de computação (CUs): 8 CU
-
Disco de dados: ESSD PL1, 200 GB, 1 disco
-
Número de nós: 3
-
Tipo de especificação: O tipo de especificação dos nós CN varia conforme a Instance Edition do StarRocks.
-
Basic Edition: Oferece suporte a Standard Specifications.
-
Standard Edition: Oferece suporte às seguintes especificações.
Standard Specifications: Opção padrão e recomendada. 1 CU = 1 núcleo de CPU + 4 GiB de memória. Esta especificação utiliza ESSD para armazenamento do StarRocks.
Memory-optimized Specifications: 1 RCU = 1 núcleo de CPU + 8 GiB de memória. Indicada para cenários intensivos em memória, como execução de muitas consultas complexas ou tratamento de solicitações de alta concorrência. Utiliza ESSD para armazenamento do StarRocks.
Network-enhanced Specifications: 1 NCU = 1 núcleo de CPU + 4 GiB de memória, oferecendo mais que o dobro da largura de banda de rede das especificações padrão. Ideal para cenários que envolvem varredura de grandes volumes de dados em tabelas externas. Utiliza ESSD para armazenamento do StarRocks.
High-performance Storage: É necessário selecionar especificações detalhadas para este tipo. Utiliza SSD local para armazenamento do StarRocks, sendo ideal para cenários com requisitos rigorosos de desempenho de E/S.
High-specification Storage: É necessário selecionar especificações detalhadas para este tipo. Utiliza HDD local para armazenamento do StarRocks. Este tipo é ideal para armazenar volumes de dados muito grandes a um custo menor, mas possui desempenho de E/S inferior.
-
-
Compute CUs: Selecione o número de unidades de computação (CUs).
Escolha a especificação de CU adequada conforme sua necessidade. Para mais informações sobre as taxas de CU, consulte Itens faturáveis.
-
Data Disk: Oferece suporte a ESSD PL0, ESSD PL1 Cloud Disk (Recommended), ESSD PL2, ESSD PL3, Elastic temporary disk (standard edition) e Elastic temporary disk (Advanced Edition). Para mais informações sobre as taxas de discos em nuvem e discos efêmeros elásticos, consulte Itens faturáveis.
Para mais informações, consulte SSDs Empresariais e Discos efêmeros elásticos.
Nota-
Insira a capacidade de armazenamento desejada e o sistema recomendará automaticamente uma configuração. Se a capacidade selecionada exceder o limiar recomendado, uma mensagem será exibida para ajudar no ajuste visando o desempenho ideal.
-
Apenas as especificações Standard Specifications, Memory-optimized Specifications e Compute enhanced oferecem suporte a discos efêmeros elásticos. Discos efêmeros elásticos possuem limitações de regiões e zonas.
-
-
Number of Nodes: Quantidade de nós CN. O valor pode variar de 1 a 100.
Instance Name
Insira um nome personalizado para a instância.
O nome da instância deve ter entre 1 e 64 caracteres e pode conter caracteres chineses, letras, dígitos, hifens (-) e sublinhados (_).
Administrator
admin
Conta de administrador integrada para gerenciamento do StarRocks. O nome de usuário padrão não pode ser alterado.
Password e Confirm Password
Insira uma senha personalizada.
Senha da conta de administrador integrada da instância StarRocks. Guarde esta senha para uso futuro. Caso esqueça a senha, redefina-a. Para mais informações, consulte Como redefinir a senha de uma instância?
Para mais informações sobre os parâmetros da instância, consulte Criar uma instância.
-
-
Selecione o acordo de service, clique em Create Instance e conclua o pagamento conforme solicitado.
Após o pagamento, retorne à página de gerenciamento de instâncias. A instância será criada com sucesso quando seu Status mudar para Running.
Etapa 2: Conectar-se a uma instância StarRocks
-
Na página Instances, localize a instância desejada e clique em Connect na coluna Actions.
Também é possível conectar-se a uma instância StarRocks de outras formas.
-
Conecte-se à instância StarRocks.
-
Na aba New Connection, configure os seguintes parâmetros.
Após concluir a configuração, clique em Test Network Connectivity para validar a conexão e, em seguida, clique em OK para criá-la.
Parâmetro
Exemplo
Descrição
Region
China (Hangzhou)
Selecione a região onde sua instância StarRocks está localizada.
Instance
StarRocks_Serverless
Selecione a instância StarRocks à qual deseja se conectar.
Name
Connection_Serverless
Insira um nome personalizado para a conexão.
O nome deve ter entre 1 e 64 caracteres e pode conter caracteres chineses, letras, dígitos, hifens (-) e sublinhados (_).
Username
Insira um valor conforme suas necessidades reais.
O nome de usuário padrão é admin. Você também pode criar outros usuários conforme necessário. Para mais informações, consulte Gerenciar Usuários e Autorização de Dados.
Password
Insira um valor conforme seus requisitos.
Senha correspondente ao nome de usuário especificado.
Clique em Test Connectivity.
-
Após o teste de conexão ser bem-sucedido, clique em OK.
Você será redirecionado para a página SQL Editor, onde poderá executar consultas SQL. Para mais informações, consulte Conectar-se a uma instância StarRocks usando o EMR StarRocks Manager.
-
Etapa 3: Executar consultas SQL
Na página Queries do SQL Editor, clique no ícone
.Na caixa de diálogo New, clique em Confirm.
-
No novo arquivo, insira os seguintes comandos. Selecione todos os comandos e clique em Run.
/**Create a database**/ CREATE DATABASE IF NOT EXISTS load_test; /**Use the database**/ USE load_test; /**Create a table**/ CREATE TABLE insert_wiki_edit ( event_time DATETIME, channel VARCHAR(32) DEFAULT '', user VARCHAR(128) DEFAULT '', is_anonymous TINYINT DEFAULT '0', is_minor TINYINT DEFAULT '0', is_new TINYINT DEFAULT '0', is_robot TINYINT DEFAULT '0', is_unpatrolled TINYINT DEFAULT '0', delta INT SUM DEFAULT '0', added INT SUM DEFAULT '0', deleted INT SUM DEFAULT '0' ) AGGREGATE KEY(event_time, channel, user, is_anonymous, is_minor, is_new, is_robot, is_unpatrolled) PARTITION BY RANGE(event_time) ( PARTITION p06 VALUES LESS THAN ('2015-09-12 06:00:00'), PARTITION p12 VALUES LESS THAN ('2015-09-12 12:00:00'), PARTITION p18 VALUES LESS THAN ('2015-09-12 18:00:00'), PARTITION p24 VALUES LESS THAN ('2015-09-13 00:00:00') ) DISTRIBUTED BY HASH(user) BUCKETS 10 PROPERTIES("replication_num" = "1"); /**Insert data**/ INSERT INTO insert_wiki_edit VALUES("2015-09-12 00:00:00","#en.wikipedia","GELongstreet",0,0,0,0,0,36,36,0),("2015-09-12 00:00:00","#ca.wikipedia","PereBot",0,1,0,1,0,17,17,0); /**Query data**/ select * from insert_wiki_edit;
Os resultados da consulta serão exibidos.
Execute o comando SHOW CREATE TABLE load_test.insert_wiki_edit; e verifique a propriedade datacache.enable para confirmar que a instância Shared-data está ativa. Após criar o banco de dados e a tabela, você encontrará seus diretórios no bucket do OSS.
Execute o comando SHOW CREATE TABLE load_test.insert_wiki_edit;. O resultado inclui a propriedade datacache.enable, confirmando que a separação de armazenamento e computação está ativa. O exemplo abaixo mostra a seção principal de PROPERTIES.
DISTRIBUTED BY HASH(user) BUCKETS 10 PROPERTIES ("replication_num" = "1", "datacache.enable" = "true", "storage_volume" = "builtin_storage_volume", "enable_async_write_back" = "false", "enable_persistent_index" = "false", "compression" = "LZ4");
Etapa 4: Visualizar informações da tabela
-
No novo arquivo, execute o seguinte comando para visualizar os bancos de dados:
SHOW PROC '/dbs';O resultado lista cinco bancos de dados:
information_schema(DbId=1, TableNum=46),sys(DbId=100, TableNum=6),_starrocks_audit_db_(DbId=10004, TableNum=1),_statistics_(DbId=10023, TableNum=8) eload_test(DbId=10120, TableNum=1). A cota (Quota) de cada um é 8.388.608,000 TB, e a coluna LastConsistencyCheckTime está vazia. -
Execute o seguinte comando para visualizar informações detalhadas da tabela:
SHOW PROC '/dbs/10120';O resultado inclui colunas como TableId, TableName, IndexNum, PartitionColumnName, PartitionNum, State, Type, ReplicaCount, PartitionType e StoragePath.
No modo de separação de armazenamento e computação, um Type igual a
CLOUD_NATIVEidentifica uma tabela Shared-data. O campoStoragePathindica onde os dados da tabela estão armazenados.
Etapa 5: Demonstrar o recurso de cache
No painel de navegação à esquerda, escolha .
Localize a consulta e clique no ID da consulta.
-
Clique na aba Execution Details.
Na árvore de execução do perfil, localize os nós relevantes para encontrar as seguintes métricas: CompressedBytesReadLocalDisk (leitura do cache local) e CompressedBytesReadRemote (leitura do OSS remoto).
Neste exemplo, a tabela insert_wiki_edit_cache tem o cache local ativado, e as métricas confirmam que a consulta atingiu totalmente o cache local.
No painel de métricas do nó CONNECTOR_SCAN, o valor de CompressedBytesReadLocalDisk é 729,52 MB, e o valor de CompressedBytesReadRemote é 0,00.
As métricas da tabela insert_wiki_edit_nocache mostram que a consulta não atingiu o cache local e todos os dados foram lidos do OSS remoto.
No nó CONNECTOR_SCAN referente à tabela insert_wiki_edit_nocache, CompressedBytesReadLocalDisk é
0.00, e CompressedBytesReadRemote é804.63 MB, confirmando que todos os dados foram lidos do OSS remoto.
Etapa 6: Executar um teste de desempenho
Este exemplo compara o desempenho de consultas entre a separação de armazenamento e computação (com cache local) e a integração de armazenamento e computação. Para uma comparação mais detalhada usando o conjunto de testes SSB, consulte Instruções de teste de desempenho SSB.
-
Prepare o ambiente de dados.
Configuração de recursos do cluster: 1 FE (8 CUs) + 3 CNs (Computação: 16 CUs | Armazenamento: 1.000 GB).
Parâmetros do cluster: Use as configurações padrão. Ative o cache local para o cluster de separação de armazenamento e computação.
Volume de dados: 500 GB (sf=500)
-
Resultados do teste.
Tempo total para integração de armazenamento e computação: 21,586s.
Tempo total para separação de armazenamento e computação (com cache local ativado na segunda execução): 27,364s.
Tempo total para separação de armazenamento e computação (sem cache local ativado): 117,529s.
Após executar o teste SSB com o script sh ssb_query.sh ssb, os resultados mostram que, com o cache local ativado, a separação de armazenamento e computação apresenta desempenho quase idêntico à integração de armazenamento e computação, superando significativamente a configuração sem cache local.
|
SQL |
Integração de armazenamento e computação |
Separação de armazenamento e computação (cache ativado) |
Separação de armazenamento e computação (cache desativado) |
|
Q1.1 |
0m0.373s |
0m0.380s |
0m2.080s |
|
Q1.2 |
0m0.303s |
0m0.292s |
0m2.141s |
|
Q1.3 |
0m0.101s |
0m0.097s |
0m0.144s |
|
Q2.1 |
0m2.461s |
0m2.821s |
0m14.401s |
|
Q2.2 |
0m2.272s |
0m2.735s |
0m13.048s |
|
Q2.3 |
0m2.168s |
0m2.588s |
0m13.957s |
|
Q3.1 |
0m4.536s |
0m4.864s |
0m14.810s |
|
Q3.2 |
0m2.371s |
0m2.682s |
0m11.292s |
|
Q3.3 |
0m2.082s |
0m2.648s |
0m13.651s |
|
Q3.4 |
0m0.195s |
0m0.212s |
0m0.572s |
|
Q4.1 |
0m5.122s |
0m5.847s |
0m29.576s |
|
Q4.2 |
0m1.141s |
0m1.369s |
0m1.465s |
|
Q4.3 |
0m0.661s |
0m0.829s |
0m0.792s |
|
Total |
21.586s |
27.364s |
117.529s |
(Opcional) Etapa 7: Liberar a instância
Esta operação exclui a instância e todos os seus recursos. Essa ação não pode ser desfeita. Proceda com cautela.
Para evitar cobranças adicionais, libere a instância quando não precisar mais dela.
Na página Instances, clique em Release na coluna Actions da instância.
Na caixa de diálogo exibida, clique em OK.
Documentação relacionada
Para mais informações sobre o SQL Editor, consulte SQL Editor.
Para visualizar detalhes de consultas SQL, analisar planos de execução e solucionar problemas de SQL, consulte Diagnóstico e Análise.
Para visualizar e analisar todas as operações do banco de dados, consulte Log de Auditoria.
Fale conosco
Em caso de dúvidas, junte-se ao nosso grupo de suporte no DingTalk pesquisando pelo ID 24010016636.