Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Existem cinco tipos de tabelas em um cluster, cada uma armazenada de forma diferente em nós e usada para finalidades diferentes.
Tabelas distribuídas
O primeiro tipo são tabelas distribuídas e este é o mais comum. Elas parecem ser tabelas normais para instruções SQL, mas são particionados horizontalmente entre nós de trabalho. Isso significa que as linhas da tabela são armazenadas em nós diferentes, em tabelas de fragmento chamadas de fragmentos.
Os clusters elásticos executam não apenas instruções SQL, mas DDL (Linguagem de Definição de Dados) em um cluster. Alterar o esquema de uma tabela distribuída em cascata para atualizar todos os fragmentos da tabela entre os trabalhos. Essas operações precisam ser feitas por meio de uma conexão pela porta 5432.
Coluna distribuída
Os clusters elásticos usam fragmentação algorítmica para atribuir linhas a fragmentos. A atribuição é feita de forma determinista com base no valor de uma coluna de tabela chamada coluna de distribuição. O administrador de cluster deve designar esta coluna ao distribuir uma tabela. É importante fazer a escolha certa por questões de desempenho e funcionalidade.
Tabelas de referência
Uma tabela de referência é um tipo de tabela distribuída cujo conteúdo inteiro está concentrado em um único fragmento. O fragmento é replicado em todos os trabalhos. As consultas em um trabalho podem acessar as informações de referência localmente, sem a sobrecarga de rede de solicitar linhas de outro nó. Tabelas de referência não têm nenhuma coluna de distribuição porque não há necessidade de distinguir fragmentos separados por linha.
As tabelas de referência em geral são pequenas e usadas para armazenar dados relevantes para consultas em execução em outros nós de trabalho. Um exemplo são valores enumerados, como status de pedidos ou categorias de produtos.
Tabelas locais
Ao usar o cluster elástico, cada nó é um banco de dados PostgreSQL regular. Você poderá criar tabelas comuns sobre eles e optar por não fragmentá-las.
Um bom candidato para tabelas locais seria as tabelas administrativas pequenas que não participam de consultas de junção. Um exemplo é uma tabela users para entrada e autenticação do aplicativo. Esse tipo de tabela só é útil quando você não planeja balancear a carga da conexão entre um cluster elástico usando a porta 7432 ou 8432.
Tabelas gerenciadas locais
Os clusters elásticos poderão adicionar automaticamente tabelas locais aos metadados se houver uma referência de chave estrangeira entre uma tabela local e uma tabela de referência. Além disso, as tabelas gerenciadas localmente podem ser criadas manualmente executando a função citus_add_local_table_to_metadata em tabelas locais regulares. As tabelas presentes nos metadados são consideradas tabelas gerenciadas e podem ser consultadas de qualquer nó. O Citus sabe rotear para o nó para obter dados da tabela gerenciada local. Essas tabelas são exibidas como locais na exibição citus_tables.
Tabelas de esquema
Com a fragmentação baseada em esquema, os esquemas distribuídos são automaticamente associados a grupos de colocação individuais. As tabelas criadas nesses esquemas são convertidas automaticamente em tabelas distribuídas colocadas sem uma chave de fragmento. Essas tabelas são consideradas tabelas de esquema e são exibidas como esquema no modo de exibição citus_tables.