{"id":35091,"date":"2019-10-31T22:02:18","date_gmt":"2019-10-31T19:02:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/19-golov-gidry-bolshoj-obzor-programmy\/"},"modified":"2019-10-31T22:02:18","modified_gmt":"2019-10-31T19:02:18","slug":"19-golov-gidry-bolshoj-obzor-programmy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","title":{"rendered":"19 capete ale hidrei. O prezentare general\u0103 mare a programului","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Conferin\u021ba va avea loc \u00een Sankt Petersburg pe 11-12 iulie <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/?utm_source=habr&amp;utm_medium=453832\">Hydra<\/a><\/noindex>, dedicat\u0103 dezvolt\u0103rii sistemelor paralele \u0219i distribuite. Tr\u0103s\u0103tura distinctiv\u0103 a Hydrei const\u0103 \u00een faptul c\u0103 reune\u0219te savan\u021bi excep\u021bionali (pe care, de obicei, \u00eei g\u0103sim doar la conferin\u021bele \u0219tiin\u021bifice interna\u021bionale) \u0219i ingineri practican\u021bi bine cunoscu\u021bi, \u00eentr-un singur program vast la intersec\u021bia dintre \u0219tiin\u021b\u0103 \u0219i practic\u0103.<\/p>\n<p><\/p>\n<p>Hydra este una dintre cele mai importante conferin\u021be pe care le avem \u00een ultimii ani. A fost precedat\u0103 de o preg\u0103tire serioas\u0103, selec\u021bia vorbitorilor \u0219i a prezent\u0103rilor. S\u0103pt\u0103m\u00e2na trecut\u0103, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/453952\/\">a ap\u0103rut un interviu pe Habrahabr<\/a><\/noindex> cu directorul companiei JUG.ru Group, Alexey Fedorov (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/23derevo\/\" class=\"user_link\">23derevo<\/a><\/noindex>). <\/p>\n<p><\/p>\n<p>Noi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/445730\/\">a povestit deja<\/a><\/noindex> despre trei participan\u021bi importan\u021bi, fondatorii teoriei sistemelor distribuite \u2014 Leslie Lamport, Maurice Herlihy \u0219i Michael Scott. Este timpul s\u0103 discut\u0103m mai \u00een detaliu despre \u00eentregul program!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/55b262908f46159cbd3638f00772215c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"motivaciya\">Motiva\u021bia<\/h2>\n<p><\/p>\n<p>Dac\u0103 te ocupi de programare, atunci \u00een mod cert ai de-a face cu multithreading \u0219i calcul distribuit. Exper\u021bii din domeniile relevante lucreaz\u0103 direct cu acestea, dar \u00een mod indirect, conceptul de distribu\u021bie este omniprezent: \u00een orice computer multicore sau serviciu distribuit se g\u0103se\u0219te ceva care execut\u0103 calcule \u00een paralel.<\/p>\n<p><\/p>\n<p>Exist\u0103 multe conferin\u021be care abordeaz\u0103 diferite aspecte ale program\u0103rii aplicate. De cealalt\u0103 parte a spectrului, avem \u0219coli \u0219tiin\u021bifice speciale, care prin formate de cursuri dezv\u0103luie volume mari de teorie complex\u0103. De exemplu, \u00een paralel cu Hydra, la Sankt Petersburg se desf\u0103\u0219oar\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/sptdc.ru\/?utm_source=habr&amp;utm_medium=453832\">\u0219coala SPTDC<\/a><\/noindex>. <strong>La conferin\u021ba Hydra ne-am str\u0103duit s\u0103 aducem \u00eempreun\u0103 at\u00e2t practica auster\u0103, c\u00e2t \u0219i \u0219tiin\u021ba, totul la intersec\u021bia lor.<\/strong> <\/p>\n<p><\/p>\n<p>Reflecta\u021bi asupra a ceea ce vrem s\u0103 spunem: tr\u0103im \u00eentr-o perioad\u0103 uimitoare, c\u00e2nd putem \u00eent\u00e2lni \u00een persoan\u0103 fondatorii domeniului de \u0219tiin\u021b\u0103 \u0219i inginerie \u00een care ne activ\u0103m. Fizicienii nu vor avea ocazia s\u0103 se \u00eent\u00e2lneasc\u0103 cu Newton sau Einstein \u2014 trenul a plecat. Dar printre noi \u00eenc\u0103 tr\u0103iesc cei care au pus bazele teoriei sistemelor distribuite, care au creat limbaje de programare populare, care au realizat pentru prima dat\u0103 toate acestea \u00een prototipuri func\u021bionale. Ace\u0219ti oameni nu \u0219i-au abandonat munca la jum\u0103tate, se ocup\u0103 \u00een prezent de provoc\u0103ri relevante \u00een universit\u0103\u021bi \u0219i companii de renume mondial, \u0219i sunt cei mai mari furnizori de cuno\u0219tin\u021be \u0219i experien\u021b\u0103 de ast\u0103zi. <\/p>\n<p><\/p>\n<p>Pe de alt\u0103 parte, ocazia de a-i \u00eent\u00e2lni este de obicei pur teoretic\u0103: pu\u021bini dintre noi pot monitoriza constant evenimentele publice de la o universitate din Rochester, pentru a putea zburda \u00een SUA \u0219i \u00eenapoi la o prelegere cu Michael Scott. A vizita to\u021bi participan\u021bii la Hydra ar costa o sum\u0103 considerabil\u0103, f\u0103r\u0103 a mai vorbi de timpul irosit (de\u0219i pare a fi o misiune interesant\u0103).<\/p>\n<p><\/p>\n<p>Pe de alt\u0103 parte, avem numero\u0219i ingineri de top care lucreaz\u0103 acum la probleme curente ale sistemelor distribuite \u0219i cu siguran\u021b\u0103 au mult de povestit. Dar aici apare problema \u2014 ei <em>lucreaz\u0103<\/em>, iar timpul lor este pre\u021bios. Da, dac\u0103 e\u0219ti angajat la Microsoft, Google sau JetBrains, probabilitatea de a \u00eent\u00e2lni unul dintre cunoscu\u021bii vorbitori la un eveniment intern \u2014 cre\u0219te semnificativ, \u00eens\u0103, \u00een general \u2014 nu se \u00eent\u00e2mpl\u0103 \u00een fiecare zi.<\/p>\n<p><\/p>\n<p>Astfel, conferin\u021ba Hydra \u00eendepline\u0219te o sarcin\u0103 important\u0103 pe care majoritatea dintre noi nu o pot realiza singuri \u2014 aduce \u00eempreun\u0103, \u00eentr-un singur loc \u0219i la un singur moment, oameni ale c\u0103ror idei sau interac\u021biuni pot schimba via\u021ba ta. Accept c\u0103 nu toat\u0103 lumea are nevoie de sisteme distribuite sau de concepte fundamentale complicate. Po\u021bi programa CRUD-uri \u00een PHP toat\u0103 via\u021ba \u0219i s\u0103 fii destul de fericit. Dar pentru cei care au nevoie \u2014 aceasta este \u0219ansa ta.<\/p>\n<p><\/p>\n<p>De la prima anun\u021bare a conferin\u021bei Hydra pe Habr, a trecut deja mult timp. \u00cen acest interval, s-a realizat o munc\u0103 imens\u0103 \u2014 \u0219i iat\u0103, avem o list\u0103 cu aproape toate prezent\u0103rile. Niciun algoritm plictisitor de un singur fir, doar hardcore distribuit! S\u0103 termin\u0103m cu cuvintele generale \u0219i s\u0103 vedem ce avem acum la dispozi\u021bie.<\/p>\n<p><\/p>\n<h2 id=\"keynouty\">Prezent\u0103ri principale<\/h2>\n<p><\/p>\n<p>Prezent\u0103rile principale \u00eencep \u0219i \u00eencheie zilele conferin\u021bei. De obicei, scopul prezent\u0103rii principale de deschidere este de a stabili spiritul general \u0219i direc\u021bia conferin\u021bei. Prezentarea principal\u0103 de \u00eenchidere trage o linie \u0219i explic\u0103 cum s\u0103 tr\u0103im cu cuno\u0219tin\u021bele \u0219i abilit\u0103\u021bile dob\u00e2ndite \u00een zilele conferin\u021bei. \u00cenceputul \u0219i sf\u00e2r\u0219itul: ceea ce se va aminti cel mai bine \u0219i are, \u00een general, o importan\u021b\u0103 crescut\u0103.<\/p>\n<p><\/p>\n<h3 id=\"cliff-click--the-h2o-distributed-kv-algorithmhttpshydraconfru2019talks1urihjc39wzahcg3lbxbtqutm_sourcehabrutm_medium453832\">Cliff Click \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1urihjc39wzahcg3lbxbtq\/?utm_source=habr&amp;utm_medium=453832\">Algoritmul distribuit K\/V H2O<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/2a1b4f1e305a3c4f32dc88e84cfe504f.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Cliff este o legend\u0103 \u00een lumea Java. La sf\u00e2r\u0219itul anilor '90, pentru teza sa de doctorat, a scris o lucrare intitulat\u0103 <noindex>\u201e\u00cembinarea analizelor, \u00eembinarea optimiz\u0103rilor\u201d<\/noindex>, care, care a devenit, dup\u0103 un timp, baza pentru compilatorul HotSpot JVM Server. Dup\u0103 doi ani, el lucra deja la Sun Microsystems pe JVM \u0219i a ar\u0103tat lumii c\u0103 JIT are dreptul de a exista. Toat\u0103 aceast\u0103 poveste despre Java ca unul dintre cele mai rapide runtime-uri moderne, cu cele mai inteligente \u0219i rapide optimiz\u0103ri, a \u00eenceput cu Cliff Click. La \u00eenceput, se credea c\u0103 dac\u0103 ceva este disponibil unui compilator static, nu merit\u0103 s\u0103 mai \u00eencerci s\u0103 faci JIT. Datorit\u0103 muncii lui Cliff \u0219i a echipei, toate limbile noi au \u00eenceput s\u0103 fie create cu ideea de JIT compilation ca setare implicit\u0103. F\u0103r\u0103 \u00eendoial\u0103, aceasta a fost o munc\u0103 de echip\u0103, dar Cliff a jucat un rol foarte important.<\/p>\n<p><\/p>\n<p>\u00cen keynote-ul de deschidere, Cliff va vorbi despre another one of his ventures \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/h2oai\/h2o-3\">H20<\/a><\/noindex>, o platform\u0103 in-memory pentru \u00eenv\u0103\u021bare automat\u0103 distribuit\u0103 \u0219i scalabil\u0103 pentru utiliz\u0103ri industriale. Mai exact \u2014 despre un depozit distribuit de perechi \u201echeie-valoare\u201d \u00een interiorul s\u0103u. Este un depozit foarte rapid, cu o mul\u021bime de propriet\u0103\u021bi interesante (lista complet\u0103 se g\u0103se\u0219te \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1urihjc39wzahcg3lbxbtq\/?utm_source=habr&amp;utm_medium=453832\">descriere<\/a><\/noindex>), care permit utilizarea unor solu\u021bii similare \u00een matematic\u0103 pentru procesarea fluxurilor de date mari.<\/p>\n<p><\/p>\n<p>Un alt discurs cu care va ap\u0103rea Cliff \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/2jix5mst7iduyp9linqhfj\/?utm_source=habr&amp;utm_medium=453832\">Experien\u021ba de memorie tranzac\u021bional\u0103 hardware Azul<\/a><\/noindex>. O alt\u0103 parte a biografiei sale \u2014 zece ani <noindex>de munc\u0103 la Azul<\/noindex>, unde a actualizat \u0219i \u00eembun\u0103t\u0103\u021bit multe aspecte ale hardware-ului \u0219i stivei de tehnologii Azul: compilatoare JIT, runtime, modelul de thread-uri, gestionarea erorilor, lucrul cu stiva, \u00eentreruperi hardware, \u00eenc\u0103rcarea claselor \u0219i a\u0219a mai departe \u2014 bine, a\u021bi \u00een\u021beles.<\/p>\n<p><\/p>\n<p>Partea cea mai interesant\u0103 a \u00eenceput c\u00e2nd au construit hardware pentru mari afaceri \u2014 supercomputer pentru a rula Java. A fost o chestie destul de inovatoare, special conceput\u0103 pentru Java, care are cerin\u021be speciale \u2014 bariere de memorie pentru citire pentru colectarea gunoiului cu laten\u021b\u0103 sc\u0103zut\u0103, tablouri cu verificarea limitelor, apeluri virtuale\u2026 Una dintre cele mai cool tehnologii \u2014 memoria tranzac\u021bional\u0103 hardware. \u00centregul L1 din oricare dintre cele 864 de nuclee putea participa la o scriere tranzac\u021bional\u0103, ceea ce este deosebit de important pentru gestionarea bloc\u0103rilor \u00een Java (blocurile synchronized pot func\u021biona \u00een paralel, at\u00e2ta timp c\u00e2t nu exist\u0103 un conflict real pe memorie). Dar ideea frumoas\u0103 s-a cl\u0103tinat \u00een fa\u021ba unei realit\u0103\u021bi dure \u2014 iar \u00een acest discurs, Cliff va explica de ce HTM \u0219i STM nu sunt foarte potrivite pentru nevoile practice ale calculatoarelor multi-threaded.<\/p>\n<p><\/p>\n<h3 id=\"michael-scott--dual-data-structureshttpshydraconfru2019talkslnhqpq8cz5kzgjmhlqpicutm_sourcehabrutm_medium453832\">Michael Scott \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/lnhqpq8cz5kzgjmhlqpic\/?utm_source=habr&amp;utm_medium=453832\">Structuri de date duale<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/5270050098dc1230d469e60362b6930a.jpeg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Michael_L._Scott\">de la Universitatea Rochester. \u0218i ghici\u021bi ce \u2014 are \u0219i el<\/a><\/noindex> \u2014 profesor de \u0218tiin\u021be Computa\u021bionale la Universitatea din Rochester, cu care destinul l-a legat <noindex>deja de 34 de ani<\/noindex>, iar la universitatea sa de origine Wisconsin\u2013Madison, a fost decan timp de cinci ani. Se ocup\u0103 de cercet\u0103ri \u00een domeniul program\u0103rii paralele \u0219i distribuite, precum \u0219i al designului limbajelor, \u0219i \u00eei \u00eenva\u021b\u0103 pe studen\u021bi acestea.<\/p>\n<p><\/p>\n<p>\u00centreaga lume \u00eel cunoa\u0219te pe Michael datorit\u0103 manualului <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/Programming-Language-Pragmatics-Michael-Scott\/dp\/0124104096\/ref=sr_1_1?crid=265ZYWXFSUF4&amp;keywords=programming+language+pragmatics&amp;qid=1558916067&amp;s=gateway&amp;sprefix=Programming+Language+Pragmatics%2Caps%2C324&amp;sr=8-1\">\u201eProgramming Language Pragmatics\u201d<\/a><\/noindex>, ultima edi\u021bie a c\u0103ruia a fost publicat\u0103 relativ recent \u2014 \u00een 2015. Lucrarea sa <noindex><a rel=\"nofollow\" href=\"http:\/\/web.mit.edu\/6.173\/www\/currentsemester\/readings\/R06-scalable-synchronization-1991.pdf\">\u201eAlgorithms for scalable synchronization on shared-memory multiprocessors\u201d<\/a><\/noindex> a primit <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%B5%D0%BC%D0%B8%D1%8F_%D0%94%D0%B5%D0%B9%D0%BA%D1%81%D1%82%D1%80%D1%8B\">a c\u00e2\u0219tigat premiul Dijkstra<\/a><\/noindex> ca fiind una dintre cele mai cunoscute lucr\u0103ri \u00een domeniul calculului distribuit \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/u\/scott\/papers\/1991_TOCS_synch.pdf\">este disponibil\u0103 deschis<\/a><\/noindex> \u00een biblioteca online a Universit\u0103\u021bii din Rochester. De asemenea, s-ar putea s\u0103-l cunoa\u0219te\u021bi ca autorul acelui algoritm cunoscut sub numele de Michael-Scott din <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/u\/scott\/papers\/1996_PODC_queues.pdf\">\u201eSimple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms\u201d<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>\u00cen ceea ce prive\u0219te lumea Java, aici situa\u021bia este special\u0103: \u00eempreun\u0103 cu Doug Lea, el a dezvoltat acele algoritmi non-blocant \u0219i cozi sincronizate pe care se bazeaz\u0103 bibliotecile Java. Despre asta va fi keynote-ul \u201eStructuri de date duale\u201d \u2014 implementarea acestor structuri \u00een Java SE 6 a permis \u00eembun\u0103t\u0103\u021birea performan\u021bei <code>java.util.concurrent.ThreadPoolExecutor<\/code>. Dac\u0103 sunte\u021bi deja curios ce sunt aceste \u201eStructuri de date duale\u201d, este disponibil\u0103 o <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/research\/synchronization\/pseudocode\/duals.html\">lucrare corespunz\u0103toare<\/a><\/noindex>. <\/p>\n<p><\/p>\n<h3 id=\"maurice-herlihy--blockchains-and-the-future-of-distributed-computinghttpshydraconfru2019talks6ayncxk5m9q7g6dn80b7bcutm_sourcehabrutm_medium453832\">Maurice Herlihy \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/6ayncxk5m9q7g6dn80b7bc\/?utm_source=habr&amp;utm_medium=453832\">Blockchains and the future of distributed computing<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/807a70783be0a9825a85eca0e73b6a70.jpeg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Maurice_Herlihy\">Maurice Herlihy<\/a><\/noindex> \u2014 c\u00e2\u0219tig\u0103tor a dou\u0103 premii Dijkstra. Prima \u2014 pentru lucrarea sa de la <noindex><a rel=\"nofollow\" href=\"https:\/\/cs.brown.edu\/~mph\/Herlihy91\/p124-herlihy.pdf\">iar al doilea, mai recent \u2014<\/a><\/noindex> (Universitatea Brown), iar a doua, mai recent\u0103 \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/courses.cs.vt.edu\/cs5204\/fall09-kafura\/Papers\/TransactionalMemory\/Architecture-Support.pdf\">De altfel, linkurile duc nu la SciHub, ci la Universitatea Brown \u0219i Virginia Tech University, le pute\u021bi deschide \u0219i citi.<\/a><\/noindex> (Universitatea Virginia Tech). Premiul Dijkstra se acord\u0103 pentru lucr\u0103ri a c\u0103ror semnifica\u021bie \u0219i impact au fost notabile timp de cel pu\u021bin zece ani, \u0219i este evident c\u0103 Maurice este unul dintre cei mai cunoscu\u021bi speciali\u0219ti \u00een domeniu. \u00cen acest moment, el este profesor la Universitatea Brown \u0219i are numeroase realiz\u0103ri care ar umple un \u00eentreg paragraf.<\/p>\n<p><\/p>\n<p>\u00cen acest keynote de \u00eencheiere, Maurice va vorbi despre teoria \u0219i practica sistemelor distribuite bazate pe blockchain din perspectiva clasic\u0103 a calculului distribuit \u0219i despre cum aceasta simplific\u0103 multe probleme conexe. Aceasta este o prezentare strict pe tema conferin\u021bei \u2014 deloc despre hype-ul mineritului, ci mai degrab\u0103 despre cum cuno\u0219tin\u021bele noastre pot fi utilizate \u00eentr-un mod surprinz\u0103tor de eficient \u0219i relevant pentru diverse probleme.<\/p>\n<p><\/p>\n<p>\u00cen iulie 2017, Maurice a fost deja \u00een Rusia la \u0219coala SPTDC, a luat parte la meetup-ul JUG.ru, iar \u00eenregistrarea poate fi vizionat\u0103 pe YouTube:<\/p>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"S3Fx-7avfs4\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/S3Fx-7avfs4\/hqdefault.jpg\" alt=\"Reda\u021bi video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h2 id=\"osnovnaya-programma\">Programul principal<\/h2>\n<p><\/p>\n<p>Urm\u0103toarea va fi o scurt\u0103 prezentare a lucr\u0103rilor incluse \u00een program. Unele lucr\u0103ri sunt descrise \u00een detaliu, iar altele - pe scurt. Descrierile lungi au fost, \u00een principal, alocate lucr\u0103rilor \u00een limba englez\u0103, care necesit\u0103 referin\u021be la lucr\u0103ri \u0219tiin\u021bifice, termeni pe Wikipedia etc. Lista complet\u0103 poate <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/#schedule\">fi v\u0103zut\u0103 pe site-ul conferin\u021bei<\/a><\/noindex>. Lista de pe site va fi actualizat\u0103 \u0219i completat\u0103. <\/p>\n<p><\/p>\n<h3 id=\"leslie-lamport--q--ahttpshydraconfru2019talks6evatt1mvwvpnwfxxveivwutm_sourcehabrutm_medium453832\">Leslie Lamport \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/6evatt1mvwvpnwfxxveivw\/?utm_source=habr&amp;utm_medium=453832\">\u00centreb\u0103ri \u0219i r\u0103spunsuri<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/4c6d5928be31af95cd3e2a7812e86854.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Leslie Lamport este autorul lucr\u0103rilor fundamentale \u00een calculul distribuit. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/LaTeX\">\u201eLaTeX\u201d<\/a><\/noindex> se descifreaz\u0103 ca \u201eLamport TeX\u201d. El a fost primul, \u00eenc\u0103 din 1979, care a introdus conceptul <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/pubs\/multi.pdf\">consisten\u021b\u0103 secven\u021bial\u0103<\/a><\/noindex>, iar articolul s\u0103u <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/pubs\/time-clocks.pdf\">\u201eHow to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs\u201d<\/a><\/noindex> a primit premiul Dijkstra.<\/p>\n<p><\/p>\n<p>Aceasta este cea mai neobi\u0219nuit\u0103 parte a programului, deoarece nu este nici m\u0103car o lucrare, ci o sesiune de \u00eentreb\u0103ri \u0219i r\u0103spunsuri. C\u00e2nd o parte semnificativ\u0103 a audien\u021bei este deja familiarizat\u0103 (sau poate deveni) cu toate lucr\u0103rile bazate pe \u201eteoria lui Lamport\u201d, propriile sale articole \u0219i lucr\u0103ri, cel mai important este s\u0103 petrecem tot timpul disponibil comunic\u00e2nd direct.<\/p>\n<p><\/p>\n<p>Ideea este simpl\u0103 \u2014 v\u0103 uita\u021bi pe YouTube la dou\u0103 lucr\u0103ri: <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/6QsTfL-uXd8\">\u201eProgramarea ar trebui s\u0103 fie mai mult dec\u00e2t codare\u201d<\/a><\/noindex> \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.heidelberg-laureate-forum.org\/blog\/video\/lecture-monday-september-24-2018-leslie-lamport\/\">\u201eDac\u0103 nu scrii un program, nu folosi un limbaj de programare\u201c<\/a><\/noindex> \u0219i preg\u0103ti\u021bi m\u0103car o \u00eentrebare, iar Leslie va r\u0103spunde.<\/p>\n<p><\/p>\n<p>Primul dintre aceste dou\u0103 videoclipuri l-am <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/454898\/\">transformat \u00eentr-un articol pentru hub<\/a><\/noindex>. Dac\u0103 nu ave\u021bi o or\u0103 de timp pentru a viziona videoclipul, pute\u021bi citi rapid totul sub form\u0103 de text.<\/p>\n<p><\/p>\n<p>De re\u021binut: pe YouTube sunt mult mai multe videoclipuri cu Leslie Lamport. De exemplu, exist\u0103 unul excelent <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=p54W-XOIEF8&amp;list=PLWAv2Etpa7AOAwkreYImYt0gIpOdWQevD\">curs de TLA+<\/a><\/noindex>. Versiunea offline a acestui curs este disponibil\u0103 pe <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/video\/videos.html\">pagina de start a autorului<\/a><\/noindex>, iar pe YouTube el a postat-o pentru o vizionare mai convenabil\u0103 pe dispozitive mobile.<\/p>\n<p><\/p>\n<h3 id=\"martin-kleppmann--syncing-data-across-user-devices-for-distributed-collaborationhttpshydraconfru2019talks6i4lkw8pwjnadgff5ylr11utm_sourcehabrutm_medium453832\">Martin Kleppmann \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/6i4lkw8pwjnadgff5ylr11\/?utm_source=habr&amp;utm_medium=453832\">Sincronizarea datelor \u00eentre dispozitivele utilizatorilor pentru colaborare distribuit\u0103<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/09af25ab1ce915ba13ec6ee1013878f6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Martin Kleppmann este cercet\u0103tor la Universitatea Cambridge, lucr\u00e2nd asupra CRDT \u0219i verific\u0103rii formale a algoritmilor. Cartea lui Martin <noindex>\u201eDesigning Data-Intensive Applications\u201d<\/noindex>, publicat\u0103 \u00een 2017, s-a dovedit a fi foarte de succes \u0219i a intrat \u00een listele bestsellerelor \u00een domeniul stoc\u0103rii \u0219i prelucr\u0103rii datelor. Kevin Scott, CTO la Microsoft, <noindex><a rel=\"nofollow\" href=\"https:\/\/martin.kleppmann.com\/2017\/03\/27\/designing-data-intensive-applications.html\">a spus odat\u0103<\/a><\/noindex>: \u201eAceast\u0103 carte ar trebui s\u0103 fie obligatorie pentru inginerii de dezvoltare. Este o resurs\u0103 rar\u0103 care combin\u0103 teoria cu practica, ajut\u00e2nd dezvoltatorii s\u0103 proiecteze \u0219i s\u0103 implementeze mai inteligent infrastructura \u0219i sistemele de prelucrare a datelor.\u201d Ceva similar a spus \u0219i creatorul Kafka \u0219i CTO Confluent, Jay Kreps.<\/p>\n<p><\/p>\n<p>\u00cenainte de a se ocupa de cercet\u0103rile academice, Martin a lucrat \u00een industrie \u0219i a fost cofondator al dou\u0103 startup-uri de succes:<\/p>\n<p><\/p>\n<ul>\n<li>Rapportive, dedicat afi\u0219\u0103rii profilului social al contactelor din e-mailul t\u0103u, care a fost achizi\u021bionat de LinkedIn \u00een 2012;<\/li>\n<li>Go Test It, un serviciu pentru verificarea automat\u0103 a site-urilor web \u00een diferite browsere, care a fost achizi\u021bionat de RedGate \u00een 2009.<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00cen general, Martin, de\u0219i este mai pu\u021bin cunoscut dec\u00e2t vorbitorii no\u0219tri, a reu\u0219it deja s\u0103 contribuie la dezvoltarea calculului distribuit \u0219i a industriei.<\/p>\n<p><\/p>\n<p>\u00cen aceast\u0103 prezentare, Martin va vorbi despre un subiect mai apropiat de cercet\u0103rile sale academice. \u00cen Google Docs \u0219i \u00een aplica\u021bii similare de editare colaborativ\u0103, \"editarea colaborativ\u0103\" \u00eenseamn\u0103 sarcina de replicare: fiecare utilizator are propria replic\u0103 a documentului comun, pe care o modific\u0103, iar toate modific\u0103rile sunt distribuite prin re\u021bea celorlal\u021bi participan\u021bi. Modific\u0103rile documentelor \u00een offline duc la o inconsisten\u021b\u0103 temporar\u0103 a documentului \u00een raport cu ceilal\u021bi participan\u021bi, iar re-sincronizarea necesit\u0103 gestionarea conflictelor. Acest lucru este exact ceea ce exist\u0103 pentru <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Conflict-free_replicated_data_type\">Tipuri de date replicabile f\u0103r\u0103 conflicte<\/a><\/noindex> (CRDT), care, \u00een esen\u021b\u0103, este o idee relativ nou\u0103, formulat\u0103 abia \u00een 2011. \u00cen aceast\u0103 prezentare se va discuta despre ce s-a \u00eent\u00e2mplat de atunci \u00een lumea CRDT, care sunt cele mai recente realiz\u0103ri, \u0219i se va discuta despre abordarea cre\u0103rii de aplica\u021bii locale \u00een general \u0219i utilizarea bibliotecii open-source <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/automerge\/automerge\">Automerge<\/a><\/noindex> \u00een special.<\/p>\n<p><\/p>\n<blockquote><p>S\u0103pt\u0103m\u00e2na viitoare vom publica pe Habr un interviu amplu cu Martin, va fi interesant.<\/p><\/blockquote>\n<p><\/p>\n<h3 id=\"pedro-ramalhete--wait-free-data-structures-and-wait-free-transactionshttpshydraconfru2019talks1jwmdzkmjcalsclwavttxkutm_sourcehabrutm_medium453832\">Pedro Ramalhete \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1jwmdzkmjcalsclwavttxk\/?utm_source=habr&amp;utm_medium=453832\">Structuri de date f\u0103r\u0103 a\u0219teptare \u0219i tranzac\u021bii f\u0103r\u0103 a\u0219teptare<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/be9b98f5ab95d0f6646dfcb4cee38978.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Pedro lucreaz\u0103 la Cisco \u0219i dezvolt\u0103 algoritmi paralele de aproximativ zece ani, inclusiv mecanisme de sincronizare, structuri de date f\u0103r\u0103 blocare \u0219i f\u0103r\u0103 a\u0219teptare, \u0219i tot ce po\u021bi imagina pe aceast\u0103 tem\u0103. Interesele sale \u0219tiin\u021bifice \u0219i inginere\u0219ti actuale se concentreaz\u0103 pe Construc\u021bii Universale, Memoria Transac\u021bional\u0103 Software, Memorie Persistent\u0103 \u0219i tehnologii similare care permit realizarea de aplica\u021bii corecte, scalabile \u0219i rezistente la erori. \u00cenc\u0103, el este autorul unui blog bine cunoscut \u00een cercurile restr\u00e2nse numit <noindex><a rel=\"nofollow\" href=\"http:\/\/concurrencyfreaks.blogspot.com\/\">Concurrency Freaks<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Structurile de date paralele sunt utilizate acum de majoritatea aplica\u021biilor multi-thread, \u00eencep\u00e2nd cu utilizarea coadelor de mesaje \u00eentre actori \u0219i termin\u00e2nd cu structuri de date indexate \u00een stoc\u0103rile key-value. \u00cen Java JDK, acestea func\u021bioneaz\u0103 cu succes de mul\u021bi ani, iar \u00een C++ se adaug\u0103 treptat.<\/p>\n<p><\/p>\n<p>Cel mai simplu mod de a implementa o structur\u0103 de date paralel\u0103 este o implementare secven\u021bial\u0103 (single-thread), \u00een care metodele sunt protejate de mutexuri. Aceasta este accesibil\u0103 oric\u0103rui junior, dar are probleme evidente de scalabilitate \u0219i performan\u021b\u0103. Pe de alt\u0103 parte, structurile de date lock-free \u0219i wait-free nu doar c\u0103 gestioneaz\u0103 mai bine erorile, dar au \u0219i un profil de performan\u021b\u0103 favorabil \u2014 totu\u0219i, dezvoltarea lor necesit\u0103 o expertiz\u0103 profund\u0103 \u0219i adaptare la modul specific de aplicare. O singur\u0103 linie gre\u0219it\u0103 de cod poate strica tot.<\/p>\n<p><\/p>\n<p>Cum putem face astfel \u00eenc\u00e2t chiar \u0219i un neexpert s\u0103 poat\u0103 proiecta \u0219i implementa astfel de structuri de date? Este cunoscut faptul c\u0103 orice algoritm secven\u021bial poate fi f\u0103cut thread-safe prin intermediul fie <noindex><a rel=\"nofollow\" href=\"https:\/\/hal.inria.fr\/hal-01397265v1\/document\">unei construc\u021bii universale<\/a><\/noindex>, fie a memoriei tranzac\u021bionale. Ambele pot reduce pragul de accesibilitate la solu\u021bionarea acestei probleme. Totu\u0219i, ambele solu\u021bii duc, de obicei, la o implementare ineficient\u0103. Pedro va vorbi despre cum au reu\u0219it s\u0103 fac\u0103 aceste construc\u021bii mai eficiente \u0219i cum pot fi utilizate pentru algoritmii lor.<\/p>\n<p><\/p>\n<h3 id=\"heidi-howard---liberating-distributed-consensushttpshydraconfru2019talks5z2xknkq9mozvqzhhgfoeiutm_sourcehabrutm_medium453832\">Heidi Howard \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/5z2xknkq9mozvqzhhgfoei\/?utm_source=habr&amp;utm_medium=453832\">Liberating distributed consensus<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/09dd05684fde1015a87818f0b6804680.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Heidi Howard \u2014 la fel ca \u0219i Martin, este cercet\u0103toare \u00een sisteme distribuite la Universitatea Cambridge. Specializarea ei este consisten\u021ba, rezilien\u021ba la erori, performan\u021ba \u0219i consensul distribuit. Este cel mai bine cunoscut\u0103 pentru generalizarea algoritmului Paxos, numit <noindex><a rel=\"nofollow\" href=\"https:\/\/fpaxos.github.io\/\">Flexible Paxos<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p>Reamintim c\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Paxos_(computer_science)\">Paxos<\/a><\/noindex> \u2014 o familie de protocoale pentru a rezolva problema consensului \u00eentr-o re\u021bea de computatoare nesigure, fundamentat\u0103 pe lucr\u0103rile lui Leslie Lamport. Astfel, unii dintre oratorii no\u0219tri lucreaz\u0103 la probleme ini\u021bial propuse de al\u021bi oratori ai no\u0219tri \u2014 \u0219i aceasta este minunat.<\/p>\n<p><\/p>\n<p>Posibilitatea de a g\u0103si consensul \u00eentre mai mul\u021bi gazde \u2014 pentru adresare, alegerea liderului, blocare sau coordonare \u2014 este o problem\u0103 fundamental\u0103 a sistemelor distribuite moderne. Paxos este \u00een prezent principalul mod de a aborda problemele de consens, iar \u00een jurul s\u0103u sunt desf\u0103\u0219urate numeroase cercet\u0103ri pentru a extinde \u0219i optimiza algoritmul pentru diverse nevoi practice. <\/p>\n<p><\/p>\n<p>\u00cen aceast\u0103 lucrare, vom revizui baza teoretic\u0103 a Paxos, sl\u0103bind cerin\u021bele ini\u021biale \u0219i generaliz\u00e2nd algoritmul. Vom observa c\u0103 Paxos este, \u00een esen\u021b\u0103, doar una dintre op\u021biunile dintr-un spectru uria\u0219 de abord\u0103ri pentru consens \u0219i c\u0103 alte puncte din spectru sunt de asemenea foarte utile pentru construirea unor sisteme distribuite de calitate.<\/p>\n<p><\/p>\n<h3 id=\"alex-petrov--reduce-your-storage-costs-with-transient-replication-and-cheap-quorumshttpshydraconfru2019talks6eb39udg8bxsgmimkexd6jutm_sourcehabrutm_medium453832\">Alex Petrov \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/6eb39udg8bxsgmimkexd6j\/?utm_source=habr&amp;utm_medium=453832\">Reduce\u021bi costurile de stocare cu Replicarea Tranzitorie \u0219i Cvorumuri Ieftine<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/178a1db3cf49b5ff73a0c9101ab3845c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Alex este specialist \u00een baze de date \u0219i sisteme de stocare \u0219i, ceea ce este cel mai important pentru noi \u2014 comitter la <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Apache_Cassandra\">Cassandra<\/a><\/noindex>. \u00cempreun\u0103 cu O'Reilly, el lucreaz\u0103 acum la cartea Database Internals.<\/p>\n<p><\/p>\n<p>Pentru sistemele cu <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Eventual_consistency\">consisten\u021b\u0103 eventual\u0103<\/a><\/noindex> (\u00een terminologia rom\u00e2neasc\u0103 \u2014 \u201econsisten\u021b\u0103 \u00een cele din urm\u0103\u201d), dup\u0103 o c\u0103dere a unui nod sau o divizare a re\u021belei, trebuie s\u0103 rezolv\u0103m urm\u0103toarea dilem\u0103: fie continu\u0103m s\u0103 execut\u0103m cereri, sacrific\u00e2nd consisten\u021ba, fie refuz\u0103m s\u0103 le execut\u0103m \u0219i sacrific\u0103m disponibilitatea. \u00centr-un astfel de sistem, cvorumurile, submul\u021bimi suprapuse de noduri care garanteaz\u0103 c\u0103 cel pu\u021bin un nod va con\u021bine cea mai recent\u0103 valoare, pot fi o bun\u0103 solu\u021bie de compromis. Se pot suporta defec\u021biuni \u0219i pierderi de conexiune c\u0103tre anumite noduri, continu\u00e2nd s\u0103 r\u0103spundem cu cele mai recente valori.<\/p>\n<p><\/p>\n<p>Cu toate acestea, totul are un pre\u021b. Schema de replicare cu cvorum \u00eenseamn\u0103 costuri de stocare crescute: este necesar s\u0103 se stocheze date redundante pe mai multe noduri simultan pentru a garanta un num\u0103r suficient de copii disponibile \u00een momentul apari\u021biei unei probleme. Se pare c\u0103 nu trebuie s\u0103 stoc\u0103m toate datele pe toate replicile. Poate fi redus\u0103 sarcina pe stocare dac\u0103 p\u0103str\u0103m datele doar pe o parte din noduri, iar pentru scenariile de gestionare a defec\u021biunilor s\u0103 folosim noduri speciale (Replica Tranzitorie).<\/p>\n<p><\/p>\n<p>Pe parcursul lucr\u0103rii, vom analiza <noindex><a rel=\"nofollow\" href=\"http:\/\/citeseerx.ist.psu.edu\/viewdoc\/download?doi=10.1.1.146.3429&amp;rep=rep1&amp;type=pdf\">Replicas Martor<\/a><\/noindex>, schema de replicare utilizat\u0103 \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Spanner_(database)\">Spanner<\/a><\/noindex> \u0219i <noindex><a rel=\"nofollow\" href=\"http:\/\/cidrdb.org\/cidr2011\/Papers\/CIDR11_Paper32.pdf\">Megastore<\/a><\/noindex>, \u0219i implementarea acestei concepte \u00een Apache Cassandra sub denumirile <noindex><a rel=\"nofollow\" href=\"https:\/\/jira.apache.org\/jira\/browse\/CASSANDRA-14404?subTaskView=all\">Replicare Tranzitorie &amp; Cvorumuri Ieftine<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"dmitriy-vyukov---goroutines-exposedhttpshydraconfru2019talks7336ginp0kke7n4yxxjvldutm_sourcehabrutm_medium453832\">Dmitry Vyukov \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/7336ginp0kke7n4yxxjvld\/?utm_source=habr&amp;utm_medium=453832\">Goroutines expuse<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/94ce38f8cc366bbd2ee53b9636e4650d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Dmitrie este un dezvoltator la Google, lucr\u00e2nd la testarea dinamic\u0103 C\/C++ \u0219i Go \u2014 Address\/Memory\/ThreadSanitizer, \u0219i la instrumente similare pentru nucleul Linux. A contribuit la Go un planificator scalabil de goroutines, un poller de re\u021bea \u0219i un colector de gunoi paralel. Este expert \u00een programarea multi-thread \u0219i autorul a zeci de algoritmi non-blocan\u021bi \u0219i este de\u021bin\u0103torul <noindex><a rel=\"nofollow\" href=\"https:\/\/software.intel.com\/en-us\/blackbelt\">Centurii Negre<\/a><\/noindex> Intel.<\/p>\n<p><\/p>\n<p>Acum, s\u0103 vorbim pu\u021bin despre prezentare. Limbajul Go are suport nativ pentru programarea multi-thread sub forma goroutine-urilor (thread-uri u\u0219oare) \u0219i canalelor (cozi FIFO). Datorit\u0103 acestor mecanisme, utilizatorilor le este foarte u\u0219or \u0219i pl\u0103cut s\u0103 scrie aplica\u021bii moderne multi-thread, iar aceast\u0103 experien\u021b\u0103 pare magic\u0103. Dup\u0103 cum \u00een\u021belegem, nu exist\u0103 nicio magie aici. \u00cen aceast\u0103 prezentare, Dmitrie va explora subtilit\u0103\u021bile func\u021bion\u0103rii planificatorului Go \u0219i va revela secretele implement\u0103rii acestei \u201emagii\u201d. \u00cen primul r\u00e2nd, va oferi o privire de ansamblu asupra componentelor de baz\u0103 ale planificatorului \u0219i va explica cum func\u021bioneaz\u0103. Apoi, ne vom familiariza mai \u00eendeaproape cu aspecte specifice precum strategia de parcare\/deparcare \u0219i gestionarea apelurilor sistemului blocante. \u00cen cele din urm\u0103, Dmitrie va discuta despre posibile \u00eembun\u0103t\u0103\u021biri ale planificatorului.<\/p>\n<p><\/p>\n<h3 id=\"dmitriy-bugaychenko---uskoryaem-raspredelennyy-analiz-grafov-s-pomoschyu-veroyatnostnyh-sketchey-i-ne-tolkohttpshydraconfru2019talks1po7b00j6m4vst3df7aqtoutm_sourcehabrutm_medium453832\">Dmitrie Bugaychenko \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1po7b00j6m4vst3df7aqto\/?utm_source=habr&amp;utm_medium=453832\">Accelerarea analizei distribuite a graficelor folosind schi\u021be probabilistice \u0219i nu numai<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/f963ef8ac1a37011aa387016dc938b3c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Dmitrie a lucrat aproape 9 ani \u00een outsourcing, f\u0103r\u0103 a pierde leg\u0103tura cu universitatea \u0219i mediul academic. Analiza datelor mari \u00een Odnoklassniki i-a oferit o oportunitate unic\u0103 de a combina preg\u0103tirea teoretic\u0103 \u0219i funda\u021bia \u0219tiin\u021bific\u0103 cu dezvoltarea de produse reale, c\u0103utate.<\/p>\n<p><\/p>\n<p>Analiza distribuit\u0103 a graficelor a fost \u0219i r\u0103m\u00e2ne o provocare complex\u0103: atunci c\u00e2nd apare necesitatea de a ob\u021bine informa\u021bii despre leg\u0103turile unei v\u00e2rfuri adiacente, datele trebuie adesea transferate \u00eentre ma\u0219ini, ceea ce duce la cre\u0219terea timpului de execu\u021bie \u0219i la o \u00eenc\u0103rcare suplimentar\u0103 a infrastructurii de re\u021bea. \u00cen aceast\u0103 prezentare, vom vedea cum se poate ob\u021bine o accelerare semnificativ\u0103 a proces\u0103rii, utiliz\u00e2nd structuri de date probabiliste sau fapte precum simetria graficului de prietenie \u00een re\u021bele sociale. Totul va fi ilustrat prin exemple de cod pe Apache Spark.<\/p>\n<p><\/p>\n<h3 id=\"denis-ryscov--reduce-your-storage-costs-with-transient-replication-and-cheap-quorumshttpshydraconfru2019talks5e3yibth8vha0jbyoywpm6utm_sourcehabrutm_medium453832\">Denis R\u00eescov \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/5e3yibth8vha0jbyoywpm6\/?utm_source=habr&amp;utm_medium=453832\">Reduce\u021bi costurile de stocare cu Replicarea Tranzitorie \u0219i Cvorumuri Ieftine<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/700bfb1a35280932f654a9c34413e2d4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Denis este dezvoltator <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Cosmos_DB\">Cosmos DB<\/a><\/noindex>, expert \u00een verificarea modelelor de consisten\u021b\u0103, \u00een algoritmi de consens \u0219i \u00een tranzac\u021bii distribuite. Acum lucreaz\u0103 la Microsoft, iar anterior s-a ocupat de sisteme distribuite la Amazon \u0219i Yandex.<\/p>\n<p><\/p>\n<p>\u00cen aceast\u0103 prezentare, ne vom familiariza cu protocoalele de tranzac\u021bii distribuite, inventate \u00een ultimii c\u00e2\u021biva ani, care pot fi implementate pe partea clientului deasupra oric\u0103rui sistem de stocare de date care suport\u0103 actualizarea condi\u021bionat\u0103 (compare and set). Ideea este c\u0103 via\u021ba nu se termin\u0103 cu comiterea \u00een dou\u0103 faze; tranzac\u021biile pot fi ad\u0103ugate deasupra oric\u0103ror baze de date \u2014 la nivel de aplica\u021bie, dar diferitele protocoale (2PC, Percolator, RAMP) au trade-off-uri diferite \u0219i nu sunt oferite gratuit.<\/p>\n<p><\/p>\n<h3 id=\"aleksey-zinovev--ne-vse-ml-algoritmy-popadayut-v-raspredelennyy-rayhttpshydraconfru2019talks3jd0bgsoa0qtcijgblidjsutm_sourcehabrutm_medium453832\">Alexei Zinoviev \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/3jd0bgsoa0qtcijgblidjs\/?utm_source=habr&amp;utm_medium=453832\">Nu toate algoritmii ML ajung \u00een raiul distribuit<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/eb412d59dec5dcc4a04f603b32d12575.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Alexei (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/zaleslaw\/\" class=\"user_link\">zaleslaw<\/a><\/noindex>) \u2014 este un speaker de mult\u0103 vreme \u0219i membru al comitetelor programului la alte conferin\u021be. Este trainer practic la compania EPAM Systems \u0219i colaboreaz\u0103 cu Hadoop\/Spark \u0219i alte tehnologii Big Data din 2012.<\/p>\n<p><\/p>\n<p>\u00cen aceast\u0103 prezentare, Alexei va vorbi despre problemele de adaptare a algoritmilor clasici de \u00eenv\u0103\u021bare automat\u0103 pentru a func\u021biona \u00een mod distribuit, pe baza experien\u021bei sale cu Apache Spark ML, Apache Mahout, Apache Flink ML \u0219i experien\u021ba de implementare a algoritmilor ML distribui\u021bi \u00een aceste cadre.<\/p>\n<p><\/p>\n<p>\u0218i, \u00een final, dou\u0103 prezent\u0103ri de la compania Yandex despre Yandex Database.<\/p>\n<p><\/p>\n<h3 id=\"vladislav-kuznecov--yandex-database--kak-my-obespechivaem-otkazoustoychivosthttpshydraconfru2019talksmuxomfgqembsb3st7i3ciutm_sourcehabrutm_medium453832\">Vladislav Kuznetsov \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/muxomfgqembsb3st7i3ci\/?utm_source=habr&amp;utm_medium=453832\">Yandex Database \u2014 cum asigur\u0103m disponibilitatea<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/3bdb3bec0ec0eb71db373e85afad6260.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Vladislav este dezvoltator la Yandex \u00een grupul platformei distribuite. Yandex Database este un sistem de baze de date georepartizate scalabile orizontal \u0219i rezistente la erori, care poate rezista la e\u0219ecul discurilor, serverelor, rack-urilor \u0219i centrelor de date f\u0103r\u0103 a pierde consisten\u021ba. Pentru a asigura rezisten\u021ba la erori, se aplic\u0103 un algoritm propriu pentru atingerea consensului distribuit, precum \u0219i o serie de solu\u021bii tehnice, care sunt prezentate \u00een detaliu \u00een prezentare. Prezentarea poate fi interesant\u0103 at\u00e2t pentru dezvoltatorii de baze de date, c\u00e2t \u0219i pentru dezvoltatorii de solu\u021bii aplicative bazate pe baze de date.<br clear=\"all\">\n<\/p>\n<p><\/p>\n<h3 id=\"semen-checherinda--raspredelennye-tranzakcii-v-ydbhttpshydraconfru2019talks3ubxfwi4ikpxdjcdqswjihutm_sourcehabrutm_medium453832\">Semyon Checherinda \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/3ubxfwi4ikpxdjcdqswjih\/?utm_source=habr&amp;utm_medium=453832\">Tranzac\u021bii distribuite \u00een YDB<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 capete ale hidrei. O prezentare general\u0103 mare a programului\" src=\"\/wp-content\/uploads\/2019\/06\/0cf2b40fcabfba1a774f00c9f245b8f1.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Semyon este dezvoltator \u00een grupul platformei distribuite la Yandex, lucr\u00e2nd la posibilitatea de utilizare multi-\u00eenchiriere a instal\u0103rii YDB.<\/p>\n<p><\/p>\n<p>Baza de date Yandex este conceput\u0103 pentru interog\u0103ri OLTP \u0219i respect\u0103 cerin\u021bele ACID pentru sistemele tranzac\u021bionale. \u00cen prezentare, vom analiza algoritmul de planificare a tranzac\u021biilor care st\u0103 la baza sistemului tranzac\u021bional YDB. Vom discuta despre entit\u0103\u021bile implicate \u00een tranzac\u021bii, cine atribuie tranzac\u021biilor un ordin global, cum se realizeaz\u0103 atomicitatea tranzac\u021biilor, fiabilitatea \u0219i nivelul strict de izolare. Pe baza unei probleme comune, vom examina implement\u0103rile tranzac\u021biilor folosind commit-uri \u00een dou\u0103 faze \u0219i tranzac\u021bii deterministe. Vom discuta diferen\u021bele dintre acestea.<\/p>\n<p><\/p>\n<h2 id=\"chto-dalshe\">Ce urmeaz\u0103?<\/h2>\n<p><\/p>\n<p>Programul conferin\u021bei continu\u0103 s\u0103 fie completat cu noi prezent\u0103ri. \u00cen special, a\u0219tept\u0103m o prezentare de la <strong>Nikita Koval<\/strong> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/ndkoval\/\" class=\"user_link\">ndkoval<\/a><\/noindex>) de la JetBrains \u0219i <strong>Oleg Anastasiev<\/strong> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/m0nstermind\/\" class=\"user_link\">m0nstermind<\/a><\/noindex>) de la compania Odnoklassniki. Nikita se ocup\u0103 cu algoritmi pentru coroutine \u00een echipa Kotlin, iar Oleg dezvolt\u0103 arhitectura \u0219i solu\u021biile pentru sistemele cu \u00eenc\u0103rcare mare pe platforma companiei Odnoklassniki. \u00cen plus, mai exist\u0103 un slot condi\u021bionat liber, cu candida\u021bi pentru care comitetul programului lucreaz\u0103 \u00een prezent.<\/p>\n<p><\/p>\n<p>Conferin\u021ba Hydra va avea loc pe 11-12 iulie \u00een Sankt Petersburg. Biletele pot fi <noindex>cump\u0103rate de pe site-ul oficial<\/noindex>. V\u0103 atragem aten\u021bia asupra disponibilit\u0103\u021bii biletelor online \u2014 dac\u0103 din anumite motive nu pute\u021bi ajunge fizic \u00een Petersburg \u00een aceste zile.<\/p>\n<p><\/p>\n<p>Ne vedem la Hydra!<\/p>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/453832\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>11-12 \u0438\u044e\u043b\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f Hydra, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0424\u0438\u0448\u043a\u0430 \u0413\u0438\u0434\u0440\u044b \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0430 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u043a\u0440\u0443\u0442\u044b\u0445 \u0443\u0447\u0451\u043d\u044b\u0445 (\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0431\u044b\u0447\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0437\u0430\u0440\u0443\u0431\u0435\u0436\u043d\u044b\u0445 \u043d\u0430\u0443\u0447\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f\u0445) \u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443\u044e\u0449\u0438\u0445 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432, \u0432 \u043e\u0434\u043d\u0443 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 \u0441\u0442\u044b\u043a\u0435 \u043d\u0430\u0443\u043a\u0438 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438. Hydra \u2014 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0432\u0430\u0436\u043d\u044b\u0445 \u043d\u0430\u0448\u0438\u0445 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26388,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35091","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.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"11-12 \u0438\u044e\u043b\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f Hydra, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445.\" \/>\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\/ro\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\udd4719 \u0433\u043e\u043b\u043e\u0432 \u0433\u0438\u0434\u0440\u044b. \u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u0437\u043e\u0440 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"11-12 \u0438\u044e\u043b\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f Hydra, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy\" \/>\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-10-31T19:02:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:02:18+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\udd4719 capete de hidr\u0103. O revizuire extins\u0103 a programului | ProHoster","description":"Pe 11-12 iulie, conferin\u021ba Hydra, dedicat\u0103 dezvolt\u0103rii sistemelor paralele \u0219i distribuite, va avea loc \u00een Sankt Petersburg.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\udd4719 \u0433\u043e\u043b\u043e\u0432 \u0433\u0438\u0434\u0440\u044b. \u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u0437\u043e\u0440 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b | ProHoster","og:description":"11-12 \u0438\u044e\u043b\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f Hydra, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","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-10-31T19:02:18+00:00","article:modified_time":"2019-10-31T19:02:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35091","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-21 21:48:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:10:27","updated":"2026-01-21 21:48:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/35091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=35091"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/35091\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/26388"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=35091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=35091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=35091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}