Výukový program rozdělování PostgreSQL

Vyukovy Program Rozdelovani Postgresql



U každé databáze je výkon jednou metrikou, kterou je třeba řešit, aby byla zajištěna efektivní spolehlivost, zejména pokud jde o velká data. S PostgreSQL musíte vytvořit oddíly tabulky, abyste ušetřili čas a zdroje potřebné ke skenování tabulky při hledání záznamu. Rozdělením velké tabulky na menší části je potřeba méně odkládání paměti a vaše aplikace bude fungovat lépe, protože šetří databázové operace.

Tento příspěvek se zabývá rozdělením PostgreSQL. Probereme různé možnosti dělení, které můžete použít, a uvedeme příklady, jak je používat pro lepší pochopení.

Jak vytvořit oddíly PostgreSQL

Každá databáze může obsahovat mnoho tabulek s více položkami. Pro snadnou správu byste měli tabulky rozdělit, což je skvělá a doporučená rutina datového skladu pro optimalizaci databáze a pro zvýšení spolehlivosti. Můžete vytvořit různé oddíly včetně seznamu, rozsahu a hash. Pojďme diskutovat o každém podrobně.







1. Seznam oddílů

Před zvažováním jakéhokoli rozdělení na oddíly musíme vytvořit tabulku, kterou budeme pro oddíly používat. Při vytváření tabulky dodržujte danou syntaxi pro všechny oddíly:



CREATE TABLE název_tabulky (sloupec1 datový_typ, sloupec2 datový_typ) PARTITION BY (klíč_oddílu);

„název_tabulky“ je název vaší tabulky vedle různých sloupců, které tabulka bude mít, a jejich datových typů. Pro „partition_key“ je to sloupec, podle kterého dojde k rozdělení. Například následující obrázek ukazuje, že jsme vytvořili tabulku „kurzy“ se třemi sloupci. Navíc náš typ rozdělení je LIST a jako klíč rozdělení vybereme sloupec fakulty:







Jakmile je tabulka vytvořena, musíme vytvořit různé oddíly, které potřebujeme. Za tímto účelem postupujte s následující syntaxí:

CREATE TABLE tabulka_oddílů PARTITION OF main_table FOR VALUES IN (VALUE);

Například první příklad na následujícím obrázku ukazuje, že jsme vytvořili tabulku oddílů s názvem „Fset“, která obsahuje všechny hodnoty ve sloupci „fakulta“, který jsme vybrali jako klíč oddílu, jehož hodnota je „FSET“. Podobnou logiku jsme použili pro další dva oddíly, které jsme vytvořili.



Jakmile máte oddíly, můžete vložit hodnoty do hlavní tabulky, kterou jsme vytvořili. Každá hodnota, kterou vložíte, se shoduje s příslušným rozdělením na základě hodnot v klíči oddílu, který jste vybrali.

Pokud vypíšeme všechny položky v hlavní tabulce, vidíme, že obsahuje všechny položky, které jsme vložili.

Abychom ověřili, že jsme úspěšně vytvořili oddíly, zkontrolujme záznamy v každém z vytvořených oddílů.

Všimněte si, že každá dělená tabulka obsahuje pouze položky, které odpovídají kritériím definovaným při dělení. Takto funguje rozdělení podle seznamu.

2. Rozdělení rozsahu

Dalším kritériem pro vytváření oddílů je použití volby ROZSAH. K tomu musíme zadat počáteční a koncovou hodnotu, která se má pro rozsah použít. Použití této metody je ideální při práci s daty.

Jeho syntaxe pro vytvoření hlavní tabulky je následující:

CREATE TABLE název_tabulky (sloupec1 datový_typ, sloupec2 datový_typ) PARTITION BY RANGE (klíč_oddílu);

Vytvořili jsme tabulku „cust_orders“ a specifikovali ji tak, aby používala datum jako náš „klíč_oddílu“.

Chcete-li vytvořit oddíly, použijte následující syntaxi:

CREATE TABLE partition_table PARTITION OF main_table FOR VALUES FROM (počáteční_hodnota) TO (koncová_hodnota);

Definovali jsme naše oddíly tak, aby fungovaly čtvrtletně pomocí sloupce „datum“.

Po vytvoření všech oddílů a vložení dat naše tabulka vypadá takto:

Pokud zkontrolujeme položky ve vytvořených oddílech, ověříme, že naše rozdělení funguje a máme pouze příslušné záznamy podle kritérií rozdělení, která jsme zadali. Všechny nové položky, které přidáte do tabulky, se automaticky přidají do příslušného oddílu.

3. Hash Partitioning

Posledním kritériem rozdělení, o kterém budeme diskutovat, je použití hash. Pojďme rychle vytvořit hlavní tabulku pomocí následující syntaxe:

CREATE TABLE název_tabulky (sloupec1 datový_typ, sloupec2 datový_typ) PARTITION BY HASH (klíč_oddílu);

Při rozdělování pomocí hashe musíte zadat modul a zbytek, řádky, které mají být rozděleny hodnotou hash vašeho zadaného „klíče_oddílu“. V našem případě používáme modul 4.

Naše syntaxe je následující:

CREATE TABLE partition_table PARTITION OF main_table FOR VALUES WITH (MODULUS num1, REMAINDER num2);

Naše oddíly jsou následující:

Pro „main_table“ obsahuje položky, které jsou zobrazeny v následujícím:

U vytvořených oddílů můžeme rychle přistupovat k jejich záznamům a ověřit, že naše rozdělení funguje.

Závěr

Oddíly PostgreSQL jsou praktickým způsobem optimalizace databáze pro úsporu času a zvýšení spolehlivosti. Podrobně jsme probrali rozdělení včetně různých dostupných možností. Kromě toho jsme poskytli příklady, jak implementovat oddíly. Vyzkoušejte je!