Foi publicada a base de dados distribuída Citus 13.0

A empresa Citus Data, pertencente à Microsoft, publicou a base de dados distribuída Citus 13.0, implementada na forma de uma extensão para o PostgreSQL 17. O Citus fornece escalabilidade horizontal ao PostgreSQL em um cluster baseado em hardware padrão e permite distribuir dados entre nós usando sharding (partição) com configuração de divisão em nível de coluna e esquema de armazenamento. Para aplicações, o cluster Citus aparece como um grande servidor PostgreSQL unindo os recursos dos nós que o compõem. O código é escrito em C e distribuído sob a licença AGPLv3.

O sharding permite organizar o armazenamento de grandes volumes de dados, cujo tamanho total excede significativamente os dispositivos de armazenamento locais de cada nó do cluster. Tabelas individuais podem ser replicadas em todos os nós para acelerar operações de mesclagem e o trabalho com chaves externas. Para economizar espaço em disco, os dados distribuídos entre os nós podem ser armazenados de forma compactada.

Consultas distribuídas podem ser enviadas para qualquer um dos nós do cluster, mas a gestão e a alteração do esquema de dados devem ser feitas apenas através do nó que coordena o funcionamento do cluster. As solicitações dos clientes são distribuídas pelos nós necessários e, se abrangerem vários nós, seu processamento é realizado em paralelo. O cluster pode ser expandido à medida que o tamanho dos dados armazenados cresce, adicionando nós adicionais e iniciando a redistribuição.

Exemplos típicos do uso do Citus incluem a execução de consultas analíticas e o processamento de grandes volumes de dados na forma de séries temporais (por exemplo, logs ou pesquisas de estado de sensores). O Citus também é adequado para modernizar a infraestrutura existente baseada em um único servidor PostgreSQL, cuja performance e armazenamento se tornaram insuficientes devido ao aumento da carga ou ao volume de dados recebidos. Com a ferramenta Patroni, é possível criar configurações resilientes com nós de reserva replicados, capazes de assumir o lugar dos nós principais em caso de falha.

Mudanças na versão Citus 13.0:

  • Transição para o uso da versão do PostgreSQL 17.
  • A possibilidade de usar a função JSON_TABLE() em consultas distribuídas para converter dados do formato JSON em uma representação relacional, que pode ser manipulada como tabelas PostgreSQL comuns.
  • Suporte à sintaxe "MERGE … WHEN NOT MATCHED BY SOURCE".
  • Possibilidade de definir o método de acesso para tabelas particionadas distribuídas usando a expressão "CREATE TABLE … USING", assim como alterar o método de acesso por meio de "ALTER TABLE … SET ACCESS METHOD".
  • Adicionado suporte à definição de colunas de identificação geradas automaticamente em tabelas particionadas distribuídas.
  • Permitido o uso de restrições de exclusão em tabelas particionadas distribuídas.
  • Resolvidos problemas de sincronização de funções entre nós.
  • Melhorada a distribuição de dados para sharding ao adicionar novos nós ao cluster.
  • Adicionadas as opções "MEMORY" e "SERIALIZE" ao comando "EXPLAIN", que permitem determinar o tamanho da memória utilizada e o tempo gasto na transformação de dados para transmissão pela rede.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster