Sdílet prostřednictvím


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

Důležité

Azure Cosmos DB for PostgreSQL se už pro nové projekty nepodporuje. Tuto službu nepoužívejte pro nové projekty. Místo toho použijte jednu z těchto dvou služeb:

  • Azure Cosmos DB for NoSQL můžete použít pro distribuované databázové řešení navržené pro vysoce škálovatelné scénáře s 99,999% smlouvou o úrovni služeb (SLA), okamžitým automatickým škálováním a automatickým převzetím služeb při selhání napříč několika oblastmi.

  • Použijte funkci Elastic Clusters služby Azure Database for PostgreSQL pro horizontálně dělené PostgreSQL pomocí opensourcového rozšíření Citus.

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