{"id":73446,"date":"2020-03-09T20:41:59","date_gmt":"2020-03-09T17:41:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya"},"modified":"2020-03-09T20:41:59","modified_gmt":"2020-03-09T17:41:59","slug":"pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya","title":{"rendered":"Miks v\u00f5ib olla vajalik pools\u00fcnkrone replikatsioon?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Tere k\u00f5igile. Siin on Vladislav Rodin. Praegu \u00f5petan OTUS-i platvormil kursusi, mis on p\u00fchendatud tarkvara arhitektuurile ja k\u00f5rge koormusega tarkvara arhitektuurile. <b>Uue kursuse voolu alustamise eel\u00f5htul <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/jvDY\/\">\u00abK\u00f5rge koormuse arhitekt\u00bb<\/a><\/noindex> otsustasin kirjutada v\u00e4ikese autoriartikli, millega tahan teiega jagada.<\/b><\/i><\/p>\n<p><img decoding=\"async\" alt=\"Miks v\u00f5ib olla vajalik pools\u00fcnkrone replikatsioon?\" src=\"\/wp-content\/uploads\/2020\/03\/c2a1ea514249f8fca1ab9f668a899981.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Sissejuhatus<\/h2>\n<p>\nKuna HDD-l saab sekundis teha ainult umbes 400-700 operatsiooni (mis on v\u00f5rreldamatu t\u00fc\u00fcpiliste rps-dega, mis j\u00e4\u00e4vad k\u00f5rge koormusega s\u00fcsteemidesse), on klassikaline kettabaas arhitektuuri kitsaskohaks. Seet\u00f5ttu on oluline p\u00f6\u00f6rata erilist t\u00e4helepanu selle andmekogu skaleerimise mustritele.<\/p>\n<p>Praegu on olemas 2 andmebaasi skaleerimise mustrit: replikatsioon ja shardimine. Shardimine v\u00f5imaldab skaleerida kirjutamise operatsiooni ja seega v\u00e4hendada rps-i, mis langeb \u00fche teie klastriservi peale. Replikatsioon v\u00f5imaldab teha sama, kuid lugemise operatsioonide puhul. Sellele mustrile on p\u00fchendatud ka k\u00e4esolev artikkel.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Replikatsioon<\/h2>\n<p>\nKui vaadata replikatsioonile \u00fcldiselt, siis see on lihtne asi: teil oli \u00fcks server, kus andmed asusid, ja then see server ei suutnud enam andmete lugemise koormusega hakkama saada. Te lisate m\u00f5ned serverid, s\u00fcnkroniseerite andmed k\u00f5igil serveritel ja kasutaja v\u00f5ib lugeda mis tahes teie klastriservist. <\/p>\n<p>Hoolimata n\u00e4ilisest lihtsusest on olemas mitmeid erinevate rakenduste klassifitseerimise variante:<\/p>\n<ul>\n<li>Klastri rollide j\u00e4rgi (master-master v\u00f5i master-slave)<\/li>\n<li>Edukohase objektide edastamise j\u00e4rgi (row-based, statement-based v\u00f5i mixed)<\/li>\n<li>S\u00f5lmede s\u00fcnkroniseerimise mehhanismi j\u00e4rgi<\/li>\n<\/ul>\n<p>\nT\u00e4na k\u00e4sitleme just 3. punkti. <\/p>\n<h2>Kuidas toimuvad tehingu kinnitused<\/h2>\n<p>\nSee teema ei ole otseselt seotud replikatsiooniga, selle kohta v\u00f5iks kirjutada eraldi artikli, kuid kuna tehingu kinnitamise mehhanismi m\u00f5istmine on edasise lugemise jaoks h\u00e4davajalik, lubage mul meenutada k\u00f5ige olulisemaid asju. Tehingu kinnitamine toimub 3 etapis:<\/p>\n<ol>\n<li>Tehingu salvestamine andmebaasi p\u00e4evikusse.<\/li>\n<li>Tehingu rakendamine andmebaasi mootori poolt.<\/li>\n<li>Kliendile kinnituse tagastamine tehingu eduka rakendamise kohta.<\/li>\n<\/ol>\n<p>\nErinevates andmebaasides v\u00f5ivad selle algoritmi osas esineda n\u00fcansid: n\u00e4iteks MySQL-i InnoDB mootoris on 2 \u017eurnali: \u00fcks replikatsiooni jaoks (binaarne logi) ja teine ACID-i s\u00e4ilitamiseks (undo\/redolog), samas kui PostgreSQL-is on \u00fcks \u017eurnal, mis t\u00e4idab m\u00f5lemat funktsiooni (write ahead log = WAL). Kuid \u00fclal on esitatud just \u00fcldine kontseptsioon, mis lubab neid n\u00fcansse mitte arvesse v\u00f5tta.<\/p>\n<h2>S\u00fcnkroonne (sync) replikatsioon<\/h2>\n<p>\nLisame tehingu commit algoritmi loogika replitseerimise jaoks saadud muudatuste osas:<\/p>\n<ol>\n<li>Tehingu salvestamine andmebaasi p\u00e4evikusse.<\/li>\n<li>Tehingu rakendamine andmebaasi mootori poolt.<\/li>\n<li><b>Andmete saatmine k\u00f5igile replikatele.<\/b><\/li>\n<li><b>K\u00f5igilt replitelt kinnituse saamine tehingu t\u00e4itmise kohta.<\/b><\/li>\n<li>Kliendile kinnituse tagastamine tehingu eduka rakendamise kohta.<\/li>\n<\/ol>\n<p>\nSelle l\u00e4henemise korral saame mitmeid puudusi: <\/p>\n<ul>\n<li>klient ootab muudatuste rakendamist k\u00f5igil replitel.<\/li>\n<li>klastris s\u00f5lmede arvu suurenedes v\u00e4hendame t\u00f5en\u00e4osust, et kirjutamise operatsioon \u00f5nnestub.<\/li>\n<\/ul>\n<p>\nKui esimese punktiga on k\u00f5ik enam-v\u00e4hem selge, siis teise punkti p\u00f5hjused tasub selgitada. Kui s\u00fcnkroonses replikatsioonis ei saa me kinnitust v\u00e4hemalt \u00fche s\u00f5lme poolt, t\u00fchistame tehingu. Seega, suurendades s\u00f5lmede arvu klastris, suurendate t\u00f5en\u00e4osust, et kirjaoperatsioon eba\u00f5nnestub. <\/p>\n<p>Kas saame oodata kinnitust vaid mingi protsendi s\u00f5lmedelt, n\u00e4iteks 51% (kvoorum)? Jah, saame, kuid klassikalises variandis on vajalik kinnituse saamine k\u00f5igilt s\u00f5lmedelt, kuna just nii suudame tagada andmete t\u00e4ieliku konsistentsuse klastris, mis on sellise replikatsiooni selge eelis.<\/p>\n<h2>As\u00fcnkroonne (async) replikatsioon<\/h2>\n<p>\nMuudame eelnevat algoritmi. Andmeid replitel saadame me \"kunagi hiljem\" ja \"kunagi hiljem\" rakendatakse muutused replitel:<\/p>\n<ol>\n<li>Tehingu salvestamine andmebaasi p\u00e4evikusse.<\/li>\n<li>Tehingu rakendamine andmebaasi mootori poolt.<\/li>\n<li>Kliendile kinnituse tagastamine tehingu eduka rakendamise kohta.<\/li>\n<li><b>Andmete saatmine replitale ja nende rakendamine.<\/b><\/li>\n<\/ol>\n<p>\nSee l\u00e4henemine viib selleni, et klaster t\u00f6\u00f6tab kiiresti, kuna me ei hoia klienti ootamas, kuni andmed j\u00f5uavad repliteni ja need ka kinnitatakse.<\/p>\n<p>Kuid tingimus, et andmeid saadetakse replitel \"kunagi hiljem\", v\u00f5ib viia tehingu kadumiseni, sealhulgas ka kasutajale kinnitatud tehingu kadumiseni, kuna kui andmed ei j\u00f5udnud repliteni, saadeti kliendile kinnitamine operatsiooni edukuse kohta, ning kui s\u00f5lme, kuhu muudatused j\u00f5udsid, HDD purunes, kaotame me tehingu, mis v\u00f5ib p\u00f5hjustada v\u00e4ga ebameeldivaid tagaj\u00e4rgi.<\/p>\n<h2>Pool-s\u00fcnkroonne (semisync) replikatsioon<\/h2>\n<p>\nL\u00f5puks j\u00f5udsime pool-s\u00fcnkroonse replikatsiooni juurde. See replikatsiooni t\u00fc\u00fcp ei ole v\u00e4ga tuntud ega levinud, kuid see on huvitav, kuna suudab \u00fchendata nii s\u00fcnkroonse kui ka as\u00fcnkroonse replikatsiooni eelised.<\/p>\n<p>P\u00fc\u00fcame kombineerida kaht eelmist l\u00e4henemist. Me ei hoia klienti kaua kinni, kuid n\u00f5uame, et andmed replitseeruksid:<\/p>\n<ol>\n<li>Tehingu salvestamine andmebaasi p\u00e4evikusse.<\/li>\n<li>Tehingu rakendamine andmebaasi mootori poolt.<\/li>\n<li><b>Andmete saatmine replikatele.<\/b><\/li>\n<li><b>Kinnituse saamine replikalt muutuste vastuv\u00f5tmise kohta (need rakendatakse \"m\u00f5nes m\u00f5ttes hiljem\").<\/b><\/li>\n<li>Kliendile kinnituse tagastamine tehingu eduka rakendamise kohta.<\/li>\n<\/ol>\n<p>\nPange t\u00e4hele, et sellise algoritmi puhul toimub tehingu kaotus ainult siis, kui z nii muudatuste vastuv\u00f5tva s\u00f5lme kui ka koopia-s\u00f5lme kokkuvarisemine. Sellise vea t\u00f5en\u00e4osus peetakse v\u00e4ikseks ning need riskid on vastuv\u00f5etavad. <\/p>\n<p>Kuid selle l\u00e4henemise puhul on v\u00f5imalik vaimu lugemise risk. Kujutage ette j\u00e4rgmist stsenaariumi: 4. sammil ei saanud me kinnitust \u00fcheltki replikalt. Peame selle tehingu tagasi keerama ja kliendile kinnitust mitte andma. Kuna andmed rakendati 2. sammil, tekib ajavahe 2. sammu l\u00f5pu ja tehingu tagasi p\u00f6\u00f6ramise vahel, mil paralleelsed tehingud v\u00f5ivad n\u00e4ha neid muudatusi, mida andmebaasis ei peaks olema. <\/p>\n<h2>Lose-less pool-s\u00fcnkroonne replikatsioon<\/h2>\n<p>\nKui veidi m\u00f5elda, saame vahetada algoritmi samme omavahel ja lahendada vaimu lugemise probleemi antud stsenaariumis:<\/p>\n<ol>\n<li>Tehingu salvestamine andmebaasi p\u00e4evikusse.<\/li>\n<li><b>Andmete saatmine replikale.<\/b><\/li>\n<li><b>Kinnituse saamine replikalt muutuste vastuv\u00f5tmise kohta (need rakendatakse \"m\u00f5nes m\u00f5ttes hiljem\").<\/b><\/li>\n<li>Tehingu rakendamine andmebaasi mootori poolt.<\/li>\n<li>Kliendile kinnituse tagastamine tehingu eduka rakendamise kohta.<\/li>\n<\/ol>\n<p>\nN\u00fc\u00fcd kinnitame muudatused ainult siis, kui need on replitseerunud. <\/p>\n<h2>Kokkuv\u00f5te<\/h2>\n<p>\nKuna alati ei ole ideaalset lahendust, on olemas lahenduste kogum, millest iga\u00fchel on oma eelised ja puudused ning mis sobib erinevate \u00fclesannete lahendamiseks. See kehtib ka replikatsiooni andmebaaside s\u00fcnkroniseerimise mehhanismi valiku kohta. Pool-s\u00fcnkroonse replikatsiooni eeliste kogum on piisavalt muljetavaldav ja huvitav, et seda v\u00f5iks pidada t\u00e4helepanu v\u00e4\u00e4rtuseks, hoolimata selle v\u00e4hesest levikust.<\/p>\n<p><b>Sellega on k\u00f5ik. N\u00e4eme j\u00e4rgmisel korral <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/jvDY\/\">kursusel<\/a><\/noindex>!<\/b><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/491106\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u0412\u043b\u0430\u0434\u0438\u0441\u043b\u0430\u0432 \u0420\u043e\u0434\u0438\u043d. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 OTUS \u043a\u0443\u0440\u0441\u044b, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e, \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435. \u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043a\u0443\u0440\u0441\u0430 \u00ab\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u0432\u044b\u0441\u043e\u043a\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a\u00bb \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0418\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0430 HDD \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043b\u0438\u0448\u044c \u043f\u043e\u0440\u044f\u0434\u043a\u0430 400-700 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":73447,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-73446","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u0412\u043b\u0430\u0434\u0438\u0441\u043b\u0430\u0432 \u0420\u043e\u0434\u0438\u043d. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 OTUS \u043a\u0443\u0440\u0441\u044b, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e, \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435.\" \/>\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\/et\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\u041f\u043e\u0447\u0435\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0443\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u0412\u043b\u0430\u0434\u0438\u0441\u043b\u0430\u0432 \u0420\u043e\u0434\u0438\u043d. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 OTUS \u043a\u0443\u0440\u0441\u044b, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e, \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya\" \/>\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=\"2020-03-09T17:41:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-09T17:41:59+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\udd47Miks v\u00f5ib olla vajalik pool-s\u00fcnkroonne replikatsioon? | ProHoster","description":"Tere k\u00f5igile. Siin on Vladislav Rodin. Praegu \u00f5petan OTUS-i platvormil kursusi, mis on p\u00fchendatud tarkvara arhitektuurile ja k\u00f5rge koormusega tarkvara arhitektuurile.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\u041f\u043e\u0447\u0435\u043c\u0443 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0443\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f? | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u0412\u043b\u0430\u0434\u0438\u0441\u043b\u0430\u0432 \u0420\u043e\u0434\u0438\u043d. \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 OTUS \u043a\u0443\u0440\u0441\u044b, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u041f\u041e, \u043f\u043e\u0434\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/pochemu-mozhet-ponadobitsya-polusinhronnaya-replikacziya","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":"2020-03-09T17:41:59+00:00","article:modified_time":"2020-03-09T17:41:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"73446","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:50:08","updated":"2022-09-28 11:57:57","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/73446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=73446"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/73446\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/73447"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=73446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=73446"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=73446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}