Have a great Friday everyone! Kaunti at kaunting oras ang natitira bago ang paglulunsad ng kurso
Sa yugto ng pag-unlad
Sa PostgreSQL 10, nakita namin ang pagsilang ng "declarative partitioning," isang tampok na idinisenyo upang malutas ang maraming problema na hindi malulutas gamit ang lumang paraan ng pamana. Ito ay humantong sa isang mas malakas na tool na nagpapahintulot sa amin na hatiin ang data nang pahalang!
Paghahambing ng tampok
Ipinakilala ng PostgreSQL 11 ang isang kahanga-hangang hanay ng mga bagong feature na tumutulong sa pagpapahusay ng performance at gawing mas transparent ang mga naka-partition na talahanayan sa mga application.
1. Paggamit ng Limiting Exceptions
2. Nagdaragdag lamang ng mga node
3. Para lamang sa isang partitioned table na tumutukoy sa isang non-partitioned
4. Dapat maglaman ang mga index ng lahat ng mga pangunahing column ng partition
5. Dapat magkatugma ang mga paghihigpit sa seksyon sa magkabilang panig
Pagiging Produktibo
May good news din tayo dito! Idinagdag ang bagong paraan WHERE
. Ang nakaraang algorithm, sa turn, ay nagsuri sa bawat seksyon upang matukoy kung matutugunan nito ang kundisyon WHERE
. Nagresulta ito sa karagdagang pagtaas sa oras ng pagpaplano habang dumami ang bilang ng mga seksyon.
Sa 9.6, na may partitioning sa pamamagitan ng inheritance, ang pagruruta ng mga tuple sa mga partition ay karaniwang ginagawa sa pamamagitan ng pagsusulat ng trigger function na naglalaman ng isang serye ng mga IF statement para ipasok ang tuple sa tamang partition. Ang mga pag-andar na ito ay maaaring napakabagal sa pagpapatupad. Sa deklaratibong partitioning idinagdag sa bersyon 10, ito ay gumagana nang mas mabilis.
Gamit ang isang partitioned table na may 100 partition, masusuri natin ang performance ng paglo-load ng 10 milyong row sa isang table na may 1 BIGINT column at 5 INT column.
Pagganap ng pag-query sa talahanayang ito upang makahanap ng isang naka-index na tala at magsagawa ng DML upang manipulahin ang isang tala (gamit lamang ang 1 processor):
Dito makikita natin na ang pagganap ng bawat operasyon ay tumaas nang malaki mula noong PG 9.6. Mga kahilingan SELECT
mas maganda ang hitsura, lalo na ang mga may kakayahang magbukod ng maraming partisyon sa panahon ng pagpaplano ng query. Nangangahulugan ito na maaaring laktawan ng scheduler ang maraming gawain na dapat ay nagawa na nito noon pa. Halimbawa, ang mga landas ay hindi na binuo para sa mga hindi kinakailangang seksyon.
Konklusyon
Nagsisimula nang maging napakalakas na feature sa PostgreSQL ang paghahati ng talahanayan. Binibigyang-daan ka nitong mabilis na magpakita ng data online at dalhin ito offline nang hindi naghihintay na makumpleto ang mabagal, napakalaking pagpapatakbo ng DML.. Nangangahulugan din ito na ang kaugnay na data ay maaaring maimbak nang magkasama, ibig sabihin, ang data na kailangan mo ay maaaring ma-access nang mas mahusay. Ang mga pagpapahusay na ginawa sa bersyong ito ay hindi magiging posible kung wala ang mga developer, reviewer at committer na walang pagod na nagtrabaho sa lahat ng mga feature na ito.
Salamat sa kanilang lahat! Ang PostgreSQL 11 ay mukhang hindi kapani-paniwala!
Narito ang isang maikli ngunit medyo kawili-wiling artikulo. Ibahagi ang iyong mga komento at huwag kalimutang mag-sign up para sa
Pinagmulan: www.habr.com