Mayroon kaming mga Postgres doon, ngunit hindi ko alam kung ano ang gagawin dito (c)

Ito ay isang quote mula sa isa sa aking mga kaibigan na minsan ay lumapit sa akin na may tanong tungkol sa Postgres. Pagkatapos ay nalutas namin ang kanyang problema sa loob ng ilang araw at, salamat sa akin, idinagdag niya: "Mabuti na magkaroon ng isang pamilyar na DBA."

Ngunit ano ang gagawin kung hindi mo alam ang isang DBA? Maaaring mayroong napakaraming mga pagpipilian sa sagot, mula sa paghahanap sa iyong mga kaibigan para sa mga kaibigan hanggang sa pag-aaral mismo ng tanong. Pero kahit anong sagot ang pumasok sa isip mo, may good news ako sayo. Sa test mode, naglunsad kami ng serbisyo ng rekomendasyon para sa Postgres at lahat ng bagay sa paligid nito. Ano ito at paano tayo nabuhay ng ganito?

Bakit lahat ng ito?

Ang mga postgres ay hindi bababa sa hindi madali, at kung minsan ay napakahirap. Depende sa antas ng pakikilahok at responsibilidad.

Kailangang tiyakin ng mga nagtatrabaho sa mga operasyon na gumagana nang maayos at matatag ang Postgres bilang isang serbisyo - subaybayan ang paggamit ng mga mapagkukunan, kakayahang magamit, kasapatan ng pagsasaayos, pana-panahong magsagawa ng mga update at regular na pagsusuri sa kalusugan. Ang mga nasa pagbuo at sumulat ng mga aplikasyon, sa mga pangkalahatang tuntunin, ay kailangang subaybayan kung paano nakikipag-ugnayan ang application sa database at hindi ito lumilikha ng mga sitwasyong pang-emergency na maaaring magpahina sa database. Kung ang isang tao ay hindi pinalad na maging isang teknikal na lead/teknikal na direktor, kung gayon ito ay mahalaga para sa kanya na ang Postgres sa kabuuan ay gumagana nang mapagkakatiwalaan, predictably at hindi lumikha ng mga problema, habang ito ay ipinapayong huwag sumisid nang malalim sa Postgres sa loob ng mahabang panahon .

Sa alinman sa mga kasong ito, nariyan ka at si Postgres. Para makapaglingkod nang maayos sa Postgres, kailangan mong magkaroon ng mahusay na pag-unawa dito at maunawaan kung paano ito gumagana. Kung ang Postgres ay hindi isang direktang espesyalisasyon, maaari kang gumugol ng maraming oras sa pag-aaral nito. Sa isip, kapag may oras at pagnanais, hindi laging malinaw kung saan magsisimula, paano at saan lilipat.

Kahit na ang pagsubaybay ay ipinakilala, na sa teorya ay dapat na mapadali ang operasyon, ang isyu ng kaalaman ng eksperto ay nananatiling bukas. Upang mabasa at maunawaan ang mga graph, kailangan mo pa ring magkaroon ng mahusay na pag-unawa sa kung paano gumagana ang Postgres. Kung hindi, ang anumang pagsubaybay ay nagiging malungkot na mga larawan at spam mula sa mga alerto sa mga random na oras ng araw.

Pang-armas ginawa lang para gawing mas madaling gamitin ang Postgres. Kinokolekta at sinusuri ng serbisyo ang data tungkol sa Postgres at gumagawa ng mga rekomendasyon sa kung ano ang maaaring mapabuti.

Ang pangunahing layunin ng serbisyo ay upang magbigay ng malinaw na mga rekomendasyon na nagbibigay ng ideya kung ano ang nangyayari at kung ano ang kailangang gawin sa susunod.

Para sa mga propesyonal na walang ekspertong kaalaman, ang mga rekomendasyon ay nagbibigay ng panimulang punto para sa advanced na pagsasanay. Para sa mga advanced na espesyalista, ang mga rekomendasyon ay nagpapahiwatig ng mga punto na dapat bigyang pansin. Kaugnay nito, gumaganap ang Weaponry bilang isang katulong na nagsasagawa ng mga karaniwang gawain upang makahanap ng mga problema o pagkukulang na nangangailangan ng espesyal na atensyon. Ang sandata ay maihahambing sa isang linter na sumusuri sa Postgres at nagtuturo ng mga kapintasan.

Paano na ang mga bagay ngayon?

Sa ngayon, Pang-armas ay nasa test mode at walang bayad, pansamantalang limitado ang pagpaparehistro. Kasama ang ilang mga boluntaryo, tinatapos namin ang engine ng rekomendasyon sa malapit na mga base ng labanan, pagtukoy ng mga maling positibo at ginagawa ang teksto ng mga rekomendasyon.

Sa pamamagitan ng paraan, ang mga rekomendasyon ay medyo prangka - sinasabi lang nila kung ano ang gagawin at kung paano ito gagawin, nang walang karagdagang mga detalye - kaya sa una ay kailangan mong sundin ang mga nauugnay na link o Google ito. Sinasaklaw ng mga pagsusuri at rekomendasyon ang mga setting ng system at hardware, mga setting ng Postgres mismo, ang panloob na schema, at ang mga mapagkukunang ginamit. Marami pa ring mga bagay na kailangang idagdag sa mga plano.

At siyempre, naghahanap kami ng mga boluntaryo na handang subukan ang serbisyo at magbigay ng feedback. Mayroon din kami demo, maaari kang pumasok at tingnan. Kung naiintindihan mo na kailangan mo ito at handa nang subukan, sumulat sa amin sa mail.

Na-update 2020-09-16. Nagsisimula.

Pagkatapos ng pagpaparehistro, sinenyasan ang user na lumikha ng isang proyekto - na nagpapahintulot sa iyo na pagsamahin ang mga instance ng database sa mga grupo. Pagkatapos gumawa ng proyekto, ididirekta ang user sa mga tagubilin para sa pag-configure at pag-install ng ahente. Sa madaling sabi, kailangan mong lumikha ng mga user para sa ahente, pagkatapos ay i-download ang script ng pag-install ng ahente at patakbuhin ito. Sa mga utos ng shell mukhang ganito:

psql -c "CREATE ROLE pgscv WITH LOGIN SUPERUSER PASSWORD 'A7H8Wz6XFMh21pwA'"
export PGSCV_PG_PASSWORD=A7H8Wz6XFMh21pwA
curl -s https://dist.weaponry.io/pgscv/install.sh |sudo -E sh -s - 1 6ada7a04-a798-4415-9427-da23f72c14a5

Kung ang host ay may pgbouncer, kakailanganin mo ring gumawa ng user para ikonekta ang ahente. Ang partikular na paraan upang i-configure ang isang user sa pgbouncer ay maaaring maging napaka-variable at lubos na nakadepende sa configuration na ginamit. Sa mga pangkalahatang tuntunin, ang setup ay bumaba sa pagdaragdag ng user sa stats_users configuration file (karaniwan pgbouncer.ini) at pagsusulat ng password (o hash nito) sa file na tinukoy sa parameter auth_file. Kung babaguhin mo ang stats_users, kakailanganin mong i-restart ang pgbouncer.

Ang script ng install.sh ay tumatagal ng ilang kinakailangang argumento na natatangi para sa bawat proyekto, at sa pamamagitan ng mga variable ng kapaligiran tinatanggap nito ang mga detalye ng mga nilikhang user. Susunod, sinisimulan ng script ang ahente sa bootstrap mode - kinokopya ng ahente ang sarili nito sa PATH, gagawa ng config na may mga detalye, isang systemd unit at magsisimula bilang isang systemd service.
Kinukumpleto nito ang pag-install. Sa loob ng ilang minuto, lalabas ang instance ng database sa listahan ng mga host sa interface at maaari mo nang tingnan ang mga unang rekomendasyon. Ngunit ang isang mahalagang punto ay ang maraming mga rekomendasyon ay nangangailangan ng isang malaking bilang ng mga naipon na sukatan (hindi bababa sa bawat araw).

Pinagmulan: www.habr.com

Magdagdag ng komento