{"id":54366,"date":"2019-12-24T00:00:00","date_gmt":"2019-12-23T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/kak-vyzhit-sql-baze-v-21-veke-oblaka-kubernetes-i-postgresql-multimaster"},"modified":"2020-02-18T14:02:22","modified_gmt":"2020-02-18T11:02:22","slug":"kak-vyzhit-sql-baze-v-21-veke-oblaka-kubernetes-i-postgresql-multimaster","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-vyzhit-sql-baze-v-21-veke-oblaka-kubernetes-i-postgresql-multimaster","title":{"rendered":"Si t\u00eb mbijetosh nj\u00eb databaz\u00eb SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>P\u00ebrsh\u00ebndetje, habrov\u00e7an\u00eb. Sot fillojn\u00eb m\u00ebsimet n\u00eb grupin e par\u00eb t\u00eb kursit <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/nwhU\/\">\u00abPostgreSQL\u00bb<\/a><\/noindex>. N\u00eb lidhje me k\u00ebt\u00eb, d\u00ebshirojm\u00eb t'ju tregojm\u00eb se si kaloi webinari i hapur mbi k\u00ebt\u00eb kurs.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb databaz\u00eb SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster\" src=\"\/wp-content\/uploads\/2019\/12\/e66e0d4919d45284dbdc4696d6cab555.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=yiXP8ihL2eA\">mbi m\u00ebsimin e hapur t\u00eb radh\u00ebs<\/a><\/noindex> diskutuam se me cilat sfida ndodhen p\u00ebrball\u00eb databazat SQL n\u00eb epok\u00ebn e reve dhe Kubernetes. Gjithashtu shqyrtuam si databazat SQL p\u00ebrshtaten dhe mutojn\u00eb n\u00ebn ndikimin e k\u00ebtyre sfidave.<\/p>\n<p>Webinarin e drejtoi <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/IVe0\/\">Valerij Bezrukov<\/a><\/noindex>, Menaxher i Dor\u00ebzimit n\u00eb Praktik\u00ebn e Re t\u00eb Google n\u00eb EPAM Systems.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Kur pem\u00ebt ishin t\u00eb vogla\u2026<\/h3>\n<p>\nP\u00ebr t\u00eb filluar, le t\u00eb kujtojm\u00eb se si filloi zgjedhja e SGBD-ve n\u00eb fund t\u00eb shekullit t\u00eb 20-t\u00eb. Megjithat\u00eb, kjo nuk do t\u00eb jet\u00eb e v\u00ebshtir\u00eb, sepse zgjedhja e SGBD-ve n\u00eb ato koh\u00eb fillonte dhe p\u00ebrfundonte <b>Oracle<\/b>. <\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb databaz\u00eb SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster\" src=\"\/wp-content\/uploads\/2019\/12\/5fdf02523892e7477fd47dd01eb21d04.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb fund t\u00eb viteve '90 dhe fillimin e 2000-ve, nuk kishte shum\u00eb mund\u00ebsi, n\u00ebse flasim p\u00ebr databazat industriale t\u00eb shkall\u00ebzuara. Po, ekzistonin IBM DB2, Sybase dhe disa databaza t\u00eb tjera q\u00eb shfaqeshin dhe zhdukeshin, por mbi t\u00eb gjitha ato nuk ishin aq t\u00eb dukshme p\u00ebrball\u00eb Oracle. Si rezultat, aft\u00ebsit\u00eb e inxhinier\u00ebve t\u00eb atyre koh\u00ebve ishin lidhur n\u00eb nj\u00eb m\u00ebnyr\u00eb ose n\u00eb tjet\u00ebr me at\u00eb zgjedhje t\u00eb vetme q\u00eb ekzistonte.<\/p>\n<p>Oracle DBA duhet t\u00eb dinte:<\/p>\n<ul>\n<li> t\u00eb instaloni Oracle Server nga distribuimi;<\/li>\n<li> t\u00eb konfiguroni Oracle Server:<\/li>\n<\/ul>\n<p><\/p>\n<ul>\n<li>init.ora;<\/li>\n<li>listener.ora;<\/li>\n<\/ul>\n<p>\n\u2014 t\u00eb krijoni:<\/p>\n<ul>\n<li>hap\u00ebsira t\u00eb tabelave;<\/li>\n<li>skemat;<\/li>\n<li>p\u00ebrdoruesit;<\/li>\n<\/ul>\n<p>\u2014 t\u00eb realizoni kopjim dhe rikuperim;<br \/>\n\u2014 t\u00eb b\u00ebni monitorim;<br \/>\n\u2014 t\u00eb luftoni me pyetje jo optimale.<\/p>\n<p>Megjithat\u00eb, nga DBA e Oracle nuk pritej ve\u00e7an\u00ebrisht:<\/p>\n<ul>\n<li>t\u00eb dinte t\u00eb zgjidhte nj\u00eb DBMS optimal ose nj\u00eb teknologji tjet\u00ebr p\u00ebr ruajtjen dhe p\u00ebrpunimin e t\u00eb dh\u00ebnave;<\/li>\n<li>t\u00eb siguroj\u00eb disponueshm\u00ebri t\u00eb lart\u00eb dhe shkall\u00ebzim horizontal (kjo nuk ishte gjithmon\u00eb \u00e7\u00ebshtje e DBA);<\/li>\n<li>t\u00eb kishte njohuri t\u00eb mira mbi fush\u00ebn p\u00ebrkat\u00ebse, infrastruktur\u00ebn, arkitektur\u00ebn aplikative, OS;<\/li>\n<li>t\u00eb realizonte ngarkimin dhe shkarkimin e t\u00eb dh\u00ebnave, migrimin e t\u00eb dh\u00ebnave midis DBMS-ve t\u00eb ndryshme.<\/li>\n<\/ul>\n<p>N\u00eb p\u00ebrgjith\u00ebsi, n\u00ebse flasim p\u00ebr zgjedhjen n\u00eb ato koh\u00ebra, ajo ngjasonte me zgjedhjen n\u00eb nj\u00eb dyqan sovjetik n\u00eb fund t\u00eb viteve '80:<\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb databaz\u00eb SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster\" src=\"\/wp-content\/uploads\/2019\/12\/70b37faf295170d8507d5c605f4b2047.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Koha jon\u00eb<\/h3>\n<p>\nQ\u00eb at\u00ebher\u00eb, natyrisht, pem\u00ebt jan\u00eb rritur, bota ka ndryshuar, dhe ka ndodhur k\u00ebshtu:<\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb databaz\u00eb SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster\" src=\"\/wp-content\/uploads\/2019\/12\/e8698d658bd09e0071f02a672a5cb81e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTregu i DBMS-ve ka ndryshuar gjithashtu, gj\u00eb q\u00eb \u00ebsht\u00eb e dukshme n\u00eb raporin e fundit t\u00eb kompanis\u00eb Gartner:<\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb databaz\u00eb SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster\" src=\"\/wp-content\/uploads\/2019\/12\/745f3969a3ad2e65162ef41cda6c0658.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDhe k\u00ebtu \u00ebsht\u00eb e pamundur t\u00eb mos theksohet se rethana kan\u00eb z\u00ebn\u00eb nj\u00eb vend, popullariteti i t\u00eb cilave po rritet. N\u00ebse lexoni at\u00eb raport t\u00eb kompanis\u00eb Gartner, ne do t\u00eb shohim konkluzionet e m\u00ebposhtme:<\/p>\n<ol>\n<li>Shum\u00eb klient\u00eb jan\u00eb n\u00eb rrug\u00ebn e shnd\u00ebrrimit t\u00eb aplikacioneve n\u00eb cloud. <\/li>\n<li>Teknologjit\u00eb e reja shfaqen fillimisht n\u00eb cloud dhe nuk ka garanci q\u00eb ato ndonj\u00ebher\u00eb do t\u00eb kalojn\u00eb n\u00eb infrastruktur\u00eb jo-cloud.<\/li>\n<li>Modeli i \u00e7mimeve pay-as-you-go \u00ebsht\u00eb b\u00ebr\u00eb tashm\u00eb i zakonsh\u00ebm. T\u00eb gjith\u00eb duan t\u00eb paguajn\u00eb vet\u00ebm p\u00ebr at\u00eb q\u00eb p\u00ebrdorin, dhe kjo tashm\u00eb nuk \u00ebsht\u00eb nj\u00eb trend, por thjesht nj\u00eb konstatim i faktit. <\/li>\n<\/ol>\n<p><\/p>\n<h3>\u00c7far\u00eb ndodh tani?<\/h3>\n<p>\nSot t\u00eb gjith\u00eb jemi n\u00eb cloud. \u00c7\u00ebshtjet q\u00eb kemi, jan\u00eb pyetje zgjedhjeje. Dhe ato jan\u00eb t\u00eb shumta, madje edhe kur flasim vet\u00ebm p\u00ebr zgjedhjen e teknologjive t\u00eb bazave t\u00eb t\u00eb dh\u00ebnave n\u00eb formatin On-premises. Dhe kemi gjithashtu sh\u00ebrbime t\u00eb menaxhuara dhe SaaS. K\u00ebshtu, zgjedhja vet\u00ebm b\u00ebhet m\u00eb e komplikuar \u00e7do vit.<\/p>\n<p>P\u00ebrve\u00e7 pyetjeve t\u00eb zgjedhjes, veprojn\u00eb edhe <b>faktor\u00ebt kufizues<\/b>:<\/p>\n<ul>\n<li><b>\u00e7mimi<\/b>. Shum\u00eb teknologji ende kushtojn\u00eb para;<\/li>\n<li><b>aft\u00ebsi<\/b>. N\u00ebse flasim p\u00ebr softin e lir\u00eb, at\u00ebher\u00eb lind pyetja e aft\u00ebsive, pasi softi falas k\u00ebrkon nga njer\u00ebzit q\u00eb e implementojn\u00eb dhe e p\u00ebrdorin at\u00eb, kompetenc\u00eb t\u00eb mjaftueshme;<\/li>\n<li><b>funksionaliteti<\/b>. Jo t\u00eb gjitha sh\u00ebrbimet q\u00eb jan\u00eb n\u00eb re dhe jan\u00eb nd\u00ebrtuar, le t\u00eb themi, madje edhe n\u00eb baz\u00ebn e Postgres t\u00eb nj\u00ebjt\u00eb, kan\u00eb t\u00eb nj\u00ebjtat ve\u00e7ori si Postgres On-premises. Ky \u00ebsht\u00eb nj\u00eb faktor thelb\u00ebsor q\u00eb duhet t\u00eb dihet dhe kuptohet. M\u00eb shum\u00eb se kaq, ky faktor merr nj\u00eb r\u00ebnd\u00ebsi m\u00eb t\u00eb madhe se njohja e ndonj\u00eb mund\u00ebsie t\u00eb fsheht\u00eb t\u00eb nj\u00eb SGBD specifike. <\/li>\n<\/ul>\n<p>\n<b>\u00c7far\u00eb pritet tani nga DA\/DE:<\/b><\/p>\n<ul>\n<li>nj\u00eb kuptim t\u00eb mir\u00eb t\u00eb fush\u00ebs s\u00eb subjektit dhe arkitektur\u00ebs aplikative;<\/li>\n<li>aft\u00ebsin\u00eb p\u00ebr t\u00eb zgjedhur teknologjin\u00eb e duhur SGBD n\u00eb p\u00ebrputhje me detyr\u00ebn e caktuar;<\/li>\n<li>aft\u00ebsin\u00eb p\u00ebr t\u00eb zgjedhur metod\u00ebn optimale t\u00eb zbatimit t\u00eb teknologjis\u00eb s\u00eb zgjedhur n\u00eb kontekstin e kufizimeve ekzistuese;<\/li>\n<li>aft\u00ebsin\u00eb p\u00ebr t\u00eb realizuar transferimin dhe migrimin e t\u00eb dh\u00ebnave;<\/li>\n<li>aft\u00ebsin\u00eb p\u00ebr t\u00eb zbatuar dhe operuar zgjidhjet e zgjedhura.<\/li>\n<\/ul>\n<p>\nShembulli m\u00eb posht\u00eb <b>n\u00eb baz\u00eb t\u00eb GCP<\/b> tregon se si vendoset teknologjia e caktuar p\u00ebr pun\u00ebn me t\u00eb dh\u00ebna n\u00eb var\u00ebsi t\u00eb struktur\u00ebs s\u00eb tyre:<\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb databaz\u00eb SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster\" src=\"\/wp-content\/uploads\/2019\/12\/fe324d8af9ed8f6afb58ed930dc21327.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVini re se n\u00eb diagram nuk p\u00ebrfshihet PostgreSQL, dhe kjo p\u00ebr shkak se ai fshihet pas terminologjis\u00eb <b>Cloud SQL<\/b>. Dhe kur arrijm\u00eb n\u00eb Cloud SQL, na nevojitet t\u00eb b\u00ebjm\u00eb p\u00ebrs\u00ebri nj\u00eb zgjedhje:<\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb databaz\u00eb SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster\" src=\"\/wp-content\/uploads\/2019\/12\/bdf523e0b10fbfe753318a02a686a5af.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDuhet t\u00eb theksohet se kjo zgjedhje nuk \u00ebsht\u00eb gjithmon\u00eb e qart\u00eb, prandaj zhvilluesit e aplikacionit shpesh drejtohen nga intuita. <\/p>\n<p><b>N\u00eb p\u00ebrmbledhje:<\/b><\/p>\n<ol>\n<li>Sa m\u00eb shum\u00eb q\u00eb kalon koha, aq m\u00eb i r\u00ebnd\u00ebsish\u00ebm b\u00ebhet pyetja e zgjedhjes. Edhe n\u00ebse shohim vet\u00ebm GCP, sh\u00ebrbimet e menaxhuara dhe SaaS, p\u00ebrmendja e RDBMS shfaqet vet\u00ebm n\u00eb hapin e 4-t\u00eb (dhe atje \u00ebsht\u00eb Spanner). Plus, zgjedhja e PostgreSQL shfaqet n\u00eb t\u00eb 5-in, kur jan\u00eb gjithashtu MySQL dhe SQL Server, dometh\u00ebn\u00eb <b>ka shum\u00eb, por duhet t\u00eb zgjedhim<\/b>. <\/li>\n<li>Nuk duhet harruar as kufizimet p\u00ebrball\u00eb tundimeve. N\u00eb shumic\u00ebn e rasteve, t\u00eb gjith\u00eb d\u00ebshirojn\u00eb Spanner, por ai \u00ebsht\u00eb i shtrenjt\u00eb. N\u00eb p\u00ebrfundim, k\u00ebrkesa tipike duket k\u00ebshtu: <i>\u00abNa b\u00ebni, ju lutem, Spanner por me \u00e7mimin e Cloud SQL, ju jeni profesionist\u00eb!\u00bb<\/i><\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb databaz\u00eb SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster\" src=\"\/wp-content\/uploads\/2019\/12\/cc656b46d37d08fc6aeca937e1e9085b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>\u00c7far\u00eb t\u00eb b\u00ebjm\u00eb tani?<\/h3>\n<p>\nPa pretenduar p\u00ebr t\u00eb v\u00ebrteta absolutiste, le t\u00eb themi k\u00ebt\u00eb:<\/p>\n<p><b>Duhet t\u00eb ndryshojm\u00eb qasjen n\u00eb m\u00ebsim:<\/b><\/p>\n<ul>\n<li>nuk ka kuptim t\u00eb m\u00ebsojm\u00eb si\u00e7 i m\u00ebsuam m\u00eb par\u00eb DBA-t\u00eb;<\/li>\n<li>dija e nj\u00eb produkti tani \u00ebsht\u00eb e pamjaftueshme;<\/li>\n<li>dhe t\u00eb dish dhjet\u00ebra n\u00eb nivelin e nj\u00ebrit \u2014 \u00ebsht\u00eb e pamundur.<\/li>\n<\/ul>\n<p>\nDuhet t\u00eb njohim jo vet\u00ebm produktin, por:<\/p>\n<ul>\n<li>rastin e p\u00ebrdorimit t\u00eb tij;<\/li>\n<li>metoda t\u00eb ndryshme t\u00eb implementimit;<\/li>\n<li>p\u00ebrpar\u00ebsit\u00eb dhe disavantazhet e \u00e7do metode;<\/li>\n<li>produkte t\u00eb ngjashme dhe alternative p\u00ebr t\u00eb b\u00ebr\u00eb nj\u00eb zgjedhje t\u00eb informuar dhe optimale, pa u mb\u00ebshtetur gjithmon\u00eb n\u00eb produktin e njohur.<\/li>\n<\/ul>\n<p>\nP\u00ebrve\u00e7 k\u00ebsaj, duhet t\u00eb jeni n\u00eb gjendje t\u00eb migroni t\u00eb dh\u00ebnat dhe t\u00eb kuptoni parimet baz\u00eb t\u00eb integrimit me ETL.<\/p>\n<h3>Rasti i v\u00ebrtet\u00eb<\/h3>\n<p>\nN\u00eb t\u00eb kaluar\u00ebn e af\u00ebrt, isha duke zhvilluar nj\u00eb backend p\u00ebr nj\u00eb aplikacion mobil. N\u00eb momentin q\u00eb fillova pun\u00ebn, backend kishte p\u00ebrfunduar dhe ishte gati p\u00ebr t'u implementuar, dhe ekipi i zhvilluesve kishte kaluar rreth dy vjet n\u00eb k\u00ebt\u00eb projekt. Gjat\u00eb k\u00ebsaj periudhe u vendos\u00ebn detyrat e m\u00ebposhtme:<\/p>\n<ul>\n<li>t\u00eb nd\u00ebrtohet CI\/CD;<\/li>\n<li>t\u00eb b\u00ebhej review i arkitektur\u00ebs;<\/li>\n<li>t\u00eb ndizet gjith\u00e7ka n\u00eb funksion. <\/li>\n<\/ul>\n<p>\nAplikacioni vet\u00eb ishte mikroshtes\u00eb, dhe kodi n\u00eb Python\/Django ishte zhvilluar nga zero dhe menj\u00ebher\u00eb n\u00eb GCP. Sa i p\u00ebrket audienc\u00ebs synuese, supozohej se do t\u00eb ishin dy rajone \u2014 SHBA dhe BE, dhe trafiku do t\u00eb shp\u00ebrndahej p\u00ebrmes Balancuesit Global t\u00eb Ngarkes\u00ebs. T\u00eb gjitha Workloads dhe ngarkesat Computation punonin n\u00eb Google Kubernetes Engine. <\/p>\n<p>Sa i p\u00ebrket t\u00eb dh\u00ebnave, ishin 3 struktura:<\/p>\n<ul>\n<li>Cloud Storage;<\/li>\n<li>Datastore;<\/li>\n<li>Cloud SQL (PostgreSQL).<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb databaz\u00eb SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster\" src=\"\/wp-content\/uploads\/2019\/12\/e6e38b1d861b2871edf20fb09378b491.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMund t\u00eb ngrihet nj\u00eb pyetje, pse u zgjodh Cloud SQL? N\u00eb t\u00eb v\u00ebrtet\u00eb, kjo pyetje ka shkaktuar nj\u00eb heshtje t\u00eb \u00e7uditshme vitet e fundit - duket se njer\u00ebzit po ndihen t\u00eb turp\u00ebruar nga bazat e t\u00eb dh\u00ebnave relacionale, megjithat\u00eb ata vazhdojn\u00eb t\u2019i p\u00ebrdorin ato aktivisht ;-). <\/p>\n<p>Sa i p\u00ebrket rastit ton\u00eb, Cloud SQL u zgjodh p\u00ebr arsyet e m\u00ebposhtme:<\/p>\n<ol>\n<li>Si\u00e7 u p\u00ebrmend, aplikacioni u zhvillua me Django dhe p\u00ebrmban nj\u00eb model q\u00eb shfaq t\u00eb dh\u00ebna t\u00eb q\u00ebndrueshme nga SQL n\u00eb objekte Python (Django ORM).<\/li>\n<li>I vetmi framework mb\u00ebshteti nj\u00eb list\u00eb mjaft t\u00eb p\u00ebrfunduar t\u00eb SGBD-ve:<\/li>\n<\/ol>\n<p><\/p>\n<ul>\n<li>PostgreSQL;<\/li>\n<li>MariaDB;<\/li>\n<li>MySQL;<\/li>\n<li>Oracle;<\/li>\n<li>SQLite.<\/li>\n<\/ul>\n<p>\nPrandaj, PostgreSQL u zgjodh nga ky list\u00eb m\u00eb shum\u00eb intuitivisht (nuk mund t\u00eb zgjidhje Oracle, n\u00eb t\u00eb v\u00ebrtet\u00eb).<\/p>\n<p><b>\u00c7far\u00eb mungonte:<\/b><\/p>\n<ul>\n<li>aplikacioni ishte deployuar vet\u00ebm n\u00eb 2 rajone, dhe tani kishte nj\u00eb plan p\u00ebr nj\u00eb t\u00eb tret\u00eb (Azia);<\/li>\n<li>Baza e t\u00eb dh\u00ebnave ndodhej n\u00eb rajonin e Amerik\u00ebs s\u00eb Veriut (Iowa);<\/li>\n<li>nga ana e klientit kishte shqet\u00ebsime p\u00ebr <b>pengesat n\u00eb qasje<\/b> nga Evropa dhe Azia dhe <b>nd\u00ebrprerjet <\/b><b>n\u00eb sh\u00ebrbim<\/b> n\u00eb rast t\u00eb nd\u00ebrprerjes s\u00eb SGBD-s\u00eb. <\/li>\n<\/ul>\n<p>\nDjango mund t\u00eb punoj\u00eb me disa baza t\u00eb t\u00eb dh\u00ebnash paralelisht dhe t'i ndaj\u00eb ato p\u00ebr lexim dhe shkruaj, por n\u00eb aplikacion nuk kishte shum\u00eb sh\u00ebnime (m\u00eb shum\u00eb se 90% \u2014 lexim). N\u00eb p\u00ebrgjith\u00ebsi, po t\u00eb ishte e mundur t\u00eb b\u00ebhej <b>nj\u00eb replik\u00eb leximi t\u00eb baz\u00ebs kryesore n\u00eb Evrop\u00eb dhe Azi<\/b>, do t\u00eb ishte nj\u00eb zgjidhje kompromisi. Por \u00e7far\u00eb \u00ebsht\u00eb kaq e komplikuar k\u00ebtu?<\/p>\n<p>E komplikuar ishte se klienti nuk donte t\u00eb hiqte dor\u00eb nga p\u00ebrdorimi i sh\u00ebrbimeve t\u00eb menaxhuara dhe Cloud SQL. Dhe mund\u00ebsit\u00eb q\u00eb ofron Cloud SQL n\u00eb k\u00ebt\u00eb moment jan\u00eb t\u00eb kufizuara. Cloud SQL mb\u00ebshtet disponueshm\u00ebrin\u00eb e lart\u00eb (HA) dhe Replikat p\u00ebr Lexim (RR), por edhe RR mb\u00ebshtetet vet\u00ebm n\u00eb nj\u00eb rajon. Duke krijuar nj\u00eb baz\u00eb t\u00eb dh\u00ebnash n\u00eb rajonin amerikan, nuk mund t\u00eb b\u00ebhej nj\u00eb replik\u00eb leximi n\u00eb rajonin evropian me mjete t\u00eb Cloud SQL, ndon\u00ebse PostgreSQL vet\u00eb nuk e pengon k\u00ebt\u00eb. Korrespondenca me punonj\u00ebsit e Google nuk \u00e7oi n\u00eb asgj\u00eb dhe u p\u00ebrfundua me premtime n\u00eb stilin 'e dim\u00eb p\u00ebr problemin dhe po punojm\u00eb mbi t\u00eb, nj\u00eb dit\u00eb do t\u00eb zgjidhet problemi.' <\/p>\n<p>N\u00ebse rendisim mund\u00ebsit\u00eb e Cloud SQL n\u00eb m\u00ebnyr\u00eb t\u00eb thjesht\u00eb, ato do t\u00eb duken m\u00eb pak k\u00ebshtu:<\/p>\n<p><b>1. Disponueshm\u00ebri e Lart\u00eb (HA):<\/b><\/p>\n<ul>\n<li>brenda nj\u00eb rajoni;<\/li>\n<li>n\u00ebp\u00ebrmjet replikimit t\u00eb disqeve;<\/li>\n<li>nuk p\u00ebrdoren mekanizmat e PostgreSQL;<\/li>\n<li>mund\u00ebsi p\u00ebr menaxhim automat dhe manual \u2014 failover\/failback;<\/li>\n<li>n\u00eb kalimin e DBMS nuk \u00ebsht\u00eb i disponuesh\u00ebm p\u00ebr disa minuta.<\/li>\n<\/ul>\n<p>\n<b>2. Read Replica (RR):<\/b><\/p>\n<ul>\n<li>brenda nj\u00eb rajoni;<\/li>\n<li>hot standby;<\/li>\n<li>replikimi streaming i PostgreSQL.<\/li>\n<\/ul>\n<p>\nP\u00ebrve\u00e7 k\u00ebsaj, si\u00e7 \u00ebsht\u00eb zakon, kur zgjedh teknologjin\u00eb p\u00ebrballesh gjithmon\u00eb me ndonj\u00eb <b>kufizim<\/b>:<\/p>\n<ul>\n<li>klienti nuk d\u00ebshironte t\u00eb krijonte entitete dhe ta p\u00ebrdorte IaaS, p\u00ebrve\u00e7 p\u00ebrmes GKE;<\/li>\n<li>klienti nuk do t\u00eb donte t\u00eb zbuste self service PostgreSQL\/MySQL;<\/li>\n<li>po ashtu, Google Spanner do t\u00eb ishte i p\u00ebrshtatsh\u00ebm, n\u00ebse nuk do ishin \u00e7mimi i tij, e v\u00ebrteta \u00ebsht\u00eb se me t\u00eb Django ORM nuk mund t\u00eb funksionoj\u00eb, por p\u00ebrndryshe \u00ebsht\u00eb nj\u00eb gj\u00eb e mir\u00eb.<\/li>\n<\/ul>\n<p>\nDuke marr\u00eb parasysh situat\u00ebn, klienti b\u00ebri nj\u00eb pyetje t\u00eb menj\u00ebhershme: <i>\"A mund t\u00eb b\u00ebni di\u00e7ka t\u00eb ngjashme q\u00eb t\u00eb jet\u00eb si Google Spanner, por t\u00eb punoj\u00eb edhe me Django ORM?\"<\/i><\/p>\n<h3>Zgjidhja e mundshme \u2116 0<\/h3>\n<p>\nE para q\u00eb m\u00eb erdhi n\u00eb mendje:<\/p>\n<ul>\n<li>t\u00eb q\u00ebndrojm\u00eb brenda CloudSQL;<\/li>\n<li>nuk do t\u00eb ket\u00eb replikim t\u00eb integruar mes rajoneve n\u00eb asnj\u00eb form\u00eb;<\/li>\n<li>t\u00eb p\u00ebrpiqemi t\u00eb lidhim nj\u00eb replik\u00eb me Cloud SQL ekzistues nga PostgreSQL;<\/li>\n<li>diku dhe si t\u00eb nisim nj\u00eb instanc\u00eb PostgreSQL, por t\u00eb pakt\u00ebn t\u00eb mos prekim masterin.<\/li>\n<\/ul>\n<p>\nFatkeq\u00ebsisht, rezultoi se nuk mund t\u00eb b\u00ebhej k\u00ebshtu, p\u00ebr shkak se nuk kam qasje n\u00eb host (ai \u00ebsht\u00eb krejt n\u00eb nj\u00eb projekt tjet\u00ebr) \u2014 pg_hba dhe k\u00ebshtu me radh\u00eb, dhe gjithashtu nuk ka qasje si superuser.<\/p>\n<h3>Zgjidhja e mundshme \u2116 1<\/h3>\n<p>\nPas disa reflektimeve dhe duke marr\u00eb parasysh rrethanat e m\u00ebparshme, m\u00ebnyra e t\u00eb menduarit ndryshoi disi:<\/p>\n<ul>\n<li>ende po p\u00ebrpiqemi t\u00eb mbetemi brenda CloudSQL, por kalojm\u00eb n\u00eb MySQL, sepse Cloud SQL nga MySQL ka nj\u00eb master t\u00eb jasht\u00ebm, i cili:<\/li>\n<\/ul>\n<p>\n\u2014 \u00ebsht\u00eb proxy p\u00ebr MySQL-n\u00eb e jashtme;<br \/>\n\u2014 duket si nj\u00eb instanc\u00eb MySQL;<br \/>\n\u2014 \u00ebsht\u00eb krijuar p\u00ebr migrimin e t\u00eb dh\u00ebnave nga re t\u00eb tjera ose nga On-premises.<\/p>\n<p>Duke qen\u00eb se konfigurimi i replikimit t\u00eb MySQL-it nuk k\u00ebrkon akses n\u00eb host, n\u00eb parim gjith\u00e7ka funksiononte, por shum\u00eb pa stabilitet dhe e shqet\u00ebsueshme. Dhe kur shkuam m\u00eb tej, gjith\u00e7ka u b\u00eb edhe m\u00eb e frikshme, sepse ne po e zhvillonim t\u00ebr\u00eb struktur\u00ebn me terraform-in, dhe ndoshta ishte e v\u00ebrtet\u00eb q\u00eb master-i i jasht\u00ebm nuk mb\u00ebshtetet nga terraform-i. Po, Google ka CLI, por p\u00ebr nj\u00eb arsye, gjith\u00e7ka funksiononte ndonj\u00ebher\u00eb \u2014 her\u00eb krijohet, her\u00eb nuk krijohet. Ndoshta, sepse CLI ishte i krijuar p\u00ebr migrimin e t\u00eb dh\u00ebnave nga jasht\u00eb, jo p\u00ebr replikat.<\/p>\n<p>N\u00eb fakt, k\u00ebtu u b\u00eb e qart\u00eb q\u00eb Cloud SQL nuk \u00ebsht\u00eb e p\u00ebrshtatshme fare. Si\u00e7 thon\u00eb, ne b\u00ebm\u00eb gjith\u00e7ka q\u00eb mund\u00ebm. <\/p>\n<h3>Zgjidhja e mundshme \u2116 2<\/h3>\n<p>\nDuke qen\u00eb se nuk arrit\u00ebm t\u00eb q\u00ebndrojm\u00eb brenda Cloud SQL, p\u00ebrpiq\u00ebm t\u00eb formulojm\u00eb k\u00ebrkesat p\u00ebr nj\u00eb zgjidhje kompromisi. K\u00ebrkesat rezultuan si m\u00eb posht\u00eb:<\/p>\n<ul>\n<li>\u0440\u0430\u0431\u043e\u0442\u0430 \u0432 Kubernetes, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Kubernetes (DCS, &#8230;) \u0438 GCP (LB, &#8230;);<\/li>\n<li>mungesa e balastit nga nj\u00eb grumbull gj\u00ebrash t\u00eb panevojshme n\u00eb re si HA proxy;<\/li>\n<li>mund\u00ebsia p\u00ebr t\u00eb nisur n\u00eb rajonin kryesor HA PostgreSQL ose MySQL; n\u00eb rajonet e tjera \u2014 HA nga RR e rajonit kryesor plus nj\u00eb kopje t\u00eb saj (p\u00ebr besueshm\u00ebri);<\/li>\n<li>multi master (nuk doja ta lidhnim, por nuk ishte shum\u00eb e r\u00ebnd\u00ebsishme)<\/li>\n<\/ul>\n<p>. <br \/>\nSi rezultat i k\u00ebtyre k\u00ebrkesave, n\u00eb horizont p\u00ebrfundimisht dol\u00ebn p<b>mund\u00ebsi t\u00eb p\u00ebrshtatshme t\u00eb DBMS dhe lidhjeve<\/b>:<\/p>\n<ul>\n<li>MySQL Galera;<\/li>\n<li>CockroachDB;<\/li>\n<li>PostgreSQL tools<\/li>\n<\/ul>\n<p>:<br \/>\n\u2014 pgpool-II;<br \/>\n\u2014 Patroni.<\/p>\n<h3>MySQL Galera<\/h3>\n<p>\nTeknologjia MySQL Galera \u00ebsht\u00eb zhvilluar nga Codership dhe \u00ebsht\u00eb nj\u00eb plugin p\u00ebr InnoDB. Karakteristikat:<\/p>\n<ul>\n<li>multi master;<\/li>\n<li>replikimi sinkron;<\/li>\n<li>leximi nga \u00e7do nyje;<\/li>\n<li>shkrimi n\u00eb \u00e7do nyje;<\/li>\n<li>mekanizmi i integruar HA;<\/li>\n<li>ka Helm chart nga Bitnami.<\/li>\n<\/ul>\n<p><\/p>\n<h3>CockroachDB<\/h3>\n<p>\nSipas p\u00ebrshkrimit, kjo \u00ebsht\u00eb nj\u00eb gj\u00eb plot\u00ebsisht e shk\u00eblqyer dhe p\u00ebrb\u00ebn nj\u00eb projekt open source, e shkruar n\u00eb Go. Pjes\u00ebmarr\u00ebsi kryesor \u00ebsht\u00eb Cockroach Labs (e themeluar nga ish-pjes\u00ebtar\u00eb t\u00eb Google). Kjo DB relacional fillimisht \u00ebsht\u00eb krijuar p\u00ebr t'u shp\u00ebrndar\u00eb (me shkall\u00ebzim horizontal 'nga kuti') dhe p\u00ebr t\u00eb qen\u00eb e q\u00ebndrueshme. Autor\u00ebt e saj nga kompania kan\u00eb p\u00ebrcaktuar q\u00ebllimin 't\u00eb kombinojn\u00eb pasurin\u00eb e funksionalitetit SQL me disponueshm\u00ebrin\u00eb horizontale, t\u00eb zakonshme p\u00ebr zgjidhjet NoSQL'.<\/p>\n<p>Si nj\u00eb bonus i k\u00ebndsh\u00ebm \u2014 mb\u00ebshtetje p\u00ebr protokollin e lidhjes PostgreSQL. <\/p>\n<h3>Pgpool<\/h3>\n<p>\nKjo \u00ebsht\u00eb nj\u00eb shtes\u00eb mbi PostgreSQL, n\u00eb t\u00eb v\u00ebrtet\u00eb, nj\u00eb entitet i ri q\u00eb merr t\u00eb gjitha lidhjet dhe i p\u00ebrpunon ato. Ka balancuesin e vet t\u00eb ngarkes\u00ebs dhe parserin, licencohet sipas licenc\u00ebs BSD. Ofron mund\u00ebsi t\u00eb gjera, por duket disi shqet\u00ebsuese, pasi ekzistenca e nj\u00eb entiteti t\u00eb ri mund t\u00eb jet\u00eb burim i ndonj\u00eb aventure shtes\u00eb. <\/p>\n<h3>Patroni<\/h3>\n<p>\nKy \u00ebsht\u00eb momenti i fundit q\u00eb t\u00ebrhoqi v\u00ebmendjen time, dhe si\u00e7 u tregua, nuk ishte kot. Patroni \u00ebsht\u00eb nj\u00eb mjet me kod t\u00eb hapur q\u00eb, n\u00eb thelb, \u00ebsht\u00eb nj\u00eb demon n\u00eb Python, i cili lejon menaxhimin automatik t\u00eb klashtave PostgreSQL me lloje t\u00eb ndryshme replikimi dhe kalimin automatik t\u00eb rolleve. \u00cbsht\u00eb nj\u00eb gj\u00eb shum\u00eb interesante, pasi integrohet mir\u00eb me Kubernetes dhe nuk sjell asnj\u00eb entitet t\u00eb ri. <\/p>\n<h3>\u00c7far\u00eb u zgjodh n\u00eb fund<\/h3>\n<p>\nZgjedhja nuk ishte e leht\u00eb:<\/p>\n<ol>\n<li><b>CockroachDB <\/b>\u2014 zjarri, por i friksh\u00ebm;<\/li>\n<li><b>MySQL Galera<\/b> \u2014 gjithashtu i mir\u00eb, p\u00ebrdoret shum\u00eb, por MySQL;<\/li>\n<li><b>Pgpool <\/b>\u2014 shum\u00eb entitete ekstra, integrim i dob\u00ebt me cloudin dhe K8s;<\/li>\n<li><b>Patroni <\/b>\u2014 integrim t\u00eb shk\u00eblqyer me K8s, pa entitete t\u00eb tep\u00ebrta, integrohet mir\u00eb me GCP LB.<\/li>\n<\/ol>\n<p>\nPrandaj, zgjedhja ra mbi Patroni. <\/p>\n<h3>P\u00ebrfundimet<\/h3>\n<p>\n\u00cbsht\u00eb koha p\u00ebr t\u00eb p\u00ebrmbledhur shkurtimisht. Po, bota e infrastruktur\u00ebs IT ka ndryshuar ndjesh\u00ebm, dhe kjo \u00ebsht\u00eb vet\u00ebm fillimi. N\u00ebse m\u00eb par\u00eb p\u00ebrmendjet ishin nj\u00eb lloj tjet\u00ebr infrastrukture, tani \u00ebsht\u00eb ndryshe. P\u00ebr m\u00eb tep\u00ebr, inovacionet n\u00eb cloud vazhdojn\u00eb t\u00eb shfaqen vazhdimisht, do t\u00eb vazhdojn\u00eb t\u00eb shfaqen dhe, ndoshta, ato do t\u00eb shfaqen fillimisht n\u00eb cloud dhe m\u00eb pas, fal\u00eb startupeve, do t\u00eb transferohen n\u00eb On-premises.<\/p>\n<p>Sa i p\u00ebrket SQL, SQL do t\u00eb jetoj\u00eb. Kjo do t\u00eb thot\u00eb se duhet t\u00eb njohim dhe t\u00eb punojm\u00eb me PostgreSQL dhe MySQL, por \u00ebsht\u00eb m\u00eb e r\u00ebnd\u00ebsishme t\u00eb dim\u00eb si t'i aplikojm\u00eb ato sakt\u00ebsisht.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/481644\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0442\u0430\u0440\u0442\u0443\u044e\u0442 \u0437\u0430\u043d\u044f\u0442\u0438\u044f \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u0443\u0440\u0441\u0430 \u00abPostgreSQL\u00bb. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c, \u0445\u043e\u0442\u0438\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0432\u0435\u0431\u0438\u043d\u0430\u0440 \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043a\u0443\u0440\u0441\u0443. \u0412 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0443\u0440\u043e\u043a\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u043e \u0442\u043e\u043c, \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u0432\u044b\u0437\u043e\u0432\u0430\u043c\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c SQL-\u0431\u0430\u0437\u044b \u0432 \u044d\u0440\u0443 \u043e\u0431\u043b\u0430\u043a\u043e\u0432 \u0438 Kubernetes. \u0410 \u0437\u0430\u043e\u0434\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438, \u043a\u0430\u043a \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 SQL \u043f\u0440\u0438\u0441\u043f\u043e\u0441\u0430\u0431\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u043c\u0443\u0442\u0438\u0440\u0443\u044e\u0442 \u043f\u043e\u0434 \u0432\u043e\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-54366","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0442\u0430\u0440\u0442\u0443\u044e\u0442 \u0437\u0430\u043d\u044f\u0442\u0438\u044f \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u0443\u0440\u0441\u0430 \u00abPostgreSQL\u00bb. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c, \u0445\u043e\u0442\u0438\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0432\u0435\u0431\u0438\u043d\u0430\u0440 \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043a\u0443\u0440\u0441\u0443. \u0412 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0443\u0440\u043e\u043a\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u043e \u0442\u043e\u043c, \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u0432\u044b\u0437\u043e\u0432\u0430\u043c\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c SQL-\u0431\u0430\u0437\u044b \u0432 \u044d\u0440\u0443 \u043e\u0431\u043b\u0430\u043a\u043e\u0432 \u0438 Kubernetes. \u0410 \u0437\u0430\u043e\u0434\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438, \u043a\u0430\u043a \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 SQL \u043f\u0440\u0438\u0441\u043f\u043e\u0441\u0430\u0431\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u043c\u0443\u0442\u0438\u0440\u0443\u044e\u0442 \u043f\u043e\u0434 \u0432\u043e\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u043c\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-vyzhit-sql-baze-v-21-veke-oblaka-kubernetes-i-postgresql-multimaster\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u0432\u044b\u0436\u0438\u0442\u044c SQL-\u0431\u0430\u0437\u0435 \u0432 21 \u0432\u0435\u043a\u0435: \u043e\u0431\u043b\u0430\u043a\u0430, Kubernetes \u0438 PostgreSQL multimaster | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0442\u0430\u0440\u0442\u0443\u044e\u0442 \u0437\u0430\u043d\u044f\u0442\u0438\u044f \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u0443\u0440\u0441\u0430 \u00abPostgreSQL\u00bb. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c, \u0445\u043e\u0442\u0438\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0432\u0435\u0431\u0438\u043d\u0430\u0440 \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043a\u0443\u0440\u0441\u0443. \u0412 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0443\u0440\u043e\u043a\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u043e \u0442\u043e\u043c, \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u0432\u044b\u0437\u043e\u0432\u0430\u043c\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c SQL-\u0431\u0430\u0437\u044b \u0432 \u044d\u0440\u0443 \u043e\u0431\u043b\u0430\u043a\u043e\u0432 \u0438 Kubernetes. \u0410 \u0437\u0430\u043e\u0434\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438, \u043a\u0430\u043a \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 SQL \u043f\u0440\u0438\u0441\u043f\u043e\u0441\u0430\u0431\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u043c\u0443\u0442\u0438\u0440\u0443\u044e\u0442 \u043f\u043e\u0434 \u0432\u043e\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u043c\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-vyzhit-sql-baze-v-21-veke-oblaka-kubernetes-i-postgresql-multimaster\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-23T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Si t\u00eb mbijetosh me baz\u00ebn e t\u00eb dh\u00ebnave SQL n\u00eb shekullin e 21-t\u00eb: mjete t\u00eb cloud, Kubernetes dhe PostgreSQL multimaster | ProHoster","description":"P\u00ebrsh\u00ebndetje, an\u00ebtar\u00eb t\u00eb Habr. Sot fillojn\u00eb m\u00ebsimet n\u00eb grupin e par\u00eb t\u00eb kursit \u2018PostgreSQL\u2019. N\u00eb lidhje me k\u00ebt\u00eb, d\u00ebshirojm\u00eb t'ju tregojm\u00eb se si ka kaluar webinar-i i hapur p\u00ebr k\u00ebt\u00eb kurs. N\u00eb m\u00ebsimin e radh\u00ebs t\u00eb hapur fol\u00ebm p\u00ebr sfidat me t\u00eb cilat p\u00ebrballen bazat e t\u00eb dh\u00ebnave SQL n\u00eb epok\u00ebn e mjeteve t\u00eb cloud dhe Kubernetes. Po ashtu, shqyrtuam se si bazat e t\u00eb dh\u00ebnave SQL p\u00ebrshtaten dhe mutacionohen n\u00ebn ndikimin e.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-vyzhit-sql-baze-v-21-veke-oblaka-kubernetes-i-postgresql-multimaster","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u0432\u044b\u0436\u0438\u0442\u044c SQL-\u0431\u0430\u0437\u0435 \u0432 21 \u0432\u0435\u043a\u0435: \u043e\u0431\u043b\u0430\u043a\u0430, Kubernetes \u0438 PostgreSQL multimaster | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0441\u0442\u0430\u0440\u0442\u0443\u044e\u0442 \u0437\u0430\u043d\u044f\u0442\u0438\u044f \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u0443\u0440\u0441\u0430 \u00abPostgreSQL\u00bb. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c, \u0445\u043e\u0442\u0438\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u0432\u0435\u0431\u0438\u043d\u0430\u0440 \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043a\u0443\u0440\u0441\u0443. \u0412 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0443\u0440\u043e\u043a\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u043e \u0442\u043e\u043c, \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u0432\u044b\u0437\u043e\u0432\u0430\u043c\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c SQL-\u0431\u0430\u0437\u044b \u0432 \u044d\u0440\u0443 \u043e\u0431\u043b\u0430\u043a\u043e\u0432 \u0438 Kubernetes. \u0410 \u0437\u0430\u043e\u0434\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438, \u043a\u0430\u043a \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 SQL \u043f\u0440\u0438\u0441\u043f\u043e\u0441\u0430\u0431\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u043c\u0443\u0442\u0438\u0440\u0443\u044e\u0442 \u043f\u043e\u0434 \u0432\u043e\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u043c","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-vyzhit-sql-baze-v-21-veke-oblaka-kubernetes-i-postgresql-multimaster","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-23T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54366","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 11:06:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:30:12","updated":"2026-01-24 11:06:21"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/54366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=54366"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/54366\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=54366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=54366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=54366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}