19 hydra hláv. Skvelý prehľad o programe

V dňoch 11. – 12. júla sa v Petrohrade uskutoční konferencia Hydra, ktorá sa venuje vývoju paralelných a distribuovaných systémov. Trik Hydry je v tom, že spája skvelých vedcov (ktorých možno zvyčajne nájsť len na zahraničných vedeckých konferenciách) a slávnych praktizujúcich inžinierov do jedného veľkého programu na priesečníku vedy a praxe.

Hydra je jednou z našich najdôležitejších konferencií za posledných pár rokov. Predchádzala tomu veľmi seriózna príprava, výber rečníkov a reportáže. Minulý týždeň o tom habro rozhovor vyšiel s riaditeľom skupiny JUG.ru, Alexejom Fedorovom (23derevo).

My už povedané o troch významných účastníkoch, zakladateľoch teórie distribuovaných systémov – Leslie Lamport, Maurice Herlihy a Michael Scott. Je čas porozprávať sa podrobnejšie o celom programe!

19 hydra hláv. Skvelý prehľad o programe

Motivácia

Ak sa zaoberáte programovaním, tak či onak máte čo do činenia s multithreadingom a distribuovaným výpočtom. Odborníci v príslušných oblastiach s nimi pracujú priamo, ale distribúcia sa na nás implicitne pozerá odkiaľkoľvek: v každom viacjadrovom počítači alebo distribuovanej službe je niečo, čo vykonáva výpočty paralelne.

Existuje mnoho konferencií, ktoré pokrývajú rôzne aspekty programovania aplikácií. Na druhej strane spektra máme špecializované vedecké školy, ktoré vo forme prednášok odhaľujú obrovské množstvo komplexnej teórie. Napríklad paralelne s Hydra v Petrohrade existuje škola SPTDC. Na konferencii Hydra sme sa pokúsili spojiť drsnú prax, vedu a všetko v ich priesečníku.

Zamyslite sa nad týmto: žijeme v úžasnej dobe, kedy môžete naživo stretnúť zakladateľov oblasti vedy a techniky, ktorú študujeme. Fyzici nestretnú ani Newtona, ani Einsteina – vlak odišiel. Vedľa nás však stále žijú tí, ktorí vytvorili základy teórie distribuovaných systémov, vynašli populárne programovacie jazyky a po prvýkrát to všetko zhmotnili do fungujúcich prototypov. Títo ľudia neodišli zo zamestnania na polceste, práve teraz pracujú na naliehavých problémoch na svetovo uznávaných univerzitách a vo firmách a sú dnes najväčším zdrojom vedomostí a skúseností.

Na druhej strane, možnosť stretnúť sa s nimi väčšinou zostáva čisto teoretická: málokto z nás dokáže neustále sledovať verejné dianie na nejakej univerzite v Rochestri a potom sa ponáhľať do USA a späť na prednášku s Michaelom Scottom. Návšteva všetkých členov Hydry by stála malý majetok, nerátajúc priepasť strateného času (aj keď to znie ako zaujímavý quest).

Na druhej strane máme veľa špičkových inžinierov, ktorí práve teraz pracujú na naliehavých problémoch v distribuovaných systémoch a rozhodne majú čo povedať. Ale tu je problém - oni pracujúa ich čas je cenný. Áno, ak ste zamestnancom Microsoftu, Google alebo JetBrains, pravdepodobnosť, že stretnete niektorého zo známych rečníkov na internom podujatí, prudko stúpa, ale vo všeobecnosti nie, to sa nestáva každý deň.

Konferencia Hydra tak plní dôležitú úlohu, ktorú väčšina z nás sama nezvládne – na jednom mieste a v jednom čase spája ľudí, ktorých nápady alebo interakcie môžu zmeniť váš život. Priznám sa, že nie každý potrebuje distribuované systémy alebo nejaké zložité zásadné veci. Môžete programovať CRUD v PHP po zvyšok svojho života a zostať úplne šťastní. Ale kto to potrebuje, toto je vaša šanca.

Od prvého ohlásenia konferencie Hydra o Habré ubehla už pomerne dlhá doba. Počas tejto doby sa urobilo veľa práce - a teraz máme zoznam takmer všetkých správ. Žiadne pomalé jednovláknové algoritmy, len čistý distribuovaný hardcore! Skončime všeobecnými slovami a uvidíme, čo máme teraz v rukách.

Hlavné poznámky

Kľúčové slová začínajú a končia dni konferencie. Cieľom úvodného kľúčového prejavu je zvyčajne určiť všeobecného ducha a smerovanie konferencie. Záverečný prejav načrtáva čiaru a vysvetľuje, ako môžeme žiť so znalosťami a zručnosťami získanými počas konferencie. Začiatok a koniec: to, čo sa najlepšie zapamätá a vo všeobecnosti, má väčší význam.

Cliff Click H2O distribuovaný K/V algoritmus

19 hydra hláv. Skvelý prehľad o programe Cliff je legendou vo svete Java. Koncom 90. rokov pre svoju dizertačnú prácu napísal prácu s názvom "Kombinovanie analýz, kombinovanie optimalizácií", ktorý sa o niečo neskôr stal základom pre HotSpot JVM Server Compiler. O dva roky neskôr už pracoval v Sun Microsystems na JVM a ukázal celému svetu, že JIT má právo na existenciu. Celý tento príbeh o tom, ako je Java jedným z najrýchlejších moderných runtime s najinteligentnejšími a najrýchlejšími optimalizáciami, pochádza od Cliff Click. Na samom začiatku sa verilo, že ak je niečo dostupné pre statický kompilátor, nemusíte sa to ani pokúšať jut. Vďaka práci Cliffa a tímu sa všetky nové jazyky začali vytvárať štandardne s myšlienkou kompilácie JIT. Samozrejme, nešlo o prácu jedného muža, no Cliff v nej zohral veľmi dôležitú úlohu.

V úvodnej keynote bude Cliff hovoriť o svojom ďalšom úsilí - H20, in-memory platforma pre distribuované a škálovateľné strojové učenie pre priemyselné aplikácie. Presnejšie povedané, o distribuovanom ukladaní párov kľúč – hodnota v jeho vnútri. Ide o veľmi rýchle úložisko s množstvom zaujímavých vlastností (presný zoznam je v popis), ktoré umožňujú použitie podobných riešení v matematike streamovania veľkých dát.

Ďalšia správa, ktorú Cliff poskytne, je - Skúsenosti s hardvérovou transakčnou pamäťou Azul. Ďalšia časť jeho životopisu - desať rokov práca v Azul, kde aktualizoval a vylepšil veľa vecí v zásobníku hardvéru a technológie Azul: kompilátory JIT, runtime, model vlákien, spracovanie chýb, spracovanie zásobníka, prerušenia hardvéru, načítanie tried atď. nápad.

Najzaujímavejšia časť začala, keď vyrobili hardvér pre veľkú firmu – superpočítač na spustenie Javy. Bola to dosť inovatívna vec, ušitá špeciálne pre Javu, ktorá má špeciálne požiadavky – čítacie pamäťové bariéry pre low-pause garbage collection, polia s bounds checkingom, virtuálne volania... Jednou z najvychytenejších technológií je hardvérová transakčná pamäť. Celá L1 ktoréhokoľvek z 864 jadier by sa mohla podieľať na transakčnom zápise, čo je dôležité najmä pre prácu so zámkami v Jave (synchronizované bloky môžu pracovať paralelne, pokiaľ nedôjde k skutočnému konfliktu pamäte). Krásnu myšlienku však rozdrvila krutá realita – a v tejto prednáške vám Cliff povie, prečo HTM a STM nie sú príliš vhodné pre praktické potreby viacvláknových výpočtov.

Michael Scott - Duálne dátové štruktúry

19 hydra hláv. Skvelý prehľad o programe Michael Scott - profesor informatiky na univerzite v Rochesteri, s ktorým ho spojil osud už 34 rokova na svojej domovskej Univerzite Wisconsin-Madison bol päť rokov dekanom. Skúma a učí študentov o paralelnom a distribuovanom programovaní a dizajne jazykov.

Michaela pozná vďaka učebnici celý svet "Pragmatika programovacieho jazyka", ktorej posledné vydanie vyšlo pomerne nedávno - v roku 2015. Jeho práca "Algoritmy pre škálovateľnú synchronizáciu na multiprocesoroch so zdieľanou pamäťou" dostal som Cena Dijkstra ako jeden z najznámejších v oblasti distribuovaných výpočtov a otvorene ležať v Online knižnici University of Rochester. Môžete ho poznať aj ako autora samotného algoritmu Michaela-Scotta z r „Jednoduché, rýchle a praktické algoritmy neblokovania a blokovania súbežných front“.

Čo sa týka sveta Java, toto je špeciálny prípad: spolu s Dougom Lea vyvinul neblokovacie algoritmy a synchrónne fronty, na ktorých pracujú knižnice Java. Presne o tom bude kľúčová poznámka „Duálne dátové štruktúry“ – zavedenie týchto štruktúr v Java SE 6 zvýšilo výkon 10-krát java.util.concurrent.ThreadPoolExecutor. Ak vás vopred zaujíma, čo sú tieto „duálne dátové štruktúry“, potom sú o tom informácie súvisiaca práca.

Maurice Herlihy - Blockchainy a budúcnosť distribuovaných počítačov

19 hydra hláv. Skvelý prehľad o programe Maurice Herlihy - víťaz dvoch cien Dijkstra. Prvý je určený na prácu "Synchronizácia bez čakania" (Brown University) a druhý, novší - "Transakčná pamäť: Architektonická podpora pre dátové štruktúry bez uzamknutia" (Virginia Tech University). Cena Dijkstra oceňuje prácu, ktorej význam a vplyv je viditeľný už najmenej desať rokov a Maurice je jednoznačne jedným z najrenomovanejších odborníkov v tejto oblasti. V súčasnosti pôsobí ako profesor na Brown University a má za sebou dlhý zoznam úspechov.

V tejto záverečnej keynote bude Maurice hovoriť o teórii a praxi blockchainových distribuovaných systémov z pohľadu klasiky distribuovaných výpočtov a o tom, ako zjednodušuje mnohé súvisiace problémy. Toto je správa výlučne na tému konferencie – vôbec nejde o ťažobný humbuk, ale skôr o to, ako sa dajú naše znalosti úžasne efektívne a vhodne využiť vo vzťahu k rôznym úlohám.

V júli 2017 už Maurice prišiel do Ruska na školu SPTDC, zúčastnil sa stretnutia JUG.ru a záznam si môžete pozrieť na YouTube:

Hlavný program

Ďalej bude uvedený krátky prehľad správ zahrnutých v programe. Niektoré správy sú tu popísané podrobne, iné stručnejšie. Dlhé popisy sa týkali hlavne správ v anglickom jazyku, ktoré vyžadovali odkazy na vedecké práce, výrazy na Wikipédii atď. K dispozícii je celý zoznam nájdete na stránke konferencie. Zoznam na webovej stránke bude aktualizovaný a dopĺňaný.

Leslie Lamport - Otázky a odpovede

19 hydra hláv. Skvelý prehľad o programe Leslie Lamport je autorom kľúčových diel v oblasti distribuovaných počítačov. "LaTeX" znamená "Lamport TeX". Bol to on, kto ako prvý, už v roku 1979, predstavil tento koncept konzistentná konzistenciaa jeho článok „Ako vyrobiť viacprocesorový počítač, ktorý správne vykonáva viacprocesové programy“ získal Dijkstrovu cenu.

Ide o formátovo najneobvyklejšiu časť programu, pretože nejde ani o správu, ale o reláciu otázok a odpovedí. Keď už značná časť publika pozná (alebo sa môže zoznámiť) so všetkými druhmi diel založených na „Lamportovej teórii“, jeho vlastnými článkami a správami, je dôležitejšie venovať všetok dostupný čas priamej komunikácii.

Myšlienka je jednoduchá – na YouTube si pozriete dve reportáže: "Programovanie by malo byť viac ako kódovanie" и „Ak nepíšete program, nepoužívajte programovací jazyk“ a pripravte si aspoň jednu otázku a Leslie odpovie.

Prvé z týchto dvoch videí už máme zmenil na habro článok. Ak nemáte na pozeranie videa hodinu času, môžete si ho celé rýchlo prečítať v textovej podobe.

Poznámka: Na YouTube je oveľa viac videí Leslie Lamport. Napríklad je tu výborná Kurz TLA+. Offline verzia celého tohto kurzu je dostupná na domovská stránka autoraa nahral ho na YouTube, aby si ho ľahšie prezerali na mobilných zariadeniach.

Martin Kleppmann - Synchronizácia údajov medzi používateľskými zariadeniami pre distribuovanú spoluprácu

19 hydra hláv. Skvelý prehľad o programe Martin Kleppmann je výskumník na University of Cambridge, ktorý sa zaoberá CRDT a formálnym overovaním algoritmov. Martinova kniha "Navrhovanie dátovo náročných aplikácií", vydaný v roku 2017, sa ukázal ako veľmi úspešný a dostal sa na zoznamy bestsellerov v oblasti ukladania a spracovania dát. Kevin Scott, technický riaditeľ spoločnosti Microsoft, raz povedal: „Táto kniha by mala byť nevyhnutnosťou pre softvérových inžinierov. Ide o vzácny zdroj, ktorý spája teóriu a prax, aby pomohol vývojárom byť inteligentnejšími pri navrhovaní a implementácii infraštruktúry a dátových systémov.“ Tvorca Kafka a CTO Confluentu Jay Kreps povedal niečo podobné.

Pred prechodom na akademický výskum pracoval Martin v priemysle a spoluzakladal dva úspešné start-upy:

  • Rapportive, venovaný zobrazovaniu sociálneho profilu kontaktov z vášho e-mailu, ktorý LinkedIn kúpil v roku 2012;
  • Go Test It, služba na automatické testovanie webových stránok v rôznych prehliadačoch, ktorú RedGate kúpil v roku 2009.

Vo všeobecnosti, Martin, aj keď je menej známy ako naše hlavné prejavy, už dokázal do určitej miery prispieť k rozvoju distribuovaných počítačov a priemyslu.

V tejto prednáške bude Martin hovoriť o téme, ktorá je bližšia jeho akademickému výskumu. V Dokumentoch Google a podobných pohovkách na spoločnú úpravu dokumentov sa „spoločná úprava“ vzťahuje na úlohu replikácie: každý používateľ má svoju vlastnú repliku zdieľaného dokumentu, ktorú potom upraví, a všetky zmeny sa odošlú cez sieť do zvyšku účastníkov. Zmeny dokumentov offline vedú k dočasnej nekonzistencii dokumentu vo vzťahu k ostatným účastníkom a opätovná synchronizácia vyžaduje riešenie konfliktov. Presne na to existujú Bezkonfliktné replikované dátové typy (CRDT) je v skutočnosti celkom nová vec, ktorej podstata bola sformulovaná až v roku 2011. Táto prednáška pojednáva o tom, čo sa odvtedy udialo vo svete CRDT, aké sú najnovšie pokroky, všeobecne prístup k vytváraniu lokálnych aplikácií a používanie knižnice s otvoreným zdrojovým kódom. Automerge najmä.

Budúci týždeň zverejníme na Habré dlhý rozhovor s Martinom, bude to zaujímavé.

Pedro Ramalhete - Dátové štruktúry bez čakania a transakcie bez čakania

19 hydra hláv. Skvelý prehľad o programe Pedro pracuje v spoločnosti Cisco a posledných približne desať rokov vyvíja paralelné algoritmy vrátane synchronizačných mechanizmov, dátových štruktúr bez zámku a bez čakania a všetkého, čo si na túto tému dokážete predstaviť. Jeho súčasné výskumné a inžinierske záujmy sa zameriavajú na univerzálne konštrukcie, softvérovú transakčnú pamäť, perzistentnú pamäť a podobné technológie, ktoré umožňujú správne, škálovateľné a chybám odolné aplikácie. Je tiež autorom blogu široko známeho v úzkych kruhoch Súbežní šialenci.

Väčšina viacvláknových aplikácií teraz beží na paralelných dátových štruktúrach, od používania frontov správ medzi aktérmi až po indexované dátové štruktúry v skladoch kľúč-hodnota. Dlhé roky úspešne fungujú v Java JDK a pomaly sa pridávajú aj do C++.

Najjednoduchším spôsobom implementácie paralelnej dátovej štruktúry je sekvenčná (jednovláknová) implementácia, v ktorej sú metódy chránené mutexmi. Toto je prístupné každému júnu, ale má zjavné problémy s škálovaním a výkonom. Dátové štruktúry bez zámkov a bez čakania si zároveň lepšie poradia s chybami, ale majú aj lepší výkonnostný profil – ich vývoj si však vyžaduje hlbokú odbornosť a prispôsobenie konkrétnej aplikácii. Jeden nesprávny riadok kódu stačí na prelomenie všetkého.

Ako to urobiť, aby takéto dátové štruktúry dokázal navrhnúť a implementovať aj laik? Je známe, že každý sekvenčný algoritmus môže byť bezpečný pre vlákna pomocou jedného z nich univerzálny dizajnalebo transakčná pamäť. Jednak môžu znížiť bariéru vstupu do riešenia tohto problému. Obe riešenia však zvyčajne vedú k neúčinnej implementácii. Pedro bude hovoriť o tom, ako sa im podarilo tieto návrhy zefektívniť a ako ich môžete použiť pre svoje algoritmy.

Heidi Howard - Oslobodenie distribuovaného konsenzu

19 hydra hláv. Skvelý prehľad o programe Heidi Howard je rovnako ako Martin výskumníčkou distribuovaných systémov na univerzite v Cambridge. Jej špecialitou sú konzistentnosť, tolerancia chýb, výkon a distribuovaný konsenzus. Je známa najmä vďaka zovšeobecneniu algoritmu Paxos, tzv Flexibilný Paxos.

Pripomeňme si, že paxos je rodina protokolov na riešenie problému konsenzu v sieti nespoľahlivých počítačov, založených na práci Leslie Lamport. Niektorí z našich rečníkov teda pracujú na problémoch, ktoré pôvodne navrhli naši ďalší rečníci – a to je úžasné.

Schopnosť nájsť konsenzus medzi viacerými hostiteľmi – na oslovovanie, voľbu lídra, blokovanie alebo koordináciu – je základnou otázkou v moderných distribuovaných systémoch. Paxos je teraz hlavným spôsobom riešenia problémov konsenzu a okolo neho prebieha množstvo výskumov na rozšírenie a optimalizáciu algoritmu pre rôzne praktické potreby.

V tejto prednáške sa vrátime k teoretickým základom Paxos, uvoľníme pôvodné požiadavky a zovšeobecníme algoritmus. Uvidíme, že Paxos je v podstate len jednou z možností medzi obrovským rozsahom konsenzuálnych prístupov a že ďalšie body v spektre sú tiež veľmi užitočné na budovanie dobrých distribuovaných systémov.

Alex Petrov — Znížte svoje náklady na ukladanie pomocou prechodnej replikácie a lacných kvór

19 hydra hláv. Skvelý prehľad o programe Alex je špecialista na databázové a úložné systémy, a čo je pre nás dôležitejšie, je zadávateľom Cassandra. V súčasnosti pracuje na knihe Database Internals s O'Reillym.

Pre systémy s prípadná konzistencia (v ruskej terminológii - „konečná konzistencia“), po páde uzla alebo rozdelení siete musíte vyriešiť nasledujúcu dilemu: buď pokračovať vo vykonávaní požiadaviek, obetovať konzistenciu, alebo ich odmietnuť vykonať a obetovať dostupnosť. V takomto systéme môžu byť dobrým okrajovým riešením kvóra, prekrývajúce sa podmnožiny uzlov a zabezpečenie toho, že aspoň jeden uzol obsahuje najnovšiu hodnotu. Môžete prežiť zlyhania a stratu pripojenia k niektorým uzlom, pričom budete stále reagovať s najnovšími hodnotami.

Všetko má však svoju cenu. Schéma replikácie kvóra znamená zvýšené náklady na ukladanie: redundantné údaje musia byť uložené na viacerých uzloch naraz, aby sa zabezpečilo, že v prípade problému bude k dispozícii dostatok kópií. Ukazuje sa, že nemusíte ukladať všetky údaje na všetkých replikách. Zaťaženie úložného priestoru môžete znížiť, ak ukladáte údaje len na časti uzlov a na scenáre riešenia porúch použijete špeciálne uzly (Transient Replica).

V priebehu správy zvážime Svedecké repliky, schéma replikácie použitá v kľúč и Megaobchod, a implementáciu tohto konceptu v Apache nazýva Cassandra Prechodná replikácia a lacné kvóra.

Dmitrij Vyukov - Goroutíny odhalené

19 hydra hláv. Skvelý prehľad o programe Dmitry je vývojár v spoločnosti Google, ktorý pracuje na dynamickom testovaní pre C/C++ a Go – Address/Memory/ThreadSanitizer a podobné nástroje pre jadro Linuxu. Prispel k Go škálovateľnému goroutine plánovaču, sieťovému prieskumníkovi a paralelnému zberaču odpadu. Je odborníkom na multithreading, autorom tuctu nových neblokovacích algoritmov a je vlastníkom Čierny opasok Intel.

Teraz trochu k samotnej správe. Jazyk Go má natívnu podporu pre multithreading vo forme goroutín (ľahké vlákna) a kanálov (FIFO fronty). Tieto mechanizmy veľmi zjednodušujú a spríjemňujú používateľom písanie moderných viacvláknových aplikácií a vyzerá to ako mágia. Ako sme pochopili, nie je tu žiadna mágia. V tejto prednáške sa Dmitry ponorí do zložitosti plánovača Go a ukáže tajomstvá implementácie tejto „kúzla“. Najprv vám poskytne prehľad hlavných komponentov plánovača a povie vám, ako funguje. Ďalej sa bližšie pozrieme na jednotlivé aspekty, ako je stratégia parkovania/odparkovania a vybavovanie volaní systému blokovania. Nakoniec Dmitry trochu porozpráva o možných vylepšeniach plánovača.

Dmitrij Bugaichenko - Zrýchlenie analýzy distribuovaných grafov pomocou pravdepodobnostných náčrtov a ďalších

19 hydra hláv. Skvelý prehľad o programe Dmitry pracoval v oblasti outsourcingu takmer 9 rokov bez toho, aby stratil kontakt s univerzitou a vedeckou komunitou. Analýza veľkých dát v Odnoklassniki sa pre neho stala jedinečnou šancou spojiť teoretickú prípravu a vedecký základ s vývojom skutočných, žiadaných produktov.

Analýza distribuovaných grafov bola a zostáva náročnou úlohou: keď je potrebné získať informácie o spojeniach susedného vrcholu, údaje sa často musia prenášať medzi strojmi, čo vedie k zvýšeniu času vykonávania a zaťaženiu sieťovej infraštruktúry. V tejto prednáške uvidíme, ako môžeme dosiahnuť významné rýchlosti spracovania pomocou pravdepodobnostných dátových štruktúr alebo faktov, ako je symetria grafu priateľstva v sociálnej sieti. To všetko je ilustrované príkladmi kódu v Apache Spark.

Denis Rystsov - Znížte svoje náklady na ukladanie pomocou prechodnej replikácie a lacných kvór

19 hydra hláv. Skvelý prehľad o programe Denis - vývojár Cosmos DB, odborník na kontrolu modelov konzistencie, konsenzuálnych algoritmov a distribuovaných transakcií. V súčasnosti pracuje v Microsofte a predtým pracoval na distribuovaných systémoch v Amazone a Yandex.

V tejto prednáške sa pozrieme na distribuované transakčné protokoly, ktoré boli vynájdené za posledných pár rokov a ktoré je možné implementovať na strane klienta nad ľubovoľné úložisko údajov, ktoré podporuje podmienenú aktualizáciu (porovnať a nastaviť). Pointa je, že život nekončí dvojfázovým odovzdaním, transakcie môžu byť pridané nad akékoľvek databázy - na aplikačnej úrovni, ale rôzne protokoly (2PC, Percolator, RAMP) majú rôzne kompromisy a nie sú nám dané. zadarmo.

Alexey Zinoviev - Nie všetky algoritmy ML sa dostanú do distribuovaného neba

19 hydra hláv. Skvelý prehľad o programe Alexej (zaleslaw) je dlhoročným prednášajúcim a členom programových výborov na iných konferenciách. Praktický tréner v EPAM Systems a od roku 2012 je priateľom s Hadoop/Spark a ďalšími veľkými dátami.

V tejto prednáške bude Alexey hovoriť o problémoch prispôsobovania klasických algoritmov strojového učenia na vykonávanie v distribuovanom režime na základe svojich skúseností s prácou s Apache Spark ML, Apache Mahout, Apache Flink ML a skúseností s vytváraním Apache Ignite ML. Alexey bude hovoriť aj o implementácii distribuovaných algoritmov ML v týchto rámcoch.

A nakoniec dve správy od spoločnosti Yandex o databáze Yandex.

Vladislav Kuznecov - Databáza Yandex - ako zabezpečujeme odolnosť voči chybám

19 hydra hláv. Skvelý prehľad o programe Vladislav je vývojár v spoločnosti Yandex v skupine distribuovaných platforiem. Databáza Yandex je horizontálne škálovateľná, geograficky distribuovaná DBMS odolná voči chybám, ktorá dokáže odolať zlyhaniu diskov, serverov, stojanov a dátových centier bez straty konzistencie. Na zabezpečenie odolnosti voči chybám sa používa vlastný algoritmus na dosiahnutie distribuovaného konsenzu, ako aj množstvo technických riešení, ktoré sú podrobne diskutované v správe. Správa môže byť zaujímavá pre vývojárov DBMS aj vývojárov aplikačných riešení založených na DBMS.

Semyon Checherinda - Distribuované transakcie v YDB

19 hydra hláv. Skvelý prehľad o programe Semyon je vývojár v skupine distribuovaných platforiem v spoločnosti Yandex a pracuje na možnosti použitia inštalácie YDB viacerými nájomníkmi.

Databáza Yandex je navrhnutá pre OLTP dotazy a spĺňa požiadavky ACID pre transakčný systém. V tejto správe sa budeme zaoberať algoritmom plánovania transakcií, ktorý je základom transakčného systému YDB. Pozrime sa, ktoré entity sa zúčastňujú transakcií, kto priraďuje transakciám globálny poriadok, ako sa dosahuje atomicita transakcií, spoľahlivosť a prísna úroveň izolácie. Pomocou bežného problému ako príkladu sa pozrime na implementácie transakcií pomocou dvojfázových odovzdaní a deterministických transakcií. Poďme diskutovať o ich rozdieloch.

Čo bude ďalej?

Program konferencie je naďalej naplnený novými správami. Očakávame najmä správu od Nikita Koval (ndkoval) od JetBrains a Oleg Anastasjev (m0nstermind) od spoločnosti Odnoklassniki. Nikita pracuje na algoritmoch pre korutíny v tíme Kotlin a Oleg vyvíja architektúru a riešenia pre systémy s vysokým zaťažením na platforme Odnoklassniki. Okrem toho je tu ešte 1 podmienečne prázdny slot, programový výbor naň práve pracuje s kandidátmi.

Konferencia Hydra sa uskutoční 11. – 12. júla v Petrohrade. Vstupenky sú dostupné kúpiť na oficiálnej stránke. Venujte prosím pozornosť dostupnosti Online vstupeniek - ak sa z nejakého dôvodu nemôžete v týchto dňoch dostať do Petrohradu.

Vidíme sa na Hydre!

Zdroj: hab.com

Pridať komentár