Delen via


Gedistribueerde SQL-API van Azure Cosmos DB for PostgreSQL

Belangrijk

Azure Cosmos DB for PostgreSQL wordt niet meer ondersteund voor nieuwe projecten. Gebruik deze service niet voor nieuwe projecten. Gebruik in plaats daarvan een van deze twee services:

Azure Cosmos DB for PostgreSQL bevat functies die verder gaan dan standaard PostgreSQL. Hieronder ziet u een gecategoriseerde verwijzing naar functies en configuratieopties voor:

  • Parallelle uitvoering van query's in shards
  • Shard-gegevens tussen meerdere servers beheren
  • Gegevens comprimeren met kolomopslag
  • Timeseries partitioneren automatiseren

SQL-functies

Sharding

Name Beschrijving
alter_distributed_table De eigenschappen van de distributiekolom, het aantal shards of de colocatie van een gedistribueerde tabel wijzigen
citus_copy_shard_placement Een inactieve shardplaatsing herstellen met behulp van gegevens van een gezonde plaatsing
citus_schema_distribute Een PostgreSQL-schema omzetten in een gedistribueerd schema
citus_schema_undistribute De actie van citus_schema_distribute ongedaan maken
create_distributed_table Een PostgreSQL-tabel omzetten in een gedistribueerde (shard-) tabel
create_reference_table Volledige kopieën van een tabel synchroon houden op alle knooppunten
citus_add_local_table_to_metadata Een lokale tabel toevoegen aan metagegevens om query's uit te voeren vanaf elk knooppunt
isolate_tenant_to_new_shard Een nieuwe shard maken voor het opslaan van rijen met één specifieke waarde in de distributiekolom
truncate_local_data_after_distributing_table Alle lokale rijen afkappen na het distribueren van een tabel
undistribute_table De actie van create_distributed_table of create_reference_table ongedaan maken

Shard opnieuw verdelen

Name Beschrijving
citus_add_rebalance_strategy Een rij toevoegen aan pg_dist_rebalance_strategy
citus_move_shard_placement Doorgaans indirect gebruikt tijdens het opnieuw verdelen van shards in plaats van rechtstreeks aan te roepen door een databasebeheerder
citus_set_default_rebalance_strategy Wijzig de strategie met de naam van het argument in de standaardinstelling die wordt gekozen bij het opnieuw verdelen van shards
get_rebalance_progress De geplande en uitgevoerde verplaatsingen bewaken door rebalance_table_shards
get_rebalance_table_shards_plan De geplande shardverplaatsingen van rebalance_table_shards uitvoeren zonder ze uit te voeren
rebalance_table_shards Shards van de opgegeven tabel verplaatsen om ze gelijkmatig over de werkrollen te verdelen

Colocatie

Name Beschrijving
create_distributed_function Functie uitvoeren op werkrollen in de buurt van shards met een punt
update_distributed_table_colocation Colocatie van een gedistribueerde tabel bijwerken of verbreken

Kolomopslag

Name Beschrijving
alter_columnar_table_set Instellingen voor een kolomtabel wijzigen
alter_table_set_access_method Een tabel tussen heap- of kolomopslag converteren

Partitionering van tijdreeksen

Name Beschrijving
alter_old_partitions_set_access_method Opslagmethode van partities wijzigen
create_time_partitions Partities van een bepaald interval maken om een bepaald tijdsbereik te dekken
drop_old_time_partitions Verwijder alle partities waarvan de intervallen vóór een bepaalde tijdstempel vallen

Informatief

Name Beschrijving
citus_get_active_worker_nodes Actieve werkrolhostnamen en poortnummers ophalen
citus_relation_size Schijfruimte ophalen die wordt gebruikt door alle shards van de opgegeven gedistribueerde tabel
citus_remote_connection_stats Het aantal actieve verbindingen met elk extern knooppunt weergeven
citus_stat_statements_reset Alle rijen verwijderen uit citus_stat_statements
citus_table_size Schijfruimte ophalen die wordt gebruikt door alle shards van de opgegeven gedistribueerde tabel, met uitzondering van indexen
citus_total_relation_size Totale schijfruimte ophalen die wordt gebruikt door de alle shards van de opgegeven gedistribueerde tabel, inclusief alle indexen en TOAST-gegevens
column_to_column_name partkey De kolom vertalen pg_dist_partition in een tekstuele kolomnaam
get_shard_id_for_distribution_column De shard-id zoeken die is gekoppeld aan een waarde van de distributiekolom

Serverparameters

Queryuitvoering

Name Beschrijving
citus.all_modifications_commutative Alle opdrachten toestaan om een gedeelde vergrendeling te claimen
citus.count_distinct_error_rate Foutpercentage van postgresql-hll geschatte telling afstemmen
citus.enable_repartition_joins JOIN's toestaan die zijn gemaakt op niet-distributiekolommen
citus.enable_repartitioned_insert_select Het opnieuw partitioneren van rijen vanuit de SELECT-instructie toestaan en deze overbrengen tussen werkrollen voor invoeging
citus.limit_clause_row_fetch_count Het aantal rijen dat per taak moet worden opgehaald voor optimalisatie van limietcomponenten
citus.local_table_join_policy Waar gegevens worden verplaatst bij het uitvoeren van een join tussen lokale en gedistribueerde tabellen
citus.multi_shard_commit_protocol Het doorvoerprotocol dat moet worden gebruikt bij het uitvoeren van COPY op een gedistribueerde hash-tabel
citus.propagate_set_commands Welke SET-opdrachten worden doorgegeven van de coördinator aan werknemers
citus.create_object_propagation Gedrag van CREATE-instructies in transacties voor ondersteunde objecten
citus.use_citus_managed_tables Toestaan dat lokale tabellen worden geopend in werkknooppuntquery's

Informatief

Name Beschrijving
citus.explain_all_tasks Uitleg-uitvoer weergeven van alle taken
citus.explain_analyze_sort_method Sorteermethode van de taken in de uitvoer van EXPLAIN ANALYZE
citus.log_remote_commands Logboekquery's die de coördinator verzendt naar werkknooppunten
citus.multi_task_query_log_level Logboekniveau voor elke query die meer dan één taak genereert
citus.stat_statements_max Maximum aantal rijen dat moet worden opgeslagen in citus_stat_statements
citus.stat_statements_purge_interval Frequentie waarmee de onderhoudsdaemon records verwijdert waaruit citus_stat_statements niet-overeenkomende records worden verwijderd pg_stat_statements
citus.stat_statements_track Instructie bijhouden in- of uitschakelen
citus.show_shards_for_app_name_prefixes Hiermee kunnen shards worden weergegeven voor geselecteerde clients die ze willen zien
citus.override_table_visibility Shard-verbergen in-/uitschakelen

Verbindingsbeheer tussen knooppunten

Name Beschrijving
citus.executor_slow_start_interval Tijd om te wachten in milliseconden tussen het openen van verbindingen met hetzelfde werkknooppunt
citus.force_max_query_parallelization Zoveel mogelijk verbindingen openen
citus.max_adaptive_executor_pool_size Maximum aantal werkrolverbindingen per sessie
citus.max_cached_conns_per_worker Aantal verbindingen bleef open om de volgende opdrachten te versnellen
citus.node_connection_timeout Maximale duur (in milliseconden) om te wachten tot de verbinding tot stand is gebracht

Gegevensoverdracht

Name Beschrijving
citus.enable_binary_protocol De binaire serialisatie-indeling van PostgreSQL gebruiken (indien van toepassing) om gegevens over te dragen met werkrollen
citus.max_intermediate_result_size Grootte in kB van tussenliggende resultaten voor CTE's en subquery's die niet kunnen worden gepusht

Impasse

Name Beschrijving
citus.distributed_deadlock_detection_factor Tijd om te wachten voordat wordt gecontroleerd op gedistribueerde impasses
citus.log_distributed_deadlock_detection Of gedistribueerde detectie van impassedetectie in het serverlogboek moet worden vastgelegd

Systeemtabellen

Het coördinatorknooppunt bevat metagegevenstabellen en weergaven om u te helpen bij het bekijken van gegevenseigenschappen en queryactiviteit in het cluster.

Name Beschrijving
citus_dist_stat_activity Gedistribueerde query's die worden uitgevoerd op alle knooppunten
citus_lock_waits Query's die in het hele cluster zijn geblokkeerd
citus_shards De locatie van elke shard, het type tabel waartoe deze behoort en de grootte
citus_stat_statements Statistieken over hoe query's worden uitgevoerd en voor wie
citus_tables Een samenvatting van alle gedistribueerde en referentietabellen
citus_worker_stat_activity Query's op werkrollen, inclusief taken voor afzonderlijke shards
pg_dist_colocation Welke shards van tabellen samen moeten worden geplaatst
pg_dist_node Informatie over werkknooppunten in het cluster
pg_dist_object Objecten zoals typen en functies die zijn gemaakt op het coördinatorknooppunt en worden doorgegeven aan werkknooppunten
pg_dist_placement De locatie van shardreplica's op werkknooppunten
pg_dist_rebalance_strategy Strategieën die rebalance_table_shards kunnen worden gebruikt om te bepalen waar shards moeten worden verplaatst
pg_dist_shard De tabel, distributiekolom en waardebereiken voor elke shard
time_partitions Informatie over elke partitie die wordt beheerd door functies zoals create_time_partitions en drop_old_time_partitions

Volgende stappen