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
Name | 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
Name | 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
Name | 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
Name | 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
Name | 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
Name | 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
Name | 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
Name | 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
Name | 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
Name | 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
Name | 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.
Name | 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
- Lär dig några användbara diagnostikfrågor
- Granska listan med konfigurationsparametrar i den underliggande PostgreSQL-databasen.