Distribuerat SQL API för Azure Cosmos DB for PostgreSQL

GÄLLER FÖR: Azure Cosmos DB for PostgreSQL (drivs av Citus-databastillägget till PostgreSQL)

Azure Cosmos DB for PostgreSQL innehåller fler funktioner än Standard PostgreSQL. Nedan visas en kategoriserad referens för funktioner och konfigurationsalternativ för:

  • Parallellisera frågekörning mellan olika shards
  • Hantera horisontellt partitionerade data mellan flera servrar
  • Komprimera data med kolumnbaserad lagring
  • Automatisera partitionering med tidsserie

SQL-funktioner

Horisontell partitionering

Namn Beskrivning
alter_distributed_table Ändra distributionskolumnen, shardantalet eller samlokaliseringsegenskaperna för en distribuerad tabell
citus_copy_shard_placement Reparera en inaktiv shardplacering med hjälp av data från en felfri placering
citus_schema_distribute Omvandla ett PostgreSQL-schema till ett distribuerat schema
citus_schema_undistribute Ångra åtgärden för citus_schema_distribute
create_distributed_table Omvandla en PostgreSQL-tabell till en distribuerad tabell (fragmenterad)
create_reference_table Underhålla fullständiga kopior av en tabell som är synkroniserad över alla noder
citus_add_local_table_to_metadata Lägg till en lokal tabell i metadata så att du kan köra frågor mot den från valfri nod
isolate_tenant_to_new_shard Skapa en ny shard för att lagra rader med ett specifikt enskilt värde i distributionskolumnen
truncate_local_data_after_distributing_table Trunkera alla lokala rader när du har distribuerat en tabell
undistribute_table Ångra åtgärden för create_distributed_table eller create_reference_table

Ombalansering av shard

Namn Beskrivning
citus_add_rebalance_strategy Lägg till en rad i pg_dist_rebalance_strategy
citus_move_shard_placement Används vanligtvis indirekt under horisontell ombalansering i stället för att anropas direkt av en databasadministratör
citus_set_default_rebalance_strategy Ändra den strategi som namnges av argumentet så att den är standardinställningen som väljs vid ombalansering av shards
get_rebalance_progress Övervaka de flyttningar som planeras och körs av rebalance_table_shards
get_rebalance_table_shards_plan Mata ut planerade fragmentförflyttningar av rebalance_table_shards utan att utföra dem
rebalance_table_shards Flytta fragment i den angivna tabellen för att fördela dem jämnt mellan arbetarna

Samlokalisering

Namn Beskrivning
create_distributed_function Gör så att funktionen körs på arbetare nära samlokaliserade shards
update_distributed_table_colocation Uppdatera eller avbryta samlokalisering av en distribuerad tabell

Columnar Storage

Namn Beskrivning
alter_columnar_table_set Ändra inställningar i en kolumntabell
alter_table_set_access_method Konvertera en tabell mellan heap- eller columnar-lagring

Partitionering av tidsserier

Namn Beskrivning
alter_old_partitions_set_access_method Ändra lagringsmetod för partitioner
create_time_partitions Skapa partitioner med ett visst intervall för att täcka ett angivet tidsintervall
drop_old_time_partitions Ta bort alla partitioner vars intervall faller före en viss tidsstämpel

Information

Namn Beskrivning
citus_get_active_worker_nodes Hämta active worker-värdnamn och portnummer
citus_relation_size Hämta diskutrymme som används av alla shards i den angivna distribuerade tabellen
citus_remote_connection_stats Visa antalet aktiva anslutningar till varje fjärrnod
citus_stat_statements_reset Ta bort alla rader från citus_stat_statements
citus_table_size Hämta diskutrymme som används av alla shards i den angivna distribuerade tabellen, exklusive index
citus_total_relation_size Hämta totalt diskutrymme som används av alla shards i den angivna distribuerade tabellen, inklusive alla index och TOAST-data
column_to_column_name Översätta kolumnen pg_dist_partition i partkey till ett textkolumnnamn
get_shard_id_for_distribution_column Hitta det shard-ID som är associerat med ett värde för distributionskolumnen

Serverparametrar

Frågekörning

Namn Beskrivning
citus.all_modifications_commutative Tillåt att alla kommandon gör anspråk på ett delat lås
citus.count_distinct_error_rate Justera felfrekvensen för ungefärlig postgresql-hll-räkning
citus.enable_repartition_joins Tillåt JON som görs på icke-distributionskolumner
citus.enable_repartitioned_insert_select Tillåt ompartitionering av rader från SELECT-instruktionen och överföra dem mellan arbetare för infogning
citus.limit_clause_row_fetch_count Antalet rader som ska hämtas per uppgift för optimering av gränssatser
citus.local_table_join_policy Där data flyttas när du gör en koppling mellan lokala och distribuerade tabeller
citus.multi_shard_commit_protocol Incheckningsprotokollet som ska användas vid kopiering på en hash-distribuerad tabell
citus.propagate_set_commands Vilka SET-kommandon sprids från koordinatorn till arbetare
citus.create_object_propagation Beteende för CREATE-instruktioner i transaktioner för objekt som stöds
citus.use_citus_managed_tables Tillåt att lokala tabeller nås i arbetsnodfrågor

Information

Namn Beskrivning
citus.explain_all_tasks Gör så att EXPLAIN-utdata visar alla uppgifter
citus.explain_analyze_sort_method Sorteringsmetod för aktiviteterna i utdata från EXPLAIN ANALYZE
citus.log_remote_commands Loggfrågor som koordinatorn skickar till arbetsnoder
citus.multi_task_query_log_level Loggnivå för alla frågor som genererar mer än en uppgift
citus.stat_statements_max Maximalt antal rader att lagra i citus_stat_statements
citus.stat_statements_purge_interval Frekvens med vilken underhållsdaemonen tar bort poster från citus_stat_statements som inte är matchade i pg_stat_statements
citus.stat_statements_track Aktivera/inaktivera instruktionsspårning
citus.show_shards_for_app_name_prefixes Tillåter att shards visas för valda klienter som vill se dem
citus.override_table_visibility Aktivera/inaktivera shard-döljning

Anslutningshantering mellan noder

Namn Beskrivning
citus.executor_slow_start_interval Tid att vänta i millisekunder mellan att öppna anslutningar till samma arbetsnod
citus.force_max_query_parallelization Öppna så många anslutningar som möjligt
citus.max_adaptive_executor_pool_size Maximalt antal arbetsanslutningar per session
citus.max_cached_conns_per_worker Antal anslutningar som hålls öppna för att påskynda efterföljande kommandon
citus.node_connection_timeout Maximal varaktighet (i millisekunder) för att vänta på anslutningsetablering

Dataöverföring

Namn Beskrivning
citus.enable_binary_protocol Använd PostgreSQL:s binära serialiseringsformat (om tillämpligt) för att överföra data med arbetare
citus.max_intermediate_result_size Storlek i KB för mellanliggande resultat för CTE:er och underfrågor som inte kan tryckas ned

Dödläge

Namn Beskrivning
citus.distributed_deadlock_detection_factor Tid att vänta innan du söker efter distribuerade dödlägen
citus.log_distributed_deadlock_detection Om distribuerad identifiering av dödläge ska loggas i serverloggen

Systemtabeller

Koordinatornoden innehåller metadatatabeller och vyer som hjälper dig att se dataegenskaper och frågeaktivitet i klustret.

Namn Beskrivning
citus_dist_stat_activity Distribuerade frågor som körs på alla noder
citus_lock_waits Frågor blockerade i hela klustret
citus_shards Platsen för varje shard, vilken typ av tabell den tillhör och dess storlek
citus_stat_statements Statistik om hur frågor körs och för vem
citus_tables En sammanfattning av alla distribuerade tabeller och referenstabeller
citus_worker_stat_activity Frågor om arbetare, inklusive uppgifter på enskilda shards
pg_dist_colocation Vilka tabellers fragment ska placeras tillsammans
pg_dist_node Information om arbetsnoder i klustret
pg_dist_object Objekt som typer och funktioner som har skapats på koordinatornoden och spridits till arbetsnoder
pg_dist_placement Platsen för shardrepliker på arbetsnoder
pg_dist_rebalance_strategy Strategier som rebalance_table_shards kan användas för att avgöra var shards ska flyttas
pg_dist_shard Tabellen, distributionskolumnen och värdeintervallen för varje shard
time_partitions Information om varje partition som hanteras av sådana funktioner som create_time_partitions och drop_old_time_partitions

Nästa steg