{"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 baze t\u00eb dh\u00ebnash SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>P\u00ebrsh\u00ebndetje, habrovcan\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>. P\u00ebr k\u00ebt\u00eb arsye, duam t\u00eb flasim me ju p\u00ebr webinarin e hapur q\u00eb u mbajt p\u00ebr k\u00ebt\u00eb kurs.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb baze t\u00eb dh\u00ebnash 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\">m\u00ebsimi i hapur t\u00eb radh\u00ebs<\/a><\/noindex> diskutuar p\u00ebr sfidat q\u00eb kan\u00eb hasur bazat e t\u00eb dh\u00ebnave SQL n\u00eb epok\u00ebn e cloud dhe Kubernetes. Po ashtu, shqyrtuam si bazat e t\u00eb dh\u00ebnave SQL p\u00ebrshtaten dhe transformohen n\u00ebn ndikimin e k\u00ebtyre sfidave.<\/p>\n<p>Webinari u drejtua nga <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/IVe0\/\">Valeriy Bezrukov<\/a><\/noindex>, Menaxher i Praktik\u00ebs s\u00eb D\u00ebrgimit Cloud n\u00eb EPAM Systems.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Kur pem\u00ebt ishin t\u00eb vogla...<\/h3>\n<p>\nS\u00eb pari, le t\u00eb kujtojm\u00eb se si filloi zgjedhja e DBMS n\u00eb fund t\u00eb shekullit t\u00eb kaluar. Megjithat\u00eb, kjo nuk do t\u00eb jet\u00eb e v\u00ebshtir\u00eb, sepse zgjedhja e DBMS n\u00eb at\u00eb koh\u00eb fillonte dhe p\u00ebrfundonte <b>Oracle<\/b>. <\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb baze t\u00eb dh\u00ebnash 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 - fillimi t\u00eb viteve 2000, nuk kishte shum\u00eb zgjedhje, n\u00eb thelb, p\u00ebr sa i p\u00ebrket DB t\u00eb shkall\u00ebzueshme industriale. Po, ekzistonin IBM DB2, Sybase dhe disa baza t\u00eb tjera t\u00eb dh\u00ebnash q\u00eb shfaqeshin dhe zhdukeshin, por n\u00eb t\u00ebr\u00ebsi ato nuk ishin aq t\u00eb dukshme p\u00ebrball\u00eb Oracle. Si rezultat, aft\u00ebsit\u00eb e inxhinier\u00ebve t\u00eb asaj kohe ishin n\u00eb nj\u00eb far\u00eb forme t\u00eb lidhura me at\u00eb zgjedhje t\u00eb vetme q\u00eb ekzistonte.<\/p>\n<p>Dhe nj\u00eb Oracle DBA duhet t\u00eb dinte se si:<\/p>\n<ul>\n<li> t\u00eb instalonte Oracle Server nga distribuimi;<\/li>\n<li> t\u00eb konfiguronte Oracle Server:<\/li>\n<\/ul>\n<p><\/p>\n<ul>\n<li>init.ora;<\/li>\n<li>listener.ora;<\/li>\n<\/ul>\n<p>\nt\u00eb krijonte:<\/p>\n<ul>\n<li>hap\u00ebsira tabelash;<\/li>\n<li>skemat;<\/li>\n<li>p\u00ebrdoruesit;<\/li>\n<\/ul>\n<p>t\u00eb kryente kopje rezerv\u00eb dhe rikuperim;<br \/>\nt\u00eb b\u00ebnte monitorim;<br \/>\nt\u00eb luftonte me k\u00ebrkesat jo optimale.<\/p>\n<p>N\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, nga Oracle DBA nuk k\u00ebrkohej shum\u00eb:<\/p>\n<ul>\n<li>t\u00eb dinte t\u00eb zgjidhte DBMS-in 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\u00ebrin\u00eb e lart\u00eb dhe shkall\u00ebzimin horizontal (kjo nuk ishte gjithmon\u00eb nj\u00eb \u00e7\u00ebshtje p\u00ebr DBA);<\/li>\n<li>t\u00eb njihte mir\u00eb fush\u00ebn p\u00ebrkat\u00ebse, infrastruktur\u00ebn, arkitektur\u00ebn aplikative, sistemin operativ;<\/li>\n<li>t\u00eb realizonte ngarkimin dhe shkarkimin e t\u00eb dh\u00ebnave, migrimin e t\u00eb dh\u00ebnave midis DB t\u00eb ndryshme.<\/li>\n<\/ul>\n<p>N\u00eb t\u00ebr\u00ebsi, kur flasim p\u00ebr zgjedhjen n\u00eb at\u00eb koh\u00eb, ajo p\u00ebrngjason 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 baze t\u00eb dh\u00ebnash 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 nga at\u00ebher\u00eb, sigurisht, pem\u00ebt jan\u00eb rritur, bota ka ndryshuar, dhe gj\u00ebrat jan\u00eb b\u00ebr\u00eb si\u00e7 jan\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb baze t\u00eb dh\u00ebnash 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 \u00ebsht\u00eb ndryshuar gjithashtu, gj\u00eb q\u00eb \u00ebsht\u00eb shum\u00eb e dukshme nga raporti i fundit i kompanis\u00eb Gartner:<\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb baze t\u00eb dh\u00ebnash 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 nuk mund t\u00eb mos p\u00ebrmendet se nj\u00eb ni\u015f\u00eb e re \u00ebsht\u00eb z\u00ebn\u00eb nga cloud, t\u00eb cilat po rriten n\u00eb popullaritet. N\u00ebse e lexoni t\u00eb nj\u00ebjtin raport t\u00eb kompanis\u00eb Gartner, do t\u00eb shihni k\u00ebto p\u00ebrfundime:<\/p>\n<ol>\n<li>Shum\u00eb klient\u00eb jan\u00eb n\u00eb rrug\u00ebn p\u00ebr t\u00eb transferuar aplikacionet n\u00eb cloud. <\/li>\n<li>Teknologjit\u00eb e reja shfaqen s\u00eb pari n\u00eb cloud dhe nuk \u00ebsht\u00eb e sigurt se ato ndonj\u00ebher\u00eb do t\u00eb kalojn\u00eb n\u00eb nj\u00eb infrastruktur\u00eb jo-cloud.<\/li>\n<li>Modeli i \u00e7mimit sipas parimit pay-as-you-go \u00ebsht\u00eb b\u00ebr\u00eb i zakonsh\u00ebm. T\u00eb gjith\u00eb d\u00ebshirojn\u00eb t\u00eb paguajn\u00eb vet\u00ebm p\u00ebr at\u00eb q\u00eb p\u00ebrdorin, dhe kjo tashm\u00eb nuk \u00ebsht\u00eb vet\u00ebm nj\u00eb trend, por nj\u00eb konstatim i faktit. <\/li>\n<\/ol>\n<p><\/p>\n<h3>\u00c7far\u00eb ndodhi tani?<\/h3>\n<p>\nSot t\u00eb gjith\u00eb jemi n\u00eb cloud. Dhe pyetjet q\u00eb kemi jan\u00eb pyetje zgjedhjeje. Dhe ajo zgjedhje \u00ebsht\u00eb e madhe, edhe n\u00ebse flasim vet\u00ebm p\u00ebr zgjedhjen e teknologjive DBMS n\u00eb formatin On-premises. Po ashtu kemi sh\u00ebrbime t\u00eb menaxhuara dhe SaaS. K\u00ebshtu, zgjedhja vet\u00ebm sa komplikohet \u00e7do vit.<\/p>\n<p>P\u00ebrve\u00e7 pyetjeve t\u00eb zgjedhjes, veprojn\u00eb gjithashtu <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\u00ebsit\u00eb<\/b>. N\u00ebse flasim p\u00ebr softuerin e lir\u00eb, at\u00ebher\u00eb lind pyetja e aft\u00ebsive, pasi softueri falas k\u00ebrkon nga njer\u00ebzit, q\u00eb e implementojn\u00eb dhe e p\u00ebrdorin, kompetenc\u00eb t\u00eb mjaftueshme;<\/li>\n<li><b>funksionaliteti<\/b>. Jo t\u00eb gjitha sh\u00ebrbimet q\u00eb jan\u00eb n\u00eb cloud dhe jan\u00eb nd\u00ebrtuar, le t\u00eb themi, edhe mbi baz\u00ebn e Postgres, kan\u00eb ato karakteristika q\u00eb ka Postgres On-premises. Ky \u00ebsht\u00eb nj\u00eb faktor thelb\u00ebsor q\u00eb duhet t\u00eb dihet dhe kuptohet. P\u00ebr m\u00eb tep\u00ebr, ky faktor merr nj\u00eb r\u00ebnd\u00ebsi edhe m\u00eb t\u00eb madhe se njohuria e ndonj\u00eb mund\u00ebsie t\u00eb fsheht\u00eb t\u00eb nj\u00eb DBMS t\u00eb ve\u00e7ant\u00eb. <\/li>\n<\/ul>\n<p>\n<b>\u00c7far\u00eb presin tani nga DA\/DE:<\/b><\/p>\n<ul>\n<li>nj\u00eb kuptim t\u00eb mir\u00eb t\u00eb fush\u00ebs dhe arkitektur\u00ebs aplikative;<\/li>\n<li>aft\u00ebsin\u00eb p\u00ebr t\u00eb zgjedhur teknologjin\u00eb e p\u00ebrshtatshme DBMS duke marr\u00eb parasysh detyr\u00ebn e vendosur;<\/li>\n<li>aft\u00ebsin\u00eb p\u00ebr t\u00eb zgjedhur metod\u00ebn optimale t\u00eb implementimit t\u00eb teknologjis\u00eb s\u00eb zgjedhur n\u00eb kontekstin e kufizimeve t\u00eb disponueshme;<\/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 implementuar dhe p\u00ebrdorur zgjidhjet e zgjedhura.<\/li>\n<\/ul>\n<p>\nShembulli n\u00eb vijim <b>n\u00eb GCP<\/b> demonstron se si ndodh zgjedhja e teknologjis\u00eb s\u00eb pun\u00ebs 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 baze t\u00eb dh\u00ebnash 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 skem\u00eb mungon PostgreSQL, dhe kjo \u00ebsht\u00eb p\u00ebr shkak se ai fshihet pas terminologjis\u00eb <b>Cloud SQL<\/b>. Dhe kur hyjm\u00eb n\u00eb Cloud SQL, na nevojitet p\u00ebrs\u00ebri t\u00eb b\u00ebjm\u00eb zgjedhje:<\/p>\n<p><img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb baze t\u00eb dh\u00ebnash 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 kuptueshme, prandaj zhvilluesit e aplikacioneve shpesh udh\u00ebhiqen nga intuicioni. <\/p>\n<p><b>Pra, n\u00eb p\u00ebrfundim:<\/b><\/p>\n<ol>\n<li>Sa m\u00eb shum\u00eb q\u00eb kalon koha, b\u00ebhet m\u00eb aktual \u00e7\u00ebshtja e zgjedhjes. Edhe n\u00ebse shohim vet\u00ebm GCP, sh\u00ebrbimet e menaxhuara dhe SaaS, ndonj\u00eb p\u00ebrmendje e RDBMS shfaqet vet\u00ebm n\u00eb hapin e kat\u00ebrt (dhe aty \u00ebsht\u00eb Spanner pran\u00eb). P\u00ebrve\u00e7 k\u00ebsaj, zgjedhja e PostgreSQL shfaqet gjithashtu vet\u00ebm n\u00eb hapin e pest\u00eb, ku p\u00ebrmenden edhe MySQL dhe SQL Server, dometh\u00ebn\u00eb <b>ka shum\u00eb mund\u00ebsi, por duhet t\u00eb zgjedhim<\/b>. <\/li>\n<li>Nuk duhet harruar as kufizimet p\u00ebrball\u00eb joshjeve. Kryesisht, t\u00eb gjith\u00eb duan Spanner, por ai \u00ebsht\u00eb i shtrenjt\u00eb. Si rezultat, nj\u00eb k\u00ebrkes\u00eb tipike duket k\u00ebshtu: <i>\u00abNa b\u00ebni, ju lutem, Spanner por me \u00e7mimin e Cloud SQL, ju jeni profesionist\u00eb!\u300b<\/i><\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Si t\u00eb mbijetosh nj\u00eb baze t\u00eb dh\u00ebnash 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 duhet b\u00ebr\u00eb?<\/h3>\n<p>\nPa pretenduar t\u00eb jem i fundit n\u00eb autoritet, le t\u00eb themi k\u00ebto:<\/p>\n<p><b>Duhet t\u00eb ndryshojm\u00eb qasjen n\u00eb m\u00ebsim:<\/b><\/p>\n<ul>\n<li>t\u00eb m\u00ebsosh si m\u00ebsuan m\u00eb par\u00eb DBA, nuk ka kuptim;<\/li>\n<li>njohurit\u00eb p\u00ebr nj\u00eb produkt tani jan\u00eb t\u00eb pamjaftueshme;<\/li>\n<li>dhe t\u00eb njoh\u00ebsh dhjet\u00ebra n\u00eb nivelin e nj\u00ebrit \u2014 \u00ebsht\u00eb e pamundur.<\/li>\n<\/ul>\n<p>\nDuhet t\u00eb dish jo vet\u00ebm se \u00e7far\u00eb \u00ebsht\u00eb produkti, 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>avantazhet dhe disavantazhet e \u00e7do metode;<\/li>\n<li>produkte t\u00eb ngjashme dhe alternativ\u00eb, p\u00ebr t\u00eb b\u00ebr\u00eb nj\u00eb zgjedhje t\u00eb qart\u00eb dhe optimale dhe jo gjithmon\u00eb n\u00eb favor t\u00eb produktit t\u00eb njohur.<\/li>\n<\/ul>\n<p>\nDhe gjithashtu duhet t\u00eb dish si t\u00eb migrosh t\u00eb dh\u00ebnat dhe t\u00eb kuptosh parimet e baz\u00ebs s\u00eb integrimit me ETL.<\/p>\n<h3>Rasti real<\/h3>\n<p>\nN\u00eb t\u00eb kaluar\u00ebn e af\u00ebrt, ishte e nevojshme t\u00eb krijohej nj\u00eb backend p\u00ebr nj\u00eb aplikacion mobil. N\u00eb momentin q\u00eb filluam pun\u00ebn mbi t\u00eb, backend-i tashm\u00eb ishte zhvilluar dhe i gatsh\u00ebm p\u00ebr implementim, dhe ekipi i zhvilluesve kishte shpenzuar rreth dy vjet n\u00eb k\u00ebt\u00eb projekt. Nd\u00ebrkoh\u00eb, ishin vendosur k\u00ebto detyra:<\/p>\n<ul>\n<li>t\u00eb nd\u00ebrtosh CI\/CD;<\/li>\n<li>t\u00eb b\u00ebsh nj\u00eb rishikim t\u00eb arkitektur\u00ebs;<\/li>\n<li>t\u00eb nis\u00ebsh gjith\u00e7ka n\u00eb p\u00ebrdorim. <\/li>\n<\/ul>\n<p>\nAplikacioni ishte mikro-sh\u00ebrbim, dhe kodi n\u00eb Python\/Django ishte zhvilluar nga zero dhe menj\u00ebher\u00eb n\u00eb GCP. Sa i p\u00ebrket audienc\u00ebs, supozohej se do t\u00eb ishin dy rajone \u2014 SHBA dhe BE, dhe trafiku shp\u00ebrndaheshin p\u00ebrmes Global Load balancer. T\u00eb gjitha Workloads dhe ngarkesa llogarit\u00ebse 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 baze t\u00eb dh\u00ebnash 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 lind\u00eb pyetja, pse u zgjodh Cloud SQL? Duke folur me t\u00eb v\u00ebrtet\u00eb, nj\u00eb pyetje e till\u00eb n\u00ebnkupton nj\u00eb pauz\u00eb t\u00eb pak\u00ebndshme \u2014 krijohet nj\u00eb ndjesi se njer\u00ebzit filluan t\u00eb ndihen t\u00eb turp\u00ebruar p\u00ebr bazat e t\u00eb dh\u00ebnave relacional, por megjithat\u00eb ata vazhdojn\u00eb t'i p\u00ebrdorin aktivisht ;-). <\/p>\n<p>Sa i p\u00ebrket rastit ton\u00eb, Cloud SQL u zgjodh p\u00ebr k\u00ebto arsye:<\/p>\n<ol>\n<li>Si e p\u00ebrmendur, aplikacioni u zhvillua me Django, dhe ai ka nj\u00eb model q\u00eb shfaq t\u00eb dh\u00ebnat e q\u00ebndrueshme nga baza e t\u00eb dh\u00ebnave SQL n\u00eb objekte Python (Django ORM).<\/li>\n<li>Korniza mb\u00ebshteste nj\u00eb list\u00eb t\u00eb p\u00ebrfunduar t\u00eb DBMS-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>\nP\u00ebrkat\u00ebsisht, PostgreSQL u zgjodh nga ky list\u00eb m\u00eb shum\u00eb intuitivisht (nuk \u00ebsht\u00eb si t\u00eb zgjidhje Oracle, vall\u00eb).<\/p>\n<p><b>\u00c7far\u00eb mungonte:<\/b><\/p>\n<ul>\n<li>aplikacioni ishte zbatuar vet\u00ebm n\u00eb 2 rajone, dhe tani kishte nj\u00eb plan p\u00ebr nj\u00eb t\u00eb tret\u00eb (Azin\u00eb);<\/li>\n<li>DB u ndodhte n\u00eb rajonin e Amerik\u00ebs Veriore (Iowa);<\/li>\n<li>nga ana e klientit kishte shqet\u00ebsime lidhur me vonesat <b>n\u00eb akses<\/b> nga Evropa dhe Azia dhe <b>nd\u00ebrprerjet <\/b><b>n\u00eb sh\u00ebrbim<\/b> n\u00eb rast t\u00eb pap\u00ebrputhjes s\u00eb DB. <\/li>\n<\/ul>\n<p>\nMegjith\u00ebse Django vet\u00eb mund t\u00eb punoj\u00eb me disa DB paralelisht dhe t'i ndaj\u00eb ato sipas leximit dhe shkrimit, shkrimet n\u00eb aplikacion nuk ishin aq t\u00eb shumta (m\u00eb shum\u00eb se 90% \u2014 lexim). Dhe n\u00eb p\u00ebrgjith\u00ebsi, n\u00ebse ishte e mundur t\u00eb b\u00ebhej <b>nj\u00eb read-replica e baz\u00ebs kryesore n\u00eb Evrop\u00eb dhe Azi<\/b>, do t\u00eb ishte nj\u00eb mund\u00ebsi kompromisi p\u00ebr zgjidhje. Por \u00e7far\u00eb ka kaq t\u00eb komplikuar k\u00ebtu?<\/p>\n<p>Komplikimi ishte se klienti nuk d\u00ebshironte t\u00eb hiqte dor\u00eb nga sh\u00ebrbimet e menaxhuara dhe Cloud SQL. Dhe mund\u00ebsit\u00eb e Cloud SQL n\u00eb at\u00eb moment ishin t\u00eb kufizuara. Cloud SQL mb\u00ebshtet Disponueshm\u00ebri t\u00eb Lart\u00eb (HA) dhe Read Replica (RR), por e nj\u00ebjta RR mb\u00ebshtetet vet\u00ebm n\u00eb nj\u00eb rajon. Duke krijuar nj\u00eb DB n\u00eb rajonin amerikan, nuk \u00ebsht\u00eb e mundur t\u00eb b\u00ebsh nj\u00eb read-replica n\u00eb rajonin evropian me mjetet e Cloud SQL, megjith\u00ebse PostgreSQL vet\u00eb nuk e pengon k\u00ebt\u00eb. Korrespondenca me punonj\u00ebsit e Google nuk \u00e7oi n\u00eb asgj\u00eb dhe p\u00ebrfundoi me premtime n\u00eb stilin \"ne e dim\u00eb problemin dhe po punojm\u00eb mbi t\u00eb, nj\u00eb dit\u00eb do t\u00eb zgjidhet.\" <\/p>\n<p>N\u00ebse i rendisim mund\u00ebsit\u00eb e Cloud SQL n\u00eb pik\u00eb, do t\u00eb duket m\u00eb n\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb:<\/p>\n<p><b>1. Disponueshm\u00ebri e Lart\u00eb (HA):<\/b><\/p>\n<ul>\n<li>n\u00eb kuad\u00ebr t\u00eb nj\u00eb rajoni;<\/li>\n<li>n\u00ebp\u00ebrmjet riprodhimit t\u00eb diskut;<\/li>\n<li>nuk p\u00ebrdoren mekanizmat PostgreSQL;<\/li>\n<li>mund\u00ebsi p\u00ebr menaxhim automatik dhe manual \u2014 failover\/failback;<\/li>\n<li>n\u00eb kalimin e DB, nuk \u00ebsht\u00eb e disponueshme p\u00ebr disa minuta.<\/li>\n<\/ul>\n<p>\n<b>2. Read Replica (RR):<\/b><\/p>\n<ul>\n<li>n\u00eb kuad\u00ebr t\u00eb nj\u00eb rajoni;<\/li>\n<li>hot standby;<\/li>\n<li>riprodhimi streaming i PostgreSQL.<\/li>\n<\/ul>\n<p>\nM\u00eb tej, si\u00e7 \u00ebsht\u00eb zakonshme, kur zgjidhni nj\u00eb teknologji gjithmon\u00eb p\u00ebrballeni me ndonj\u00eb <b>kufizime<\/b>:<\/p>\n<ul>\n<li>klienti nuk d\u00ebshironte t\u00eb krijonte entitete dhe t\u00eb p\u00ebrdorte IaaS, p\u00ebrve\u00e7 n\u00ebp\u00ebrmjet GKE;<\/li>\n<li>klienti nuk d\u00ebshironte t\u00eb zbuste nj\u00eb self service PostgreSQL\/MySQL;<\/li>\n<li>T\u00eb pakt\u00ebn, Google Spanner do t\u00eb ishte nj\u00eb zgjidhje e mir\u00eb, po sikur t\u00eb mos ishte \u00e7mimi i tij. Megjithat\u00eb, Django ORM nuk mund t\u00eb punoj\u00eb me t\u00eb, por \u00ebsht\u00eb nj\u00eb gj\u00eb e mir\u00eb.<\/li>\n<\/ul>\n<p>\nDuke marr\u00eb parasysh situat\u00ebn, nga klienti erdhi nj\u00eb pyetje p\u00ebr t\u00eb v\u00ebshtir\u00eb: <i>\u00abA mund t\u00eb b\u00ebni di\u00e7ka t\u00eb ngjashme q\u00eb t\u00eb jet\u00eb si Google Spanner, por t\u00eb funksionoj\u00eb edhe me Django ORM?\u00bb<\/i><\/p>\n<h3>Zgjidhja e mundshme \u2116 0<\/h3>\n<p>\nE para q\u00eb m\u00eb erdhi n\u00eb mendje ishte:<\/p>\n<ul>\n<li>t\u00eb mbeteshim brenda CloudSQL;<\/li>\n<li>nuk do t\u00eb ket\u00eb replikim t\u00eb integruar midis rajoneve n\u00eb asnj\u00eb form\u00eb;<\/li>\n<li>t\u00eb p\u00ebrpiqemi t\u00eb lidhnim nj\u00eb replik\u00eb me Cloud SQL ekzistues nga PostgreSQL;<\/li>\n<li>t\u00eb nisnim nj\u00eb instanc\u00eb PostgreSQL diku dhe si\u00e7 duhet, por t\u00eb mos e prekim master-in.<\/li>\n<\/ul>\n<p>\nP\u00ebr fat t\u00eb keq, doli q\u00eb nuk mund ta b\u00ebnim k\u00ebt\u00eb, pasi nuk kishte akses n\u00eb host (ai ishte n\u00eb nj\u00eb projekt tjet\u00ebr) \u2013 pg_hba dhe k\u00ebshtu me radh\u00eb, dhe gjithashtu nuk kishte akses si superuser.<\/p>\n<h3>Zgjidhja e mundshme \u2116 1<\/h3>\n<p>\nPas m\u00eb shum\u00eb reflektimesh dhe duke marr\u00eb parasysh rrethanat e m\u00ebparshme, mendimi yn\u00eb nd\u00ebrrua pak:<\/p>\n<ul>\n<li>ende p\u00ebrpiqemi t\u00eb mbetemi brenda CloudSQL, por kalojm\u00eb n\u00eb MySQL, pasi Cloud SQL nga MySQL ka nj\u00eb master t\u00eb jasht\u00ebm, i cili:<\/li>\n<\/ul>\n<p>\n\u2013 sh\u00ebrben si proxy p\u00ebr MySQL-in e jasht\u00ebm;<br \/>\n\u2013 duket si nj\u00eb instanc\u00eb MySQL;<br \/>\n\u2013 \u00ebsht\u00eb krijuar p\u00ebr migrimin e t\u00eb dh\u00ebnave nga re t\u00eb tjera ose On-premises.<\/p>\n<p>Duke qen\u00eb se konfigurimi i replikimit t\u00eb MySQL nuk k\u00ebrkon qasje n\u00eb host, n\u00eb parim gjith\u00e7ka funksiononte, por shum\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb paq\u00ebndrueshme dhe t\u00eb pak rahat. Dhe kur shkuam m\u00eb tutje, gjith\u00e7ka u b\u00eb akoma m\u00eb e frikshme, pasi ne po zhvillonim t\u00eb gjith\u00eb struktur\u00ebn me terraform, dhe \u00ebsht\u00eb ndjer\u00eb se master i jasht\u00ebm nuk mb\u00ebshtetet nga terraform. Po, Google ka CLI, por p\u00ebr nj\u00eb arsye tjet\u00ebr gjith\u00e7ka punonte n\u00eb rast se, ndonj\u00ebher\u00eb krijohet, ndonj\u00ebher\u00eb jo. Ndoshta sepse CLI \u00ebsht\u00eb menduar p\u00ebr migrimin e t\u00eb dh\u00ebnave nga jasht\u00eb, e jo p\u00ebr replikat.<\/p>\n<p>N\u00eb fakt, k\u00ebtu u b\u00eb e qart\u00eb se Cloud SQL nuk \u00ebsht\u00eb aspak i p\u00ebrshtatsh\u00ebm. Si\u00e7 thon\u00eb, 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 mbetemi brenda Cloud SQL, p\u00ebrpiqem t\u00eb formuloj k\u00ebrkesat p\u00ebr nj\u00eb zgjidhje kompromisi. K\u00ebrkesat jan\u00eb si m\u00eb posht\u00eb:<\/p>\n<ul>\n<li>puna n\u00eb Kubernetes, shfryt\u00ebzimi maksimal i burimeve dhe mund\u00ebsive t\u00eb Kubernetes (DCS, &#8230;) dhe GCP (LB, &#8230;);<\/li>\n<li>mungesa e nj\u00eb bari nga shum\u00eb gj\u00ebra t\u00eb panevojshme n\u00eb re si HA proxy;<\/li>\n<li>mund\u00ebsia p\u00ebr t\u00eb nisur nj\u00eb HA PostgreSQL ose MySQL n\u00eb rajonin kryesor; n\u00eb rajonet e tjera \u2013 nj\u00eb HA nga RR i rajonit kryesor plus kopjen e saj (p\u00ebr besueshm\u00ebri);<\/li>\n<li>multi master (nuk do t\u00eb doja t\u00eb lidhesha me t\u00eb, por nuk ishte shum\u00eb thelb\u00ebsore)<\/li>\n<\/ul>\n<p>. <br \/>\nSi rezultat i k\u00ebtyre k\u00ebrkesave, n\u00eb horizont m\u00eb n\u00eb fund u shfaq nj\u00eb<b>mund\u00ebsi t\u00eb p\u00ebrshtatshme p\u00ebr DBMS dhe lidhjen e saj<\/b>:<\/p>\n<ul>\n<li>MySQL Galera;<\/li>\n<li>CockroachDB;<\/li>\n<li>mjetet PostgreSQL<\/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 kompania Codership dhe \u00ebsht\u00eb nj\u00eb plugin p\u00ebr InnoDB. Karakteristikat:<\/p>\n<ul>\n<li>multi master;<\/li>\n<li>repikim sinkron;<\/li>\n<li>lexim nga \u00e7do nyje;<\/li>\n<li>shkrim n\u00eb \u00e7do nyje;<\/li>\n<li>mekaniz\u00ebm t\u00eb 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 di\u00e7ka p\u00ebr t'u habitur dhe p\u00ebrfaq\u00ebson nj\u00eb projekt open source, e shkruar n\u00eb Go. Pjes\u00ebmarr\u00ebsi kryesor \u2014 Cockroach Labs (t\u00eb themeluar nga ish-punonj\u00ebs t\u00eb Google). Ky DBMS relational \u00ebsht\u00eb krijuar p\u00ebr t'u shp\u00ebrndar\u00eb (me shkall\u00ebzim horizontal \"nga kutia\") dhe p\u00ebr t\u00eb qen\u00eb rezistent ndaj d\u00ebshtimeve. 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>\nKy \u00ebsht\u00eb nj\u00eb shtres\u00eb mbi PostgreSQL, n\u00eb t\u00eb v\u00ebrtet\u00eb, nj\u00eb entitet i ri q\u00eb merr t\u00eb gjitha lidhjet dhe i proceson ato. Ka nj\u00eb balancues ngarkese dhe analist t\u00eb vetin, dhe licencohet n\u00ebn licenc\u00ebn BSD. Oferon mund\u00ebsi t\u00eb gjera, por duket disi frik\u00ebsuese, pasi prania e nj\u00eb entiteti t\u00eb ri mund t\u00eb shkaktoj\u00eb disa aventura t\u00eb tjera. <\/p>\n<h3>Patroni<\/h3>\n<p>\nKy ishte i fundit n\u00eb t\u00eb cilin u p\u00ebrqendrua shikimi dhe, si\u00e7 u duk, jo pa arsye. Patroni \u2014 nj\u00eb utilitar open source, q\u00eb n\u00eb thelb \u00ebsht\u00eb nj\u00eb daemon n\u00eb Python, i cili lejon menaxhimin automatik t\u00eb grupeve PostgreSQL me lloje t\u00eb ndryshme replikimi dhe kalimin automatik t\u00eb roleve. Kjo rezultoi shum\u00eb interesante, pasi integron 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 ishte e v\u00ebshtir\u00eb:<\/p>\n<ol>\n<li><b>CockroachDB <\/b>\u2014 zjarr, por i rreziksh\u00ebm;<\/li>\n<li><b>MySQL Galera<\/b> \u2014 gjithashtu e mir\u00eb, p\u00ebrdoret n\u00eb shum\u00eb vende, por MySQL;<\/li>\n<li><b>Pgpool <\/b>\u2014 shum\u00eb entitete t\u00eb tep\u00ebrta, integrimi me re dhe K8s \u00ebsht\u00eb i dob\u00ebt;<\/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>\nPra, zgjedhja ra mbi Patroni. <\/p>\n<h3>P\u00ebrfundimet<\/h3>\n<p>\nKa ardhur koha p\u00ebr t\u00eb p\u00ebrmbledhur p\u00ebrfundimet. Po, bota e infrastruktur\u00ebs IT ka ndryshuar ndjesh\u00ebm, dhe kjo \u00ebsht\u00eb vet\u00ebm fillimi. Dhe n\u00ebse m\u00eb par\u00eb re si\u00e7 ishin vet\u00ebm nj\u00eb lloj tjet\u00ebr infrastrukture, tani gj\u00ebrat jan\u00eb ndryshe. Jo vet\u00ebm kaq, inovacionet n\u00eb re po shfaqen vazhdimisht, do t\u00eb vazhdojn\u00eb t\u00eb shfaqen dhe, ndoshta, do t\u00eb shfaqen vet\u00ebm n\u00eb re dhe m\u00eb pas, nga startup-et, do t\u00eb transferohen n\u00eb On-premises.<\/p>\n<p>Sa SQL, SQL do t\u00eb vazhdoj\u00eb t\u00eb jet\u00eb nj\u00eb e p\u00ebrhershme. Kjo do t\u00eb thot\u00eb se duhet t\u00eb njihni PostgreSQL dhe MySQL dhe t\u00eb jeni n\u00eb gjendje t'i p\u00ebrdorni ato, por \u00ebsht\u00eb edhe m\u00eb e r\u00ebnd\u00ebsishme t\u00eb dini si t'i aplikoni ato sakt\u00eb.<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 5.0.2 - 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.\" \/>\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) 5.0.2\" \/>\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.\" \/>\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 bazat e t\u00eb dh\u00ebnave SQL n\u00eb shekullin 21: re, Kubernetes dhe PostgreSQL multimaster | ProHoster","description":"P\u00ebrsh\u00ebndetje, komunitet i Habr. Sot fillojn\u00eb m\u00ebsimet n\u00eb grupin e par\u00eb t\u00eb kursit \"PostgreSQL.\"","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.","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}