Delen via


Gedistribueerde SQL-API van Azure Cosmos DB for PostgreSQL

VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)

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