PostgreSQL 11: Évolusi partisi ti Postgres 9.6 ka Postgres 11

Wilujeng dinten Jumaah sadayana! Langkung sakedik waktos tetep sateuacan kursus diluncurkeun "DBMS Relasional", janten dinten ayeuna urang ngabagi tarjamahan tina bahan mangpaat anu sanés dina topik éta.

Dina tahap pangwangunan PostgreSQL 11 Aya sababaraha karya anu pikaresepeun pikeun ningkatkeun partisi méja. Méja partisi - ieu mangrupikeun fungsi anu aya dina PostgreSQL kanggo waktos anu lami, tapi éta, janten nyarios, dasarna henteu aya dugi ka versi 10, dimana éta janten fungsi anu mangpaat pisan. Urang saméméhna nyatakeun yén warisan tabel nyaéta palaksanaan partisi kami, sareng ieu leres. Ngan metodeu ieu maksa anjeun ngalakukeun seueur padamelan sacara manual. Salaku conto, upami anjeun hoyong tuples diselapkeun kana bagian salami INSERT, anjeun kedah ngonpigurasikeun pemicu pikeun ngalakukeun ieu pikeun anjeun. Partitioning ngaliwatan warisan éta pisan slow sarta hésé ngamekarkeun fungsionalitas tambahan di luhur.

Dina PostgreSQL 10, urang ningali lahirna "partisi déklaratif," fitur anu dirancang pikeun ngabéréskeun seueur masalah anu teu tiasa direngsekeun nganggo metode warisan kuno. Ieu nyababkeun alat anu langkung kuat anu ngamungkinkeun urang pikeun ngabagi data sacara horisontal!

Babandingan fitur

PostgreSQL 11 ngenalkeun sakumpulan fitur-fitur énggal anu ngabantosan ningkatkeun kinerja sareng ngajantenkeun tabel partisi langkung transparan pikeun aplikasi.

PostgreSQL 11: Évolusi partisi ti Postgres 9.6 ka Postgres 11
PostgreSQL 11: Évolusi partisi ti Postgres 9.6 ka Postgres 11
PostgreSQL 11: Évolusi partisi ti Postgres 9.6 ka Postgres 11
1. Ngagunakeun ngawatesan iwal
2. Nambihan ngan titik
3. Ngan pikeun tabel partitioned ngarujuk kana non-partitioned
4. Indéks kedah ngandung sadaya kolom konci partisi
5. larangan bagian dina dua sisi kudu cocog

kakuwatan keur ngasilkeun

Urang ogé boga warta alus di dieu! Metoda anyar ditambahkeun ngahapus bagian. Algoritma anyar ieu tiasa nangtukeun bagian anu cocog ku ningali kaayaan pamundut WHERE. Algoritma saméméhna, giliran, pariksa unggal bagian pikeun nangtukeun naha éta tiasa nyumponan kaayaan éta WHERE. Ieu nyababkeun paningkatan tambahan dina waktos perencanaan nalika jumlah bagian ningkat.

Dina 9.6, kalayan ngabagi via warisan, rute tuple kana partisi biasana dilakukeun ku cara nyerat fungsi pemicu anu ngandung runtuyan pernyataan IF pikeun nyelapkeun tuple kana partisi anu leres. Pungsi ieu bisa jadi lambat pisan dieksekusi. Kalawan partisi déklaratif ditambahkeun dina versi 10, ieu jalan leuwih gancang.

Ngagunakeun tabel partitioned kalawan 100 partitions, urang tiasa evaluate kinerja loading 10 juta baris kana tabel kalawan 1 kolom BIGINT sarta 5 kolom INT.

PostgreSQL 11: Évolusi partisi ti Postgres 9.6 ka Postgres 11

Kinerja querying tabel ieu pikeun manggihan hiji rékaman indéks jeung ngaéksekusi DML pikeun ngamanipulasi hiji rékaman (maké ngan 1 processor):

PostgreSQL 11: Évolusi partisi ti Postgres 9.6 ka Postgres 11

Di dieu urang bisa nempo yén kinerja unggal operasi geus ngaronjat sacara signifikan saprak PG 9.6. Paménta SELECT kasampak leuwih hadé, utamana maranéhanana anu sanggup ngaluarkeun sababaraha partitions salila tata query. Ieu ngandung harti yén scheduler nu bisa skip loba karya nu sakuduna geus dipigawé saméméh. Salaku conto, jalur henteu deui diwangun pikeun bagian anu teu perlu.

kacindekan

Méja partisi mimiti janten fitur anu pohara kuat dina PostgreSQL. Eta ngidinan Anjeun pikeun gancang nembongkeun data online tur nyandak eta offline tanpa ngantosan slow, operasi DML masif pikeun réngsé.. Ieu ogé hartosna yén data anu aya hubunganana tiasa disimpen babarengan, hartosna data anu anjeun peryogikeun tiasa diakses langkung éfisién. Perbaikan anu dilakukeun dina vérsi ieu moal mungkin tanpa pamekar, pamariksaan sareng committers anu parantos nyambut damel dina sadaya fitur ieu.
Hatur nuhun ka aranjeunna sadayana! PostgreSQL 11 Sigana hebat!

Ieu artikel pondok tapi cukup metot. Bagikeun koméntar anjeun sareng tong hilap ngadaptarkeun Buka Poé, di mana program kursus bakal dijelaskeun sacara rinci.

sumber: www.habr.com

Tambahkeun komentar