Distribuované rozhraní SQL API služby Azure Cosmos DB for PostgreSQL

PLATÍ PRO: Azure Cosmos DB for PostgreSQL (využívající rozšíření databáze Citus do PostgreSQL)

Azure Cosmos DB for PostgreSQL obsahuje funkce nad rámec standardního PostgreSQL. Níže najdete kategorizovaný odkaz na funkce a možnosti konfigurace pro:

  • Paralelizace provádění dotazů napříč horizontálními oddíly
  • Správa horizontálně dělených dat mezi několika servery
  • Komprese dat s využitím sloupcového úložiště
  • Automatizace dělení časových řad

Funkce SQL

Sharding

Název Popis
alter_distributed_table Změna distribučního sloupce, počtu horizontálních oddílů nebo vlastností kolokace distribuované tabulky
citus_copy_shard_placement Oprava neaktivního umístění horizontálních oddílů pomocí dat z umístění v pořádku
citus_schema_distribute Převod schématu PostgreSQL na distribuované schéma
citus_schema_undistribute Vrácení akce citus_schema_distribute zpět
create_distributed_table Převod tabulky PostgreSQL na distribuovanou (dělenou) tabulku
create_reference_table Udržovat úplné kopie tabulky synchronizované napříč všemi uzly
citus_add_local_table_to_metadata Přidání místní tabulky do metadat pro povolení dotazování z libovolného uzlu
isolate_tenant_to_new_shard Vytvoření nového horizontálního oddílu pro uchovávání řádků s konkrétní jednou hodnotou v distribučním sloupci
truncate_local_data_after_distributing_table Zkrácení všech místních řádků po distribuci tabulky
undistribute_table Vrácení akce create_distributed_table nebo create_reference_table zpět

Vyrovnávání horizontálních oddílů

Název Popis
citus_add_rebalance_strategy Připojení řádku k pg_dist_rebalance_strategy
citus_move_shard_placement Obvykle se používá nepřímo při vyrovnávání horizontálních oddílů místo toho, aby ji přímo volal správce databáze.
citus_set_default_rebalance_strategy Změna strategie pojmenované argumentem na výchozí zvolenou při vyrovnávání horizontálních oddílů
get_rebalance_progress Monitorování plánovaných a spuštěných přesunů rebalance_table_shards
get_rebalance_table_shards_plan Výstup plánovaných přesunů horizontálních oddílů rebalance_table_shards bez provedení
rebalance_table_shards Přesunutí horizontálních oddílů dané tabulky k rovnoměrné distribuci mezi pracovní procesy

Společné umístění blízko k sobě

Název Popis
create_distributed_function Spuštění funkce u pracovních procesů poblíž společně přidělovaných horizontálních oddílů
update_distributed_table_colocation Aktualizace nebo přerušení kolokace distribuované tabulky

Sloupcové úložiště

Název Popis
alter_columnar_table_set Změna nastavení ve sloupcové tabulce
alter_table_set_access_method Převod tabulky mezi haldou nebo sloupcovým úložištěm

Dělení časových intervalů

Název Popis
alter_old_partitions_set_access_method Změna metody úložiště oddílů
create_time_partitions Vytvoření oddílů daného intervalu pro pokrytí daného časového rozsahu
drop_old_time_partitions Odeberte všechny oddíly, jejichž intervaly spadají před dané časové razítko.

Informační

Název Popis
citus_get_active_worker_nodes Získání názvů hostitelů aktivních pracovních procesů a čísel portů
citus_relation_size Získání místa na disku využitého všemi horizontálními oddíly zadané distribuované tabulky
citus_remote_connection_stats Zobrazení počtu aktivních připojení ke každému vzdálenému uzlu
citus_stat_statements_reset Odebrat všechny řádky z citus_stat_statements
citus_table_size Získání místa na disku využitého všemi horizontálními oddíly zadané distribuované tabulky s výjimkou indexů
citus_total_relation_size Získání celkového místa na disku využitého všemi horizontálními oddíly zadané distribuované tabulky, včetně všech indexů a dat TOAST
column_to_column_name Přeloží partkey sloupec do textového pg_dist_partition názvu sloupce.
get_shard_id_for_distribution_column Vyhledání ID horizontálního oddílu přidruženého k hodnotě distribučního sloupce

Parametry serveru

Provedení dotazu

Název Popis
citus.all_modifications_commutative Povolit všem příkazům deklarace sdíleného zámku
citus.count_distinct_error_rate Ladění míry chyb postgresql-hll přibližného počítání
citus.enable_repartition_joins Povolit JOIN vytvořené u sloupců, které nejsou distribučními sloupci
citus.enable_repartitioned_insert_select Povolení opětovného rozdělení řádků z příkazu SELECT a jejich přenos mezi pracovními procesy pro vložení
citus.limit_clause_row_fetch_count Počet řádků, které se mají načíst na každou úlohu pro optimalizaci klauzule limitu
citus.local_table_join_policy Kde se data přesunou při spojení mezi místními a distribuovanými tabulkami
citus.multi_shard_commit_protocol Protokol potvrzení, který se má použít při provádění příkazu COPY pro distribuovanou tabulku hash
citus.propagate_set_commands Které příkazy SET se šíří z koordinátoru do pracovních procesů
citus.create_object_propagation Chování příkazů CREATE v transakcích pro podporované objekty
citus.use_citus_managed_tables Povolit přístup k místním tabulkám v dotazech pracovních uzlů

Informační

Název Popis
citus.explain_all_tasks Zobrazení výstupu EXPLAIN pro všechny úkoly
citus.explain_analyze_sort_method Metoda řazení úkolů ve výstupu funkce EXPLAIN ANALYZE
citus.log_remote_commands Dotazuje se na protokoly, které koordinátor odesílá do pracovních uzlů.
citus.multi_task_query_log_level Úroveň protokolu pro jakýkoli dotaz, který generuje více než jeden úkol
citus.stat_statements_max Maximální počet řádků, do které se má uložit citus_stat_statements
citus.stat_statements_purge_interval Frekvence, s jakou proces démon údržby odebere záznamy z citus_stat_statements chybějících položek pg_stat_statements
citus.stat_statements_track Povolení nebo zakázání sledování příkazů
citus.show_shards_for_app_name_prefixes Umožňuje zobrazení horizontálních oddílů pro vybrané klienty, kteří je chtějí zobrazit.
citus.override_table_visibility Povolení nebo zakázání skrytí horizontálních oddílů

Správa připojení mezi uzly

Název Popis
citus.executor_slow_start_interval Doba čekání v milisekundách mezi otevřením připojení ke stejnému pracovnímu uzlu
citus.force_max_query_parallelization Otevřete co nejvíce připojení.
citus.max_adaptive_executor_pool_size Maximální počet pracovních připojení na relaci
citus.max_cached_conns_per_worker Počet připojení, která jsou otevřená, aby se urychlily následné příkazy
citus.node_connection_timeout Maximální doba trvání (v milisekundách) na čekání na vytvoření připojení

Přenos dat

Název Popis
citus.enable_binary_protocol K přenosu dat s pracovníky použijte binární serializační formát PostgreSQL (pokud je k dispozici).
citus.max_intermediate_result_size Velikost v kB zprostředkujících výsledků pro cte a poddotazy, které nelze odeslat dolů

Vzájemné zablokování

Název Popis
citus.distributed_deadlock_detection_factor Doba čekání před kontrolou distribuovaných zablokování
citus.log_distributed_deadlock_detection Jestli se má protokolovat distribuované zpracování související s detekcí zablokování v protokolu serveru

Systémové tabulky

Koordinační uzel obsahuje tabulky a zobrazení metadat, které vám pomůžou zobrazit vlastnosti dat a aktivitu dotazů v clusteru.

Název Popis
citus_dist_stat_activity Distribuované dotazy, které se spouštějí na všech uzlech
citus_lock_waits Dotazy blokované v celém clusteru
citus_shards Umístění každého horizontálního oddílu, typ tabulky, do které patří, a jeho velikost
citus_stat_statements Statistiky o tom, jak se dotazy spouštějí a pro koho
citus_tables Souhrn všech distribuovaných a referenčních tabulek
citus_worker_stat_activity Dotazy na pracovní procesy, včetně úkolů v jednotlivých horizontálních oddílech
pg_dist_colocation Které horizontální oddíly tabulek by se měly umístit dohromady
pg_dist_node Informace o pracovních uzlech v clusteru
pg_dist_object Objekty, jako jsou typy a funkce vytvořené na koordinačním uzlu a šířené do pracovních uzlů
pg_dist_placement Umístění replik horizontálních oddílů na pracovních uzlech
pg_dist_rebalance_strategy Strategie, které rebalance_table_shards se dají použít k určení, kam se mají horizontální oddíly přesunout
pg_dist_shard Tabulka, distribuční sloupec a rozsahy hodnot pro každý horizontální oddíl
time_partitions Informace o jednotlivých oddílech spravovaných funkcemi jako create_time_partitions a drop_old_time_partitions

Další kroky