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
- Seznamte se s některými užitečnými diagnostickými dotazy.
- Projděte si seznam parametrů konfigurace v podkladové databázi PostgreSQL.