Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det finns fem typer av tabeller i ett kluster, var och en lagras på olika sätt på noder och används för olika ändamål.
Distribuerade tabeller
Den första typen, och den vanligaste, är distribuerade tabeller. De verkar vara normala tabeller till SQL-instruktioner, men de är horisontellt partitionerade mellan arbetsnoder. Det innebär att raderna i tabellerna lagras på olika noder, i fragmenttabeller som kallas shards.
Elastiska kluster kör inte bara SQL utan DDL-instruktioner (datadefinitionsspråk) i ett kluster. Om du ändrar schemat för en distribuerad tabell kaskad uppdateras alla tabellens shards mellan arbetare. Sådana åtgärder måste utföras via en anslutning via port 5432.
Distribuerad kolumn
Elastiska kluster använder algoritmisk sharding för att tilldela rader till datapartitioner. Tilldelningen görs deterministiskt baserat på värdet för en tabellkolumn som kallas för distributionskolumnen. Klusteradministratören måste ange den här kolumnen när en tabell distribueras. Att göra rätt val är viktigt för prestanda och funktioner.
Referenstabeller
En referenstabell är en typ av distribuerad tabell vars hela innehåll är koncentrerat till en enda shard. Fragmentet replikeras på varje arbetare. Frågor om alla arbetare kan komma åt referensinformationen lokalt, utan nätverkskostnaderna för att begära rader från en annan nod. Referenstabeller har ingen distributionskolumn eftersom det inte finns något behov av att särskilja separata shards per rad.
Referenstabeller är vanligtvis små och används för att lagra data som är relevanta för frågor som körs på alla arbetsnoder. Ett exempel är uppräknade värden som orderstatusar eller produktkategorier.
Lokala tabeller
När du använder elastiskt kluster är varje nod en vanlig PostgreSQL-databas. Du kan skapa vanliga tabeller på dem och välja att inte fragmentera dem.
En bra kandidat för lokala tabeller skulle vara små administrativa tabeller som inte deltar i anslutningsfrågor. Ett exempel är en users tabell för programinloggning och autentisering. Den här typen av tabell är bara användbar när du inte planerar att lastbalansera anslutningen mellan ett elastiskt kluster med port 7432 eller 8432.
Lokala hanterade tabeller
Elastiska kluster kan automatiskt lägga till lokala tabeller i metadata om det finns en referens för sekundärnyckel mellan en lokal tabell och en referenstabell. Dessutom kan lokalt hanterade tabeller skapas manuellt genom att köra citus_add_local_table_to_metadata funktion på vanliga lokala tabeller. Tabeller som finns i metadata betraktas som hanterade tabeller och kan efterfrågas från valfri nod. Citus vet att dirigera till noden för att hämta data från den lokala hanterade tabellen. Sådana tabeller visas som lokala i citus_tables vyn.
Schematabeller
Med schemabaserad horisontell partitionering associeras distribuerade scheman automatiskt med enskilda samlokaliseringsgrupper. Tabeller som skapats i dessa scheman konverteras automatiskt till samallokerade distribuerade tabeller utan en shardnyckel. Sådana tabeller betraktas som schematabeller och visas som schema i citus_tables vyn.