N'uche nke m, n'adịghị ka mwepụta ndị gara aga, PostgreSQL 12 enweghị otu njirimara mgbanwe ma ọ bụ abụọ (dị ka nkebi ma ọ bụ ajụjụ myirịta). M na-akparị otu oge na akụkụ bụ isi nke PostgreSQL 12 bụ nkwụsi ike ka ukwuu. Ọ bụghị nke ahụ bụ ihe ịchọrọ mgbe ị jikwaa data dị oke mkpa nke azụmahịa gị?
Mana PostgreSQL 12 anaghị akwụsị ebe ahụ: site na njirimara na nkwalite ọhụrụ, ngwa ga-arụ ọrụ nke ọma, na ihe niile ị ga - eme bụ nkwalite!
(Ọfọn, ma eleghị anya wughachi index, ma na ntọhapụ a adịghị atụ egwu dị ka anyị na-emebu.)
Ọ ga-adị mma ịkwalite PostgreSQL wee nwee ọmarịcha ndozi ozugbo na-enweghị mkpasu iwe na-enweghị isi. Afọ ole na ole gara aga, enyochara m nkwalite site na PostgreSQL 9.4 ruo PostgreSQL 10 wee hụ ka ngwa ahụ si gbasaa ekele maka mgbaghara ajụjụ dị mma na PostgreSQL 10. Ma, nke kachasị mkpa, ọ fọrọ nke nta ka ọ bụrụ ihe ọ bụla achọrọ n'aka m (naanị setịpụ nhazi nhazi. max_parallel_workers
).
Kwere, ọ dị mma mgbe ngwa na-arụ ọrụ nke ọma ozugbo nkwalite. Anyị na-agbasi mbọ ike ime ihe na-atọ ndị ọrụ ụtọ, n'ihi na PostgreSQL nwere ọtụtụ n'ime ha.
Yabụ kedu ka nkwalite dị mfe na PostgreSQL 12 ga-esi mee gị obi ụtọ? Aga m agwa gị ugbua.
Nnukwu mmezi indexing
Enweghị indexing, nchekwa data agaghị aga ebe dị anya. Kedu ka ị ga-esi chọta ozi ngwa ngwa? A na-akpọ usoro nrịbama ntọala PostgreSQL
Naanị anyị na-eji onye ọrụ CREATE INDEX ON some_table (some_column)
, na PostgreSQL na-arụ ọrụ dị ukwuu iji mee ka ndeksi dị ọhụrụ ka anyị na-etinye oge niile, na-emelite, na ihichapụ ụkpụrụ. Ihe niile na-arụ ọrụ n'onwe ya, dị ka a ga-asị na ọ bụ anwansi.
Mana ndenye aha PostgreSQL nwere otu nsogbu - ha
PostgreSQL 12 na-eme ka arụmọrụ nke ndepụta B-osisi dịkwuo mma, na nnwale ndị nwere akara dị ka TPC-C egosila na na nkezi 40% obere ohere ugbu a na-eji. Ugbu a, anyị na-etinye obere oge ọ bụghị naanị n'ịnọgide na-edobe ndepụta B-osisi (ya bụ, na-arụ ọrụ ederede), kamakwa na iweghachite data, n'ihi na indexes dị ntakịrị.
Ngwa na-arụsi ọrụ ike na-emelite tebụl ha - na-abụkarị ngwa OLTP (
Ụfọdụ atụmatụ nkwalite chọrọ iwughachi ndepụta aha osisi B iji nweta uru ndị a (dịka ọmụmaatụ.
Enwere nkwalite ndị ọzọ na akụrụngwa indexing na PostgreSQL 12. Ihe ọzọ ebe enwere anwansi -
PostgreSQL 12 ebelatala isi ihe ndekọ WAL nke ihe ndeksi GiST, GIN na SP-GiST mebere n'oge a na-arụ ndeksi. Nke a na-enye ọtụtụ uru a na-ahụ anya: Ihe ndekọ WAL na-ewe obere ohere diski, a na-emegharị data ngwa ngwa, dị ka n'oge mgbake ọdachi ma ọ bụ mgbake oge. Ọ bụrụ na ị na-eji index dị otú ahụ na ngwa gị (dịka ọmụmaatụ, ngwa geospatial dabeere na PostGIS na-eji index GiST ọtụtụ), nke a bụ ihe ọzọ ga-eme ka ahụmịhe ahụ dịkwuo mma n'enweghị mgbalị ọ bụla n'akụkụ gị.
Nkebi - ibu, mma, ngwa ngwa
ewebata PostgreSQL 10
Na PostgreSQL 12, arụmọrụ nke usoro nkewa aghọwo nke ọma karị, karịsịa ma ọ bụrụ na e nwere ọtụtụ puku akụkụ na tebụl. Dịka ọmụmaatụ, ọ bụrụ na ajụjụ na-emetụta naanị akụkụ ole na ole na tebụl nwere ọtụtụ puku n'ime ha, ọ ga-eme ngwa ngwa. Ọ bụghị naanị na emelitere arụmọrụ maka ụdị ajụjụ ndị a. Ị ga-ahụkwa ka ọrụ INSERT si dị ngwa ngwa na tebụl nwere ọtụtụ akụkụ.
Iji dekọọ data
N'ihi uru ndị a, PostgreSQL na-enye gị ohere ịchekwa ọbụna nhazi data buru ibu ma mee ka ọ dị mfe iji weghachite. Ọ dịghịkwa mgbalị n'akụkụ gị. Ọ bụrụ na ngwa ahụ nwere ọtụtụ akụkụ, dị ka ndekọ data usoro oge, nkwalite dị mfe ga-eme ka arụmọrụ ya dịkwuo mma.
Ọ bụ ezie na nke a abụghị kpọmkwem nkwalite "mmelite ma nwee ọ enjoyụ", PostgreSQL 12 na-enye gị ohere ịmepụta igodo mba ọzọ nke na-ezo aka na tebụl ndị kewara ekewa, na-eme ka nkewa bụrụ ihe ụtọ iji rụọ ọrụ.
N'ajụjụ ọnụ nwetara nke ọma
Mgbe
M na-achọpụtakarị na ndị ọhụrụ SQL na-enwe mmasị iji CTE ma ọ bụrụ na ị na-ede ha otu ụzọ, ọ na-adị gị ka ị na-ede ihe omume dị mkpa. Onwe m, ọ masịrị m idegharị ajụjụ ndị a ka m wee gbagharịa enweghị CTE ma na-abawanye mmepụta. Ugbu a ihe niile dị iche.
PostgreSQL 12 na-enye gị ohere ịdebanye aha otu ụdị CTE na-enweghị mmetụta ọ bụla.SELECT
), nke a na-eji naanị otu ugboro n'akụkụ njedebe nke arịrịọ ahụ. Ọ bụrụ na m debere ajụjụ CTE m degharịrị, ọtụtụ n'ime ha ga-adaba na ngalaba a. Nke a na-enyere ndị mmepe aka ide koodu doro anya nke na-agbakwa ọsọ ọsọ ugbu a.
Ọzọkwa, PostgreSQL 12 na-ebuli ogbugbu SQL n'onwe ya, na-enweghị ịme ihe ọ bụla. Ma n'agbanyeghị na m gaghị achọ ịkwalite ajụjụ ndị dị otú ahụ ugbu a, ọ dị mma na PostgreSQL na-aga n'ihu na-arụ ọrụ na njikarịcha ajụjụ.
Just-in-Time (JIT) - ndabara ugbu a
Na sistemụ PostgreSQL 12 nwere nkwado
Ebe ọ bụ na enyere JIT aka na ndabara na PostgreSQL 12, arụmọrụ ga-akawanye mma n'onwe ya, mana m na-akwado ịnwale ngwa ahụ na PostgreSQL 11, nke webatara JIT, iji tụọ arụmọrụ ajụjụ wee hụ ma ọ bụrụ na ịchọrọ ịmegharị ihe ọ bụla.
Kedu maka njirimara ọhụrụ ndị ọzọ na PostgreSQL 12?
PostgreSQL 12 nwere ọtụtụ atụmatụ ọhụrụ dị mma, site n'ikike iji nyochaa data JSON site na iji usoro ụzọ SQL/JSON ọkọlọtọ gaa na nyocha ọtụtụ ihe na oke. clientcert=verify-full
, kere ogidi na ọtụtụ ndị ọzọ. Zuru oke maka post dị iche.
Dị ka PostgreSQL 10, PostgreSQL 12 ga-emeziwanye arụmọrụ n'ozuzu ya ozugbo nkwalite ahụ gasịrị. Ị, n'ezie, nwere ike ịnweta ụzọ nke aka gị - nwalee ngwa ahụ n'okpuru ọnọdụ ndị yiri ya na usoro mmepụta tupu ịmalite imeziwanye, dị ka m mere na PostgreSQL 10. Ọbụna ma ọ bụrụ na PostgreSQL 12 adịlarị karịa ka m tụrụ anya, adịghị umengwụ na ule. ngwa nke ọma, tupu ahapụ ha n'ime mmepụta.
isi: www.habr.com