Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Important
Azure Cosmos DB for PostgreSQL je na cestě vyřazení a už se nedoporučuje pro nové projekty. Místo toho použijte jednu z těchto dvou služeb:
Pro úlohy PostgreSQL použijte funkci Elastic Clusters v Azure Database for PostgreSQL pro horizontální navýšení kapacity a využití distribuovaných funkcí PostgreSQL obsažených v open source rozšíření Citus. Pokyny k migraci najdete v tématu Migrace do služby Azure Database for PostgreSQL s využitím elastického clusteru.
Pro úlohy NoSQL použijte Azure Cosmos DB for NoSQL pro distribuované databázové řešení, které zahrnuje smlouvu o úrovni služeb (SLA) 99,999% dostupnosti, okamžité automatické škálování a automatické převzetí služeb při selhání napříč několika oblastmi.
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
| Name | Description |
|---|---|
| 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ů
| Name | Description |
|---|---|
| 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 |
Kolokace
| Name | Description |
|---|---|
| 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ě
| Name | Description |
|---|---|
| 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ů
| Name | Description |
|---|---|
| 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. |
Informativní
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| 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ů |
Informativní
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| 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í
| Name | Description |
|---|---|
| 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.
| Name | Description |
|---|---|
| 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.