Uma instância Shared-data separa o armazenamento da 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, permite consultas em data lake no Apache Hive, Iceberg, Hudi e Paimon sobre OSS, OSS-HDFS e HDFS sem necessidade de migração de dados, oferecendo um desempenho de três a cinco vezes superior ao do Presto.
Pré-requisitos
Registre uma conta Alibaba Cloud e conclua a verificação de identidade.
-
Como usuário RAM, você deve ter a política de sistema AliyunEMRStarRocksFullAccess. Para mais informações, consulte Grant permissions to a RAM user.
NotaA política de sistema AliyunEMRStarRocksFullAccess é necessá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 do E-MapReduce.
No painel de navegação à esquerda, escolha .
Na barra de menu 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 pay-as-you-go.
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ê na 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 Create and manage a VPC.
Nota-
Ao criar uma VPC, você deve selecionar 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)
-
-
Se sua instância Serverless StarRocks precisar acessar a Internet (por exemplo, para importar dados ou consultar tabelas externas), garanta que a VPC tenha acesso à Internet. Implante um gateway NAT de Internet na VPC e ative o recurso SNAT. Para mais informações, consulte Use the SNAT feature of an Internet NAT gateway to access the Internet.
-
-
Zona: Zona onde a instância está localizada.
-
vSwitch: Módulo básico de rede de uma VPC que conecta diferentes recursos de cloud.
Selecione um vSwitch existente ou clique em . Create vSwitch para acessar o console VPC e criar um novo. Para mais informações, consulte Create and manage a 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
Suporta a Basic Edition e a Standard Edition. Para mais informações, consulte Instance edition overview.
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: Suporta Standard Specifications.
-
Standard Edition: Suporta Standard Specifications e especificações 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 taxas de CU, consulte Billable items.
-
Data Disk: Apenas ESSD PL1 é suportado. O tamanho do disco de dados varia de 100 GB a 65.000 GB, com incrementos de 100.
Para mais informações sobre discos em cloud, consulte Enterprise SSDs.
-
HA: Ativada por padrão. A Standard Edition suporta alta disponibilidade. Ao ativar esse recurso, 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: Suporta os seguintes métodos.
-
Built-in Private Zone: Balanceia o tráfego via resolução de nomes de domínio PrivateZone sem custo adicional. Adequado para cenários leves ou sensíveis a custos.
Recomendado para ambientes fora de produção ou serviços 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 consulta fica disponível somente após a ativação do SLB.
É necessário ativar o service SLB, o que gera custos adicionais. Para mais informações, consulte CLB billing overview.
-
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: Suporta Standard Specifications.
-
Standard Edition: Suporta as 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 processamento 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 I/O.
-
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 I/O 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 taxas de CU, consulte Billable items.
-
Data Disk: Suporta 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 taxas de discos em cloud e discos efêmeros elásticos, consulte Billable items.
Para mais informações, consulte Enterprise SSDs e Elastic ephemeral disks.
Nota-
Insira a capacidade de armazenamento desejada e o sistema recomendará automaticamente uma configuração. Se a capacidade selecionada exceder o limiar recomendado, um aviso será exibido para ajudar no ajuste visando o desempenho ideal.
-
Apenas as especificações Standard Specifications, Memory-optimized Specifications e Compute enhanced suportam 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 de 1 a 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 How do I reset the password of an instance?
Para mais informações sobre parâmetros de instância, consulte Create an instance.
-
-
Selecione o acordo de serviço, 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 connect to a StarRocks instance 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 reside sua instância StarRocks.
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 de 1 a 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. Também é possível criar outros usuários conforme necessário. Para mais informações, consulte Manage Users and Data Authorization.
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 Connect to a StarRocks instance by using 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 comandos abaixo. 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 a seguir 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 para cada um é de 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 remota do OSS).
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 remotamente do OSS.
No nó CONNECTOR_SCAN referente à tabela insert_wiki_edit_nocache, CompressedBytesReadLocalDisk é
0.00e CompressedBytesReadRemote é804.63 MB, confirmando que todos os dados foram lidos remotamente do OSS.
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 SSB performance test instructions.
-
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 Diagnostics and Analysis.
Para visualizar e analisar todas as operações do banco de dados, consulte Audit Log.
Fale conosco
Em caso de dúvidas, junte-se ao nosso grupo de suporte no DingTalk pesquisando pelo ID 24010016636.