Talofa, tagata o Khabrovsk. O vasega i le vaega muamua o le kosi e amata i le aso
В
Sa faia le webinar
A o laiti laau...
Muamua, tatou manatua pe na faapefea ona amata le filifiliga o le DBMS i le faaiuga o le seneturi talu ai. Ae ui i lea, o le a le faigata lenei mea, aua o le filifiliga o se DBMS i na aso na amata ma maeʻa Oracle.
I le fa'ai'uga o le 90s ma le amataga o le 2s, e leai lava se filifiliga pe a o'o mai i fa'amaumauga tau alamanuia. Ioe, sa i ai IBM DBXNUMX, Sybase ma isi faʻamaumauga na oʻo mai ma alu, ae i se tulaga lautele latou te leʻi iloa tele i tua o Oracle. E tusa ai ma lea, o tomai o inisinia o na taimi sa noatia i le filifiliga e tasi sa i ai.
Oracle DBA e tatau ona mafai ona:
- faʻapipiʻi Oracle Server mai le pusa tufatufa;
- fetuutuunai Oracle Server:
- init.ora;
- listener.ora;
- faia:
- avanoa laulau;
- fuafuaga;
- tagata fa'aoga;
- faia faʻamaumauga ma toe faʻaleleia;
- faia le mataituina;
- feagai ma talosaga suboptimal.
I le taimi lava e tasi, e leai se manaʻoga faʻapitoa mai Oracle DBA:
- mafai ona filifili le DBMS sili ona lelei poʻo isi tekinolosi mo le teuina ma le faʻaogaina o faʻamaumauga;
- tu'uina atu avanoa maualuga ma fa'ata'atia fa'alava (e le'o taimi uma o se fa'afitauli DBA);
- malamalama lelei i le mataupu autu, atinaʻe, fausaga faʻaoga, OS;
- uta ma la'u fa'amaumauga, femalaga'i fa'amatalaga i le va o DBMS eseese.
I se tulaga lautele, afai tatou te talanoa e uiga i le filifiliga i na aso, e pei o le filifiliga i se faleoloa Soviet i le faaiuga o le 80s:
O tatou taimi
Talu mai lena taimi, ioe, ua ola laau, ua suia le lalolagi, ma ua avea ma se mea faapenei:
Ua suia foi le maketi DBMS, e pei ona mafai ona iloa manino mai le lipoti lata mai mai Gartner:
Ma o iinei e tatau ona maitauina o ao, o loʻo faʻatupulaia lona lauiloa, ua nofoia lo latou faʻailoga. Afai tatou te faitau i le lipoti lava lea a Gartner, o le a tatou vaʻai i faʻaiuga nei:
- O le tele o tagata fa'atau o lo'o i luga o le ala e fa'anofo ai talosaga i le ao.
- O tekonolosi fou e faʻaalia muamua i le ao ma e le o se mea moni o le a latou agai atu i atinaʻe e le o ni ao.
- O le faʻataʻitaʻiga o le tau o le totogi-e-alu ua avea ma mea masani. E manaʻo tagata uma e totogi naʻo mea latou te faʻaaogaina, ma e le o se aga, ae na o se faʻamatalaga o le mea moni.
Ae faapefea nei?
O le asō ua tatou i ai uma i le ao. Ma o fesili e tulai mai mo i tatou o fesili o filifiliga. Ma e tele, e tusa lava pe tatou te talanoa e uiga i le filifiliga o tekinolosi DBMS i luga ole faatulagaga. E iai fo'i a matou auaunaga fa'atautaia ma SaaS. O le mea lea, o le filifiliga e sili atu ona faigata i tausaga uma.
Faatasi ai ma fesili o filifiliga, e iai foi fa'atapula'aina mea:
- le tau. O le tele o tekinolosi o loʻo faʻaalu pea tupe;
- tomai. Afai tatou te talanoa e uiga i polokalama e leai se totogi, ona tulaʻi mai lea o le fesili o tomai, talu ai e manaʻomia e le free software le agavaa mai tagata o loʻo faʻapipiʻiina ma faʻaaogaina;
- aoga. E le o auaunaga uma o loʻo maua i le ao ma fausia, fai mai, e oʻo lava i luga o le Postgres tutusa, e tutusa foliga tutusa ma Postgres On-premises. O se vaega taua lea e tatau ona iloa ma malamalama. E le gata i lea, o lenei mea e sili atu le taua nai lo le malamalama i nisi o gafatia natia o se DBMS e tasi.
O le a le mea o loʻo faʻamoemoeina mai le DA / DE i le taimi nei:
- malamalama lelei i le mataupu ma le faʻatulagaina o faʻaoga;
- le mafai ona filifili saʻo le tekonolosi DBMS talafeagai, faʻatatau i le galuega o loʻo i ai;
- le mafai ona filifili le auala sili ona lelei mo le faʻatinoina o tekinolosi filifilia i le tulaga o tapulaʻa o loʻo iai;
- mafai ona faatino le fesiitaiga ma femalagaiga;
- agava'a e fa'atino ma fa'agaoioi fofo filifilia.
Fa'ata'ita'iga i lalo fa'avae ile GCP fa'aalia pe fa'apefea ona galue le filifiliga o se tasi po'o se isi tekonolosi mo le galue ma fa'amaumauga e fa'atatau i lona fausaga:
Faamolemole ia matau o le PostgreSQL e le o aofia i le fuafuaga, ma e mafua ona e natia i lalo o faaupuga. Ao SQL. Ma a tatou oʻo i le Cloud SQL, e tatau ona tatou toe faia se filifiliga:
E tatau ona maitauina o lenei filifiliga e leʻo manino i taimi uma, o le mea lea e masani ona taʻitaʻia e le aufaipisinisi talosaga e le malamalama.
Aofai:
- O le mamao e te alu ai, o le tele foi lena o le fetaomi atu o le fesili o le filifiliga. Ma e tusa lava pe e te vaʻai naʻo le GCP, faʻatautaia auaunaga ma SaaS, o nisi o taʻua o le RDBMS e faʻaalia i le laasaga lona 4 (ma o loʻo lata ane Spanner). Ma le isi, o le filifiliga a le PostgreSQL o loʻo faʻaalia i le laasaga 5, ma i tafatafa o loʻo i ai foi MySQL ma SQL Server, o lona uiga. e tele mea uma, ae e tatau ona e filifili.
- E le tatau ona galo ia i tatou tapulaa e faasaga i le talaaga o faaosoosoga. E mana'o tagata uma i se Spanner, ae e taugata. O se taunuuga, o se talosaga masani e foliga mai e pei o lenei: "Faamolemole fai matou ma Spanner ae mo le tau o Cloud SQL, o oe o tagata tomai!"
O le a se mea oute faia?
A aunoa ma le fai mai o le mea moni sili, sei tatou fai atu mea nei:
E tatau ona suia la tatou auala i le aoaoina:
- e leai se aoga o le aoaoina o le auala na aoaoina ai DBA muamua;
- ua le lava le malamalama i se oloa e tasi;
- ae o le iloaina o le tele i le tulaga o le tasi e le mafai.
E tatau ona e iloa e le gata ma e le gata i le tele o le oloa, ae:
- fa'aoga tulaga o lona fa'aogaina;
- auala eseese faʻapipiʻi;
- itu lelei ma le le lelei o metotia taitasi;
- oloa tutusa ma isi mea e fai ai se filifiliga atamai ma sili ona lelei ae le o taimi uma e fiafia ai i se oloa masani.
E manaʻomia foʻi le mafai ona e faimalaga faʻamatalaga ma malamalama i mataupu faavae o le tuʻufaʻatasia ma le ETL.
Tulaga moni
I le taimi ua tuanaʻi talu ai nei, sa manaʻomia le faia o se pito i tua mo se telefoni feaveaʻi. E oo atu i le taimi na amata ai galuega, ua uma ona fausia le pito i tua ma ua sauni mo le faʻatinoga, ma na faʻaalu e le au atinaʻe le tusa ma le lua tausaga i lenei poloketi. O galuega nei na fa'atulaga:
- fausia CI/CD;
- toe iloilo le fausaga;
- fa'atino uma.
O le talosaga lava ia o microservices, ma o le Python / Django code na atiae mai le sasa ma tuusao i le GCP. Ae mo le au maimoa, na manatu o le ai ai ni itulagi se lua - US ma EU, ma fefaʻatauaʻiga na tufatufa atu i le Global Load balancer. O Galuega uma ma le fa'atulagaina o galuega sa fa'aoga ile Google Kubernetes Engine.
Ae mo faʻamaumauga, e 3 fausaga:
- Teuga o Ao;
- Fa'amaumauga;
- Cloud SQL (PostgreSQL).
Atonu e mafaufau se tasi pe aisea na filifilia ai Cloud SQL? I le taʻuina atu o le mea moni, o sea fesili na mafua ai se ituaiga o taofi le lelei i tausaga talu ai - o loʻo i ai se lagona ua matamumuli tagata e uiga i faʻamaumauga o fesoʻotaʻiga, ae ui i lea o loʻo faʻaauau pea ona latou faʻaaogaina ;-).
Ae mo la matou mataupu, na filifilia Cloud SQL mo mafuaaga nei:
- E pei ona taʻua, o le talosaga na fausia e faʻaaoga ai Django, ma o loʻo i ai se faʻataʻitaʻiga mo le faʻatulagaina o faʻamaumauga tumau mai se database SQL i mea Python (Django ORM).
- O le faʻavae lava ia na lagolagoina se lisi faʻatapulaʻaina o DBMSs:
- PostgreSQL;
- MariaDB;
- MySQL;
- lauga;
- SQLite
E tusa ai ma lea, PostgreSQL na filifilia mai lenei lisi nai lo le faʻaogaina (lelei, e le o Oracle e filifili, moni).
O le a le mea na misi:
- o le talosaga na faʻapipiʻiina i na o le 2 itulagi, ma le lona 3 na faʻaalia i fuafuaga (Asia);
- O le fa'amaumauga sa tu i le itu i Matu Amerika (Iowa);
- i le vaega a le tagata fa'atau sa i ai ni atugaluga e mafai avanoa tuai mai Europa ma Asia ma fa'alavelave i le auaunaga i le tulaga o le DBMS downtime.
E ui lava i le mea moni e mafai e Django lava ia ona galue ma le tele o faʻamaumauga e tutusa ma vaevaeina i latou i le faitau ma le tusitusi, e leʻi tele naua tusitusiga i le talosaga (sili atu i le 90% o loʻo faitau). Ma i se tulaga lautele, ma i se tulaga lautele, pe a mafai ona fai faitau-faatusa o le faavae autu i Europa ma Asia, o le a avea lea ma se fofo fetuunai. Ia, o le a le lavelave tele?
O le faigata ona e le manaʻo le tagata faʻatau e fiu i le faʻaaogaina o auaunaga faʻatautaia ma Cloud SQL. Ma o le gafatia o Cloud SQL o loʻo faʻatapulaʻa nei. E lagolagoina e le Cloud SQL le avanoa maualuga (HA) ma le Read Replica (RR), ae o le RR lava e tasi e lagolagoina i le tasi itulagi. I le faia o se faʻamaumauga i le itulagi o Amerika, e le mafai ona e faia se kopi faitau i le itulagi Europa e faʻaaoga ai Cloud SQL, e ui lava e le taofia oe e Postgres mai le faia o lenei mea. O fesoʻotaʻiga ma tagata faigaluega Google e leai se mea na taʻitaʻia ma faʻaiʻu i folafolaga i le faiga o le "matou te iloa le faʻafitauli ma o loʻo galulue i ai, e i ai se aso o le a foia ai le mataupu."
Afai matou te lisiina faʻapuupuu le gafatia o Cloud SQL, o le a foliga faʻapea:
1. Avanoa maualuga (HA):
- i totonu o le itulagi e tasi;
- e ala i le kopi kopi;
- PostgreSQL afi e le faʻaaogaina;
- otometi ma le fa'atonuga fa'atonu e mafai - failover/faillback;
- A sui, e le avanoa le DBMS mo ni nai minute.
2. Faitau Fa'atusa (RR):
- i totonu o le itulagi e tasi;
- tutu vevela;
- PostgreSQL toe faʻasalalau.
E le gata i lea, e pei ona masani ai, pe a filifilia se tekinolosi e masani ona e feagai ma nisi tapula'a:
- e le'i mana'o le tagata fa'atau e fai fa'alapotopotoga ma fa'aoga IaaS, se'i vagana ai le GKE;
- e le mana'o le tagata fa'atau e fa'aogaina le auaunaga a le tagata lava ia PostgreSQL/MySQL;
- Ia, i se tulaga lautele, Google Spanner o le a fetaui lelei pe ana le o lona tau, ae ui i lea, e le mafai e Django ORM ona galue i ai, ae o se mea lelei.
Mafaufau i le tulaga, na maua e le tagata faʻatau se fesili tulitatao: "E mafai ona e faia se mea faapena ina ia pei o Google Spanner, ae e galue foi ma Django ORM?"
Filifiliga fofo Nu. 0
O le mea muamua na sau i lou mafaufau:
- nofo i totonu CloudSQL;
- o le a leai se toe faia i totonu i le va o itulagi i soo se ituaiga;
- taumafai e fa'apipi'i se fa'atusa i se Cloud SQL o lo'o iai e le PostgreSQL;
- faʻalauiloa se PostgreSQL faʻataʻitaʻiga i se mea ma i se isi itu, ae o le mea sili aua le paʻi i le matai.
Ae paga lea, na foliga mai e le mafai ona faia lenei mea, aua e leai se avanoa i le talimalo (o loʻo i totonu o se galuega eseʻese atoa) - pg_hba ma isi, ma e leai foi se avanoa i lalo o le superuser.
Filifiliga fofo Nu. 1
Ina ua uma ona toe manatunatu atili ma mafaufau i tulaga na i ai muamua, sa fai si suiga o le faasologa o mafaufauga:
- O loʻo matou taumafai pea e nofo i totonu o CloudSQL, ae o loʻo matou fesuiaʻi i MySQL, aua o le Cloud SQL e MySQL o loʻo i ai se matai fafo, lea:
- o se sui mo MySQL fafo;
- foliga mai o se MySQL faʻataʻitaʻiga;
- faia mo le femalaga'iga fa'amatalaga mai isi ao po'o I luga ole fale.
Talu ai ona o le setiina o le MySQL replication e le manaʻomia le avanoa i le talimalo, i le mataupu faavae na aoga mea uma, ae sa matua le mautonu ma le talafeagai. Ma ina ua matou agai i luma, sa matua fefe lava, aua sa matou faʻapipiʻiina le fausaga atoa ma le terraform, ma na faʻafuaseʻi ona aliali mai e leʻi lagolagoina le matai fafo e le terraform. Ioe, Google e iai le CLI, ae mo nisi mafuaʻaga na galue ai mea uma iinei i lea taimi ma lea taimi - o nisi taimi e faia, o nisi taimi e leʻi faia. Masalo ona o le CLI na fatuina mo femalagaiga i fafo, ae le mo faʻataʻitaʻiga.
O le mea moni, i le taimi nei na manino mai e le talafeagai le Cloud SQL. E pei ona latou fai mai, sa matou faia mea uma matou te mafaia.
Filifiliga fofo Nu. 2
Talu ai sa le mafai ona tumau i totonu o le Cloud SQL framework, sa matou taumafai e faʻatulaga manaʻoga mo se fofo fetuunai. O mea e manaʻomia na faʻaalia o mea nei:
- galue i Kubernetes, fa'aoga maualuga o punaoa ma gafatia o Kubernetes (DCS, ...) ma le GCP (LB, ...);
- leai se paluga mai le tele o mea e le manaʻomia i le ao e pei o le sui sui HA;
- le mafai ona faʻatautaia PostgreSQL poʻo MySQL i le itulagi autu HA; i isi itulagi - HA mai le RR o le itulagi autu fa'atasi ai ma lana kopi (mo le fa'amaoni);
- multi master (Ou te leʻi manaʻo e faʻafesoʻotaʻi o ia, ae e leʻi taua tele)
.
O se taunuuga o nei manaoga, iDBMS talafeagai ma filifiliga fusifusia:
- MySQL Galera;
- CokroachDB;
- PostgreSQL meafaigaluega
:
- pgpool-II;
— Patroni.
MySQL Galera
MySQL Galera tekinolosi na atiina ae e Codership ma o se plugin mo InnoDB. Tulaga uiga ese:
- matai tele;
- kopi fa'atasi;
- faitau mai so'o se node;
- pueina i soo se node;
- ua fausia i totonu HA masini;
- O loʻo i ai se siata Helm mai Bitnami.
moaDB
E tusa ai ma le faʻamatalaga, o le mea e matuaʻi pomu ma o se faʻamatalaga tatala punaoa na tusia i le Go. O le sui autu o le Cockroach Labs (faʻavaeina e tagata mai Google). O lenei sootaga DBMS na muai fuafuaina ina ia tufatufa atu (fa'atasi ai ma le fa'alava fa'alava i fafo o le pusa) ma fa'apalepale sese. O ana tusitala mai le kamupani na faʻamatalaina le sini o le "tuʻufaʻatasia o le tamaoaiga o le SQL galuega faʻatasi ma le faʻaogaina faʻasalalau masani i fofo NoSQL."
O se ponesi manaia o le lagolago mo le faʻasologa o fesoʻotaʻiga post-gress.
pgpool
O se faʻaopoopoga lea i le PostgreSQL, o le mea moni, o se faʻalapotopotoga fou e faʻaogaina uma fesoʻotaʻiga ma faʻagasolo. E iai lana lava load balancer ma parser, laiseneina i lalo ole laisene BSD. E maua ai le tele o avanoa, ae foliga fa'afefe, aua o le i ai o se vaega fou e mafai ona avea ma fa'apogai o nisi fa'alavelave fa'aopoopo.
Patroni
O le mea mulimuli lea na pa'u i ai o'u mata, ma, e pei ona i ai, e le o le aoga. Patroni o se faʻaoga faʻapitoa, o le Python daemon lea e mafai ai e oe ona otometi le tausia o le PostgreSQL fuifui faʻatasi ai ma ituaiga eseese o faʻasologa ma suiga otometi. O le mea na foliga mai e matua manaia lava, talu ai e tuʻufaʻatasia lelei ma le cuber ma e le faʻaalia ai ni mea fou.
O le a le mea na e filifilia i le faaiuga?
Sa le faigofie le filifiliga:
- moaDB - afi, ae pogisa;
- MySQL Galera - e le leaga foi, e faʻaaogaina i le tele o nofoaga, ae o MySQL;
- pgpool - le tele o faʻalapotopotoga e le manaʻomia, faʻatasi ma le ao ma K8s;
- Patroni - lelei fa'atasi ma K8s, leai ni fa'alapotopotoga e le mana'omia, fa'atasi lelei ma le GCP LB.
O lea, o le filifiliga na pau ia Patroni.
sailiiliga
Ua oo i le taimi e aotele puupuu ai. Ioe, o le lalolagi o atinaʻe IT ua matua suia, ma o le amataga lea. Ma afai muamua o ao na o se isi ituaiga o atinaʻe, o lea ua ese mea uma. E le gata i lea, o mea fou i ao o loʻo faʻaalia i taimi uma, o le a faʻaalia ma, masalo, o le a faʻaalia na o ao ma naʻo le taimi lena, e ala i taumafaiga a le amataga, o le a latou faʻafeiloaʻi i luga ole nofoaga.
Ae mo SQL, o le a ola SQL. O lona uiga e tatau ona e iloa PostgreSQL ma MySQL ma mafai ona galulue faʻatasi ma i latou, ae sili atu le taua o le mafai ona faʻaoga saʻo.
puna: www.habr.com