A ra'ayi na, sabanin fitowar da ta gabata, PostgreSQL 12 baya ƙunshe da fasali ɗaya ko biyu na juyin juya hali (kamar rarrabawa ko daidaiton tambaya). Na taɓa yin ba'a cewa babban fasalin PostgreSQL 12 shine mafi girman kwanciyar hankali. Shin ba shine abin da kuke buƙata ba lokacin da kuke sarrafa mahimman bayanan kasuwancin ku?
Amma PostgreSQL 12 bai tsaya a nan ba: tare da sabbin abubuwa da haɓakawa, aikace-aikacen za su yi kyau sosai, kuma duk abin da kuke buƙatar yi shine haɓakawa!
(To, watakila sake gina firikwensin, amma a cikin wannan sakin ba shi da ban tsoro kamar yadda muka saba.)
Zai zama mai girma don haɓaka PostgreSQL kuma nan da nan ji daɗin ci gaba mai mahimmanci ba tare da damuwa mara amfani ba. Bayan 'yan shekarun da suka gabata, na sake nazarin haɓakawa daga PostgreSQL 9.4 zuwa PostgreSQL 10 kuma na ga yadda aikace-aikacen ya haɓaka godiya ga ingantacciyar alamar tambaya a cikin PostgreSQL 10. Kuma, mafi mahimmanci, kusan babu abin da ake buƙata daga gare ni (kawai saita siginar sanyi). max_parallel_workers
).
Yarda, yana da dacewa lokacin da aikace-aikacen ke aiki mafi kyau nan da nan bayan haɓakawa. Kuma muna ƙoƙari sosai don faranta wa masu amfani rai, saboda PostgreSQL yana da ƙari da yawa.
Don haka ta yaya haɓakawa mai sauƙi zuwa PostgreSQL 12 zai faranta muku rai? Zan gaya muku yanzu.
Manyan haɓakar fihirisa
Ba tare da fihirisa ba, rumbun adana bayanai ba zai yi nisa ba. Ta yaya kuma za ku iya samun bayanai da sauri? PostgreSQL's tushen tushen tsarin firikwensin shine ake kira
Muna amfani da afareta kawai CREATE INDEX ON some_table (some_column)
, kuma PostgreSQL yana yin ayyuka da yawa don kiyaye fihirisar ta zamani yayin da muke sakawa, sabuntawa, da share dabi'u kullun. Komai yana aiki da kansa, kamar ta sihiri.
Amma alamun PostgreSQL suna da matsala ɗaya - su
PostgreSQL 12 yana inganta aikin ma'auni na B-itace, kuma gwaje-gwaje tare da ma'auni kamar TPC-C sun nuna cewa a matsakaita 40% ƙasa da sarari yanzu ana amfani dashi. Yanzu muna kashe ɗan lokaci ba kawai don kiyaye ma'auni na B-itace ba (wato, akan ayyukan rubutawa), amma har ma akan maido da bayanai, saboda alamun sun fi ƙanƙanta.
Aikace-aikacen da ke sabunta teburin su - yawanci aikace-aikacen OLTP (
Wasu dabarun haɓakawa suna buƙatar sake gina firikwensin bishiyar B don cin gajiyar waɗannan fa'idodin (misali.
Akwai wasu haɓakawa ga kayan aikin ƙididdigewa a cikin PostgreSQL 12. Wani abu kuma inda akwai wani sihiri -
PostgreSQL 12 ya rage saman bayanan WAL waɗanda aka ƙirƙira ta GiST, GIN, da SP-GiST firikwensin yayin ginin fihirisar. Wannan yana ba da fa'idodi da yawa na zahiri: Rubutun WAL suna ɗaukar ƙarancin sarari, kuma ana sake kunna bayanai cikin sauri, kamar lokacin dawo da bala'i ko dawo da lokaci-lokaci. Idan kuna amfani da irin waɗannan firikwensin a cikin aikace-aikacenku (misali, aikace-aikacen geospatial na tushen PostGIS suna amfani da fihirisar GiST da yawa), wannan wata alama ce da za ta inganta ƙwarewa ba tare da wani yunƙuri daga ɓangaren ku ba.
Rarraba - girma, mafi kyau, sauri
An gabatar da PostgreSQL 10
A cikin PostgreSQL 12, aikin tsarin rarraba ya zama mafi kyau sosai, musamman idan akwai dubban sassa a cikin tebur. Misali, idan tambaya ta shafi ƴan ɓangarori kaɗan kawai a cikin tebur tare da dubban su, za ta aiwatar da sauri da sauri. Ayyukan ba wai kawai an inganta su don waɗannan nau'ikan tambayoyin ba. Hakanan za ku lura da saurin ayyukan INSERT akan teburi tare da ɓangarori da yawa.
Yin rikodin bayanai ta amfani da
Godiya ga waɗannan fa'idodin, PostgreSQL yana ba ku damar adana manyan bayanan da suka fi girma kuma su sauƙaƙe don dawo da su. Kuma babu wani kokari a bangaren ku. Idan aikace-aikacen yana da ɓangarori da yawa, kamar rikodin bayanan jerin lokaci, haɓakawa mai sauƙi zai inganta aikin sa sosai.
Duk da yake wannan ba daidai ba ne "haɓakawa da jin daɗin" haɓakawa, PostgreSQL 12 yana ba ku damar ƙirƙirar maɓallan ƙasashen waje waɗanda ke nuni da rarrabuwar tebur, yana mai da rabo jin daɗin yin aiki da su.
TARE da tambayoyin sun sami kyawu sosai
Lokacin
Sau da yawa ina samun cewa sababbin sababbin zuwa SQL suna son amfani da CTEs; idan kun rubuta su wata hanya, da gaske yana jin kamar kuna rubuta wani shiri mai mahimmanci. Da kaina, na so in sake rubuta waɗannan tambayoyin don zagayawa ba tare da CTE da haɓaka yawan aiki. Yanzu komai ya bambanta.
PostgreSQL 12 yana ba ku damar yin layi da takamaiman nau'in CTE ba tare da lahani ba (SELECT
), wanda ake amfani da shi sau ɗaya kawai kusa da ƙarshen buƙatar. Idan na ci gaba da bin diddigin tambayoyin CTE da na sake rubutawa, yawancinsu za su fada cikin wannan rukunin. Wannan yana taimaka wa masu haɓakawa su rubuta tabbataccen lamba wanda yanzu kuma yana aiki da sauri.
Haka kuma, PostgreSQL 12 yana inganta aiwatar da SQL da kansa, ba tare da yin komai ba. Kuma ko da yake mai yiwuwa ba zan buƙaci inganta irin waɗannan tambayoyin ba a yanzu, yana da kyau cewa PostgreSQL ya ci gaba da aiki akan inganta tambaya.
Just-in-Time (JIT) - yanzu tsoho
A kan tsarin PostgreSQL 12 tare da tallafi
Tun da an kunna JIT ta tsohuwa a cikin PostgreSQL 12, aikin zai inganta da kansa, amma ina ba da shawarar gwada aikace-aikacen a cikin PostgreSQL 11, wanda ya gabatar da JIT, don auna aikin tambaya kuma ku ga idan kuna buƙatar kunna wani abu.
Me game da sauran sabbin fasalulluka a cikin PostgreSQL 12?
PostgreSQL 12 yana da ton na sabbin abubuwa masu sanyi, daga ikon bincika bayanan JSON ta amfani da daidaitattun maganganun hanyar SQL/JSON zuwa tantance abubuwa da yawa tare da ma'auni. clientcert=verify-full
, ƙirƙira ginshiƙai da ƙari mai yawa. Ya isa ga wani matsayi daban.
Kamar PostgreSQL 10, PostgreSQL 12 zai inganta aikin gabaɗaya nan da nan bayan haɓakawa. Kai, ba shakka, za ka iya samun hanyarka - gwada aikace-aikacen a ƙarƙashin irin wannan yanayin akan tsarin samarwa kafin kunna haɓakawa, kamar yadda na yi tare da PostgreSQL 10. Ko da PostgreSQL 12 ya riga ya kasance mafi kwanciyar hankali fiye da yadda nake tsammani, kada ku yi kasala a gwaji. aikace-aikace sosai, kafin a sake su cikin samarwa.
source: www.habr.com