Sdílet prostřednictvím


Určení velikosti tabulky a relačního vztahu ve službě 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.

Obvyklý způsob, jak najít velikosti tabulek v PostgreSQL, pg_total_relation_sizevýrazně nedostatečně hlásí velikost distribuovaných tabulek ve službě Azure Cosmos DB for PostgreSQL. Všechny tyto funkce v clusteru odhalí velikost tabulek na koordinačním uzlu. Ve skutečnosti jsou data v distribuovaných tabulkách uložena na pracovních uzlech (v shardách), nikoli na koordinátoru. Pravá míra velikosti distribuované tabulky se získá jako součet velikostí shardů. Azure Cosmos DB for PostgreSQL poskytuje pomocné funkce pro dotazování těchto informací.

Funkce Návraty
citus_relation_size(relation_name)
  • Velikost skutečných dat v tabulce (hlavní fork)
  • Relace může být název tabulky nebo indexu.
citus_table_size(relation_name)
citus_total_relation_size(relation_name)
  • citus_table_size plus:

    • velikost indexů

Tyto funkce jsou podobné třem standardním funkcím PostgreSQL pro velikost objektů, kromě případů, kdy se nemohou připojit k uzlu a dojde k chybě.

Příklad

Tady je postup, jak zobrazit seznam velikostí všech distribuovaných tabulek:

SELECT logicalrelid AS name,
       pg_size_pretty(citus_table_size(logicalrelid)) AS size
  FROM pg_dist_partition;

Výstup:

┌───────────────┬───────┐
│     name      │ size  │
├───────────────┼───────┤
│ github_users  │ 39 MB │
│ github_events │ 37 MB │
└───────────────┴───────┘

Další kroky