Sdílet prostřednictvím


Typy tabulek v elastických clusterech ve službě Azure Database for PostgreSQL

V clusteru je pět typů tabulek, z nichž každý je uložený jinak na uzlech a používá se pro různé účely.

Distribuované tabulky

Prvním typem a nejběžnějším typem jsou distribuované tabulky. Zdá se, že se jedná o normální tabulky příkazů SQL, ale jsou horizontálně rozdělené mezi pracovní uzly. To znamená, že řádky tabulek jsou uložené na různých uzlech v tabulkách fragmentů označovaných jako horizontální oddíly.

Elastické clustery spouští nejen příkazy JAZYKA SQL, ale DDL (Data Definition Language) v celém clusteru. Změna schématu distribuovaných tabulek tak, aby se aktualizovaly všechny horizontální oddíly tabulky napříč pracovními procesy. Tyto operace je potřeba provést prostřednictvím připojení přes port 5432.

Distribuovaný sloupec

Elastické clustery používají algoritmické rozdělování na shardky k přiřazování řádků ke shardkám. Přiřazení se deterministicky provádí na základě hodnoty sloupce tabulky označovaného jako distribuční sloupec. Správce clusteru musí tento sloupec určit při distribuci tabulky. Správná volba je důležitá pro výkon a funkčnost.

Referenční tabulky

Referenční tabulka je typ distribuované tabulky, jejíž celý obsah je soustředěný do jednoho horizontálního oddílu. Horizontální oddíl se replikuje do každého pracovního procesu. Dotazy na jakéhokoli pracovního procesu mají přístup k referenčním informacím místně bez síťové režie při vyžádání řádků z jiného uzlu. Referenční tabulky nemají žádný distribuční sloupec, protože není potřeba rozlišovat samostatné horizontální oddíly na řádek.

Referenční tabulky jsou obvykle malé a používají se k ukládání dat, která jsou relevantní pro dotazy spuštěné na jakémkoli pracovním uzlu. Příkladem jsou výčtové hodnoty, jako jsou stavy objednávek nebo kategorie produktů.

Místní tabulky

Při použití elastického clusteru je každý uzel běžnou databází PostgreSQL. Můžete na nich vytvářet běžné tabulky a zvolit, že je nebudete horizontálně dělit.

Vhodným kandidátem pro místní tabulky by byly malé tabulky pro správu, které se neúčastní dotazů spojení. Příkladem je users tabulka pro přihlašování a ověřování aplikací. Tento typ tabulky je užitečný jenom v případě, že neplánujete vyrovnávat zatížení připojení mezi elastickým clusterem pomocí portu 7432 nebo 8432.

Místní spravované tabulky

Elastické clustery můžou do metadat automaticky přidávat místní tabulky, pokud existuje odkaz na cizí klíč mezi místní tabulkou a referenční tabulkou. Kromě toho je možné místně spravované tabulky vytvořit ručně spuštěním citus_add_local_table_to_metadata funkce v běžných místních tabulkách. Tabulky, které jsou přítomné v metadatech, se považují za spravované tabulky a dají se dotazovat z libovolného uzlu. Citus ví, že se má směrovat na uzel a získat data z místní spravované tabulky. Tyto tabulky se zobrazují jako místní v citus_tables zobrazení.

Tabulky schématu

Při horizontálním dělení založeném na schématu jsou distribuovaná schémata automaticky přidružená k jednotlivým skupinám kolokace. Tabulky vytvořené v těchto schématech se automaticky převedou na společné distribuované tabulky bez klíče horizontálního dělení. Tyto tabulky jsou považovány za tabulky schématu a zobrazují se jako schéma v citus_tables zobrazení.