Ez a bejegyzés a PostgreSQL particionálást fedi le. Megvitatjuk a használható particionálási lehetőségeket, és példákat adunk ezek használatára a jobb megértés érdekében.
PostgreSQL partíciók létrehozása
Bármely adatbázis tartalmazhat számos táblát több bejegyzéssel. Az egyszerű kezelés érdekében particionálja a táblákat, ami egy nagyszerű és ajánlott adattárházi rutin az adatbázisok optimalizálásához és a megbízhatóság elősegítéséhez. Különféle partíciókat hozhat létre, beleértve a listát, a tartományt és a hash-t. Beszéljük meg mindegyiket részletesen.
1. Particionálás listája
Mielőtt bármilyen particionálást mérlegelnénk, létre kell hoznunk a partíciókhoz használt táblát. A táblázat létrehozásakor kövesse az összes partícióra megadott szintaxist:
TÁBLÁZAT LÉTREHOZÁSA táblanév(1. oszlop adattípus, 2. oszlop adattípus) PARTITION BY
A „tábla_neve” a táblázat neve a táblában található különböző oszlopok és azok adattípusai mellett. A „partition_key” esetében ez az oszlop, amelyen keresztül a particionálás megtörténik. Például a következő képen látható, hogy létrehoztuk a „tanfolyamok” táblázatot három oszloppal. Ezenkívül a particionálás típusa LIST, és a kar oszlopot választjuk particionálási kulcsunknak:
A tábla létrehozása után létre kell hoznunk a különböző partíciókat, amelyekre szükségünk van. Ehhez folytassa a következő szintaxissal:
TÁBLÁZAT LÉTREHOZÁSA partíciós_tábla A fő_tábla PARTÍCIÓJA FOR VALUES IN (ÉRTÉK);Például a következő kép első példája azt mutatja, hogy létrehoztunk egy „Fset” nevű partíciós táblát, amely tartalmazza a „faculty” oszlop összes értékét, amelyet partíciós kulcsunkként választottunk, és amelynek értéke „FSET”. Hasonló logikát alkalmaztunk az általunk létrehozott másik két partíciónál is.
Miután megvan a partíció, beillesztheti az értékeket az általunk létrehozott fő táblába. Minden beszúrt érték megfeleltethető a megfelelő particionálással a kiválasztott partíciókulcs értékei alapján.
Ha felsoroljuk az összes bejegyzést a főtáblázatban, láthatjuk, hogy benne van az összes általunk beszúrt bejegyzés.
Annak ellenőrzésére, hogy sikeresen létrehoztuk a partíciókat, nézzük meg az egyes létrehozott partíciók rekordjait.
Figyelje meg, hogy az egyes particionált táblák csak azokat a bejegyzéseket tartalmazzák, amelyek megfelelnek a particionálás során meghatározott feltételeknek. Így működik a lista szerinti particionálás.
2. Tartomány particionálás
A partíciók létrehozásának másik feltétele a RANGE opció használata. Ehhez meg kell adnunk a tartomány kezdő és végértékét. Ez a módszer ideális, ha dátumokkal dolgozik.
A főtábla létrehozásának szintaxisa a következő:
CREATE TABLE táblanév(oszlop1 adattípus, oszlop2 adattípus) PARTÍCIÓ TARTOMÁNY SZERINT (partíciókulcs);Létrehoztuk a „cust_orders” táblát, és megadtuk, hogy a dátumot használja „partition_key”-ként.
A partíciók létrehozásához használja a következő szintaxist:
TÁBLÁZAT LÉTREHOZÁSA partíciós_tábla A fő_tábla PARTÍCIÓJA ÉRTÉKEKHEZ (kezdő_érték) IG (vég_érték);Partícióinkat negyedévente működőképesnek határoztuk meg a „dátum” oszlop használatával.
Az összes partíció létrehozása és az adatok beszúrása után a táblázatunk így néz ki:
Ha ellenőrizzük a bejegyzéseket a létrehozott partíciókban, akkor ellenőrizzük, hogy a particionálásunk működik, és csak az általunk megadott particionálási feltételeknek megfelelő rekordokkal rendelkezünk. A táblázathoz hozzáadott összes új bejegyzés automatikusan hozzáadódik a megfelelő partícióhoz.
3. Hash particionálás
Az utolsó particionálási kritérium, amelyet megvitatunk, a hash használata. Hozzuk létre gyorsan a főtáblát a következő szintaxissal:
TÁBLÁZAT LÉTREHOZÁSA táblanév(1. oszlop adattípus, 2. oszlop adattípus) PARTÍCIÓ HASH ÁLTAL (partíciókulcs);
Ha hash-sel particionál, meg kell adnia a modulust és a maradékot, a sorokat, amelyeket el kell osztani a megadott 'partition_key' hash értékével. A mi esetünkben 4-es modulust használunk.
A szintaxisunk a következő:
TÁBLÁZAT LÉTREHOZÁSA partíciós_tábla A fő_tábla PARTÍCIÓJA FOR VALUES WITH (MODULUS num1, REMAINDER num2);Partícióink a következők:
A „main_table” a következőkben látható bejegyzéseket tartalmazza:
A létrehozott partíciók bejegyzéseihez gyorsan hozzáférhetünk, és ellenőrizhetjük, hogy a particionálásunk működik-e.
Következtetés
A PostgreSQL partíciók praktikus módja az adatbázis optimalizálásának, hogy időt takarítson meg és növelje a megbízhatóságot. Részletesen megvitattuk a particionálást, beleértve a különböző lehetőségeket. Ezenkívül példákat adtunk a partíciók megvalósítására. Próbáld ki őket!