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