Condividi tramite


API SQL distribuita di Azure Cosmos DB per PostgreSQL

SI APPLICA A: Azure Cosmos DB for PostgreSQL (con tecnologia basata su estensione di database Citus per PostgreSQL)

Azure Cosmos DB for PostgreSQL include funzionalità oltre quelle standard di PostgreSQL. Di seguito è riportato un riferimento categorizzato di funzioni e opzioni di configurazione per:

  • Parallelizzazione dell'esecuzione di query tra partizioni
  • Gestione dei dati partizionati tra più server
  • Compressione dei dati con archiviazione a colonne
  • Automazione del partizionamento delle serie temporali

Funzioni SQL

Partizionamento orizzontale

Nome Descrizione
alter_distributed_table Modificare la colonna di distribuzione, il numero di partizioni o le proprietà di condivisione di una tabella distribuita
citus_copy_shard_placement Ripristinare un posizionamento di partizioni inattive usando i dati di un posizionamento integro
citus_schema_distribute Trasformare uno schema PostgreSQL in uno schema distribuito
citus_schema_undistribute Annullare l'azione di citus_schema_distribute
create_distributed_table Trasformare una tabella PostgreSQL in una tabella distribuita (partizionata)
create_reference_table Mantenere copie complete di una tabella sincronizzata tra tutti i nodi
citus_add_local_table_to_metadata Aggiungere una tabella locale ai metadati per abilitare l'esecuzione di query da qualsiasi nodo
isolate_tenant_to_new_shard Creare una nuova partizione per contenere righe con un singolo valore specifico nella colonna di distribuzione
truncate_local_data_after_distributing_table Tronca tutte le righe locali dopo la distribuzione di una tabella
undistribute_table Annullare l'azione di create_distributed_table o create_reference_table

Ribilanciamento delle partizioni

Nome Descrizione
citus_add_rebalance_strategy Accodare una riga a pg_dist_rebalance_strategy
citus_move_shard_placement In genere usato indirettamente durante il ribilanciamento della partizione anziché essere chiamato direttamente da un amministratore di database
citus_set_default_rebalance_strategy Modificare la strategia denominata dal relativo argomento in modo che sia l'impostazione predefinita scelta quando si ribilanciano le partizioni
get_rebalance_progress Monitorare gli spostamenti pianificati ed eseguiti da rebalance_table_shards
get_rebalance_table_shards_plan Output dei movimenti di partizioni pianificati di rebalance_table_shards senza eseguirli
rebalance_table_shards Spostare le partizioni della tabella specificata per distribuirle uniformemente tra i ruoli di lavoro

Inserimento in un percorso condiviso

Nome Descrizione
create_distributed_function Rendere la funzione eseguita sui ruoli di lavoro vicino alle partizioni con percorso condiviso
update_distributed_table_colocation Aggiornare o interrompere la corilevazione di una tabella distribuita

Archiviazione a colonne

Nome Descrizione
alter_columnar_table_set Modificare le impostazioni in una tabella a colonne
alter_table_set_access_method Convertire una tabella tra l'archiviazione heap o l'archiviazione a colonne

Partizionamento timeeries

Nome Descrizione
alter_old_partitions_set_access_method Modificare il metodo di archiviazione delle partizioni
create_time_partitions Creare partizioni di un determinato intervallo per coprire un determinato intervallo di tempo
drop_old_time_partitions Rimuovere tutte le partizioni i cui intervalli rientrano prima di un timestamp specificato

Informativo

Nome Descrizione
citus_get_active_worker_nodes Ottenere nomi host di lavoro attivi e numeri di porta
citus_relation_size Ottenere lo spazio su disco usato da tutte le partizioni della tabella distribuita specificata
citus_remote_connection_stats Mostra il numero di connessioni attive a ogni nodo remoto
citus_stat_statements_reset Rimuovere tutte le righe da citus_stat_statements
citus_table_size Ottenere lo spazio su disco usato da tutte le partizioni della tabella distribuita specificata, esclusi gli indici
citus_total_relation_size Ottenere lo spazio totale su disco usato da tutte le partizioni della tabella distribuita specificata, inclusi tutti gli indici e i dati TOAST
column_to_column_name Tradurre la partkey colonna di in un nome di pg_dist_partition colonna testuale
get_shard_id_for_distribution_column Trovare l'ID partizione associato a un valore della colonna di distribuzione

Parametri del server

Esecuzione della query

Nome Descrizione
citus.all_modifications_commutative Consenti a tutti i comandi di richiedere un blocco condiviso
citus.count_distinct_error_rate Ottimizzare la frequenza di errore del conteggio approssimativo di postgresql-hll
citus.enable_repartition_joins Consenti JOIN eseguite su colonne non di distribuzione
citus.enable_repartitioned_insert_select Consentire il ripartizionamento delle righe dall'istruzione SELECT e trasferirle tra i ruoli di lavoro per l'inserimento
citus.limit_clause_row_fetch_count Numero di righe da recuperare per ogni attività per l'ottimizzazione della clausola limit
citus.local_table_join_policy Posizione in cui i dati vengono spostati durante l'esecuzione di un join tra tabelle locali e distribuite
citus.multi_shard_commit_protocol Protocollo di commit da usare per l'esecuzione di COPY in una tabella con distribuzione hash
citus.propagate_set_commands Quali comandi SET vengono propagati dal coordinatore ai lavoratori
citus.create_object_propagation Comportamento delle istruzioni CREATE nelle transazioni per gli oggetti supportati
citus.use_citus_managed_tables Consentire l'accesso alle tabelle locali nelle query del nodo di lavoro

Informativo

Nome Descrizione
citus.explain_all_tasks Impostare l'output EXPLAIN per visualizzare tutte le attività
citus.explain_analyze_sort_method Metodo di ordinamento delle attività nell'output di EXPLAIN ANALYZE
citus.log_remote_commands Query di log inviate dal coordinatore ai nodi di lavoro
citus.multi_task_query_log_level Livello di log per qualsiasi query che genera più attività
citus.stat_statements_max Numero massimo di righe da archiviare in citus_stat_statements
citus.stat_statements_purge_interval Frequenza con cui il daemon di manutenzione rimuove i record da citus_stat_statements che non corrispondono pg_stat_statements
citus.stat_statements_track Abilitare/disabilitare il rilevamento delle istruzioni
citus.show_shards_for_app_name_prefixes Consente di visualizzare le partizioni per i client selezionati che vogliono visualizzarli
citus.override_table_visibility Abilitare/disabilitare l'nascondere la partizione

Gestione delle connessioni tra nodi

Nome Descrizione
citus.executor_slow_start_interval Tempo di attesa in millisecondi tra l'apertura delle connessioni allo stesso nodo di lavoro
citus.force_max_query_parallelization Aprire il maggior numero possibile di connessioni
citus.max_adaptive_executor_pool_size Numero massimo di connessioni di lavoro per sessione
citus.max_cached_conns_per_worker Numero di connessioni mantenute aperte per velocizzare i comandi successivi
citus.node_connection_timeout Durata massima (in millisecondi) di attesa per la creazione della connessione

Trasferimento dei dati

Nome Descrizione
citus.enable_binary_protocol Usare il formato di serializzazione binaria di PostgreSQL (se applicabile) per trasferire i dati con i ruoli di lavoro
citus.max_intermediate_result_size Dimensioni in KB dei risultati intermedi per le unità di analisi e le sottoquery che non possono essere spostate verso il basso

Deadlock

Nome Descrizione
citus.distributed_deadlock_detection_factor Tempo di attesa prima di verificare la presenza di deadlock distribuiti
citus.log_distributed_deadlock_detection Indica se registrare l'elaborazione correlata al rilevamento dei deadlock distribuiti nel log del server

Tabelle di sistema

Il nodo coordinatore contiene tabelle e viste di metadati che consentono di visualizzare le proprietà dei dati e l'attività di query nel cluster.

Nome Descrizione
citus_dist_stat_activity Query distribuite in esecuzione in tutti i nodi
citus_lock_waits Query bloccate in tutto il cluster
citus_shards La posizione di ogni partizione, il tipo di tabella a cui appartiene e le relative dimensioni
citus_stat_statements Statistiche su come vengono eseguite le query e per chi
citus_tables Riepilogo di tutte le tabelle distribuite e di riferimento
citus_worker_stat_activity Query sui ruoli di lavoro, incluse le attività su singole partizioni
pg_dist_colocation Quali partizioni delle tabelle devono essere posizionate insieme
pg_dist_node Informazioni sui nodi di lavoro nel cluster
pg_dist_object Oggetti quali tipi e funzioni creati nel nodo coordinatore e propagati ai nodi di lavoro
pg_dist_placement Posizione delle repliche di partizioni nei nodi del ruolo di lavoro
pg_dist_rebalance_strategy Strategie che rebalance_table_shards possono essere usate per determinare dove spostare le partizioni
pg_dist_shard Tabella, colonna di distribuzione e intervalli di valori per ogni partizione
time_partitions Informazioni su ogni partizione gestita da funzioni come create_time_partitions e drop_old_time_partitions

Passaggi successivi