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
- Enkele nuttige diagnostische query's leren
- Bekijk de lijst met configuratieparameters in de onderliggende PostgreSQL-database.