Kaip veikia skirstymas PostgreSQL po gaubtu?
sobes.tech AI
Atsakymas iš AI
PostgreSQL dalijimasis įgyvendinamas per tėvų ir vaikų lentelių koncepciją (partitioned tables ir partitions). Po gaubtu, kuriant dalijamą lentelę, sukuriama tėvų lentelė be duomenų, o duomenys fiziškai saugomi vaikų lentelėse, kurios atitinka tam tikrą intervalą arba reikšmių sąrašą (range/list partitioning).
Kai ateina užklausa įterpti arba pasirinkti, užklausų planuotojas nustato, į kurią dalį pateks duomenys, naudodamas dalijimosi taisykles. Tai leidžia žymiai sumažinti nuskaitytų duomenų kiekį ir pagerinti našumą.
Pavyzdys: jei yra užsakymų lentelė, suskirstyta pagal datą, užklausos apie užsakymus tam tikram mėnesiui naudosis tik atitinkama dalimi, o ne visa lentele.
Viduje PostgreSQL naudoja paveldėjimą ir trigerius duomenų maršrutizavimui, o nuo versijos 10 — efektyvesnį mechanizmą su deklaratyvaus dalijimosi palaikymu.