19 glav hidre. Odličen pregled programa

Konferenca bo potekala 11. in 12. julija v St Hydra, ki se posveča razvoju vzporednih in porazdeljenih sistemov. Trik Hydre je v tem, da združuje kul znanstvenike (ki jih običajno najdemo samo na tujih znanstvenih konferencah) in znane inženirje praktike v en velik program na stičišču znanosti in prakse.

Hydra je ena naših najpomembnejših konferenc v zadnjih nekaj letih. Pred tem so bile zelo resne priprave, izbor govorcev in poročil. Prejšnji teden o tem habro intervju je izšel z direktorjem skupine JUG.ru Aleksejem Fedorovom (23derevo).

Mi že povedano o treh pomembnih udeležencih, utemeljiteljih teorije porazdeljenih sistemov - Leslie Lamport, Maurice Herlihy in Michael Scott. Čas je, da podrobneje spregovorimo o celotnem programu!

19 glav hidre. Odličen pregled programa

Motivacija

Če se ukvarjate s programiranjem, potem imate tako ali drugače opravka z večnitnostjo in porazdeljenim računalništvom. Z njimi neposredno sodelujejo strokovnjaki na ustreznih področjih, implicitno pa nas distribucija gleda od vsepovsod: v vsakem večjedrnem računalniku ali porazdeljeni storitvi je nekaj, kar vzporedno izvaja izračune.

Obstaja veliko konferenc, ki pokrivajo različne vidike programiranja aplikacij. Na drugi strani spektra imamo specializirane znanstvene šole, ki razkrivajo ogromne količine kompleksne teorije v obliki predavanj. Na primer, vzporedno s Hydro v Sankt Peterburgu obstaja šola SPTDC. Na konferenci Hydra smo skušali združiti ostro prakso, znanost in vse na njihovem presečišču.

Pomislite: živimo v čudovitem času, ko lahko osebno srečate začetnike področja znanosti in tehnike, ki ga preučujemo. Fiziki ne bodo srečali niti Newtona niti Einsteina - vlak je odšel. Toda poleg nas še vedno živijo tisti, ki so ustvarili temelje teorije porazdeljenih sistemov, izumili priljubljene programske jezike in vse to prvič utelešili v delujočih prototipih. Ti ljudje niso pustili službe na pol poti, prav zdaj se ukvarjajo s perečimi problemi na svetovno priznanih univerzah in v podjetjih in so danes največji vir znanja in izkušenj.

Po drugi strani pa priložnost za srečanje z njimi največkrat ostane zgolj teoretična: le malokdo izmed nas lahko nenehno spremlja javno dogajanje na kakšni univerzi v Rochestru, nato pa hiti v ZDA in nazaj na predavanje k Michaelu Scottu. Obisk vseh članov Hydre bi stal malo bogastvo, če ne štejemo brezna izgubljenega časa (čeprav se sliši kot zanimiva naloga).

Po drugi strani pa imamo veliko vrhunskih inženirjev, ki trenutno delajo na perečih problemih v porazdeljenih sistemih in imajo vsekakor veliko povedati. Ampak tukaj je problem - oni delatiin njihov čas je dragocen. Da, če ste zaposleni v Microsoftu, Googlu ali JetBrainsu, se verjetnost, da na internem dogodku srečate s katerim od znanih govorcev, močno poveča, a na splošno ne, to se ne zgodi vsak dan.

Na ta način konferenca Hydra opravi pomembno nalogo, ki je večina od nas ne more opraviti sama – na enem mestu in ob istem času združuje ljudi, katerih ideje ali interakcije s katerimi vam lahko spremenijo življenje. Priznam, da vsi ne potrebujejo porazdeljenih sistemov ali nekih kompleksnih temeljnih stvari. CRUD-je lahko programirate v PHP do konca svojega življenja in ostanete popolnoma srečni. Kdor pa jo potrebuje, je to vaša priložnost.

Kar nekaj časa je minilo od prve objave konference Hydra na Habréju. V tem času je bilo opravljenega veliko dela – in zdaj imamo seznam skoraj vseh poročil. Brez počasnih enonitnih algoritmov, samo čista porazdeljena hardcore! Končajmo s splošnimi besedami in poglejmo, kaj imamo zdaj v rokah.

Keynotes

Glavne besede se začnejo in končajo dneve konference. Običajno je namen uvodne besede določiti splošni duh in usmeritev konference. Zaključni govor potegne črto in pojasni, kako lahko živimo z znanjem in veščinami, pridobljenimi na konferenci. Začetek in konec: tisto, kar si najbolj zapomnimo, in na splošno ima večji pomen.

Cliff Kliknite H2O porazdeljen K/V algoritem

19 glav hidre. Odličen pregled programa Cliff je legenda v svetu Jave. V poznih devetdesetih letih je za svojo doktorsko disertacijo napisal nalogo z naslovom "Združevanje analiz, združevanje optimizacij", ki je nekaj časa kasneje postal osnova za HotSpot JVM Server Compiler. Dve leti pozneje je že delal pri Sun Microsystems na JVM in vsemu svetu pokazal, da ima JIT pravico do obstoja. Celotna zgodba o tem, kako je Java eden najhitrejših sodobnih izvajalnih območij z najpametnejšimi in najhitrejšimi optimizacijami, je prišla iz Cliff Click-a. Na samem začetku je veljalo, da če je nekaj dostopno statičnemu prevajalniku, vam tega sploh ni treba poskušati jiti. Zahvaljujoč delu Cliffa in ekipe so se vsi novi jeziki začeli ustvarjati z idejo o privzetem prevajanju JIT. Seveda to ni bilo delo enega človeka, a Cliff je imel pri tem zelo pomembno vlogo.

V uvodnem govoru bo Cliff govoril o svojem drugem podvigu - H20, platforma v pomnilniku za porazdeljeno in razširljivo strojno učenje za industrijske aplikacije. Ali natančneje, o porazdeljenem shranjevanju parov ključ-vrednost znotraj njega. To je zelo hitro shranjevanje z veliko zanimivimi lastnostmi (natančen seznam je v opis), ki omogočajo uporabo podobnih rešitev v matematiki pretakanja velikih podatkov.

Drugo poročilo, ki ga bo podal Cliff, je - Izkušnja transakcijskega pomnilnika strojne opreme Azul. Drugi del njegove biografije - deset let delo v Azulu, kjer je posodobil in izboljšal veliko stvari v strojni opremi in tehnološkem skladu Azul: prevajalnike JIT, čas izvajanja, model niti, obravnavanje napak, obravnavanje sklada, prekinitve strojne opreme, nalaganje razredov in tako naprej in tako naprej - no, dobite ideja.

Najbolj zanimiv del se je začel, ko so naredili strojno opremo za veliko podjetje - superračunalnik za poganjanje Jave. Bila je precej inovativna zadeva, ukrojena posebej za Javo, ki ima posebne zahteve - bralne pomnilniške ovire za zbiranje smeti z nizko pavzo, nizi s preverjanjem meja, virtualni klici ... Ena najbolj kul tehnologij je strojni transakcijski pomnilnik. Celoten L1 katerega koli od 864 jeder bi lahko sodeloval pri transakcijskem pisanju, kar je še posebej pomembno za delo s ključavnicami v Javi (sinhronizirani bloki lahko delujejo vzporedno, dokler ni pravega pomnilniškega konflikta). Toda čudovito idejo je zatrla ostra resničnost - in v tem govoru vam bo Cliff povedal, zakaj HTM in STM nista zelo primerna za praktične potrebe večnitnega računalništva.

Michael Scott - Dvojne podatkovne strukture

19 glav hidre. Odličen pregled programa Michael Scott - Profesor računalništva na univerzi v Rochestru, s katerim ga je usoda povezala že 34 let, na domači univerzi Wisconsin–Madison pa je bil pet let dekan. Raziskuje in poučuje študente o vzporednem in porazdeljenem programiranju ter načrtovanju jezikov.

Michaela ves svet pozna po učbeniku "Pragmatika programskega jezika", katere zadnja izdaja je izšla relativno nedavno - leta 2015. Njegova služba "Algoritmi za razširljivo sinhronizacijo na večprocesorjih s skupnim pomnilnikom" prejel nagrada Dijkstra kot enega najbolj znanih na področju porazdeljenega računalništva in odkrito laganje v spletni knjižnici Univerze v Rochesterju. Morda ga poznate tudi kot avtorja Michael-Scottovega algoritma iz "Enostavni, hitri in praktični algoritmi za sočasno čakalno vrsto brez blokiranja in blokiranja".

Kar zadeva svet Jave, je to poseben primer: skupaj z Dougom Lea je razvil algoritme brez blokiranja in sinhrone čakalne vrste, na katerih delujejo knjižnice Java. Točno o tem bo govora o "Dvojnih podatkovnih strukturah" - uvedba teh struktur v Java SE 6 je izboljšala zmogljivost za 10-krat. java.util.concurrent.ThreadPoolExecutor. Če se vnaprej sprašujete, kaj so te "dvojne podatkovne strukture", potem obstajajo informacije o tem povezano delo.

Maurice Herlihy - Blockchains in prihodnost porazdeljenega računalništva

19 glav hidre. Odličen pregled programa Maurice Herlihy - dobitnik dveh nagrad Dijkstra. Prvi je namenjen delu "Sinhronizacija brez čakanja" (Univerza Brown), in drugi, novejši - "Transakcijski pomnilnik: Arhitekturna podpora za podatkovne strukture brez zaklepanja" (Univerza Virginia Tech). Nagrada Dijkstra priznava delo, katerega pomen in vpliv sta bila vidna že vsaj deset let, Maurice pa je očitno eden najbolj priznanih strokovnjakov na tem področju. Trenutno dela kot profesor na Univerzi Brown in ima kot odstavek dolg seznam dosežkov.

V tem zaključnem govoru bo Maurice govoril o teoriji in praksi porazdeljenih sistemov blockchain z vidika klasike porazdeljenega računalništva in o tem, kako poenostavlja številne povezane probleme. To je poročilo izključno o temi konference - sploh ne o rudarskem pompu, temveč o tem, kako je mogoče naše znanje neverjetno učinkovito in primerno uporabiti v zvezi z različnimi nalogami.

Julija 2017 je Maurice že prišel v Rusijo na šolo SPTDC, sodeloval na srečanju JUG.ru, posnetek pa si lahko ogledate na YouTubu:

Glavni program

Sledi kratek pregled poročil, vključenih v program. Nekatera poročila so tukaj podrobneje opisana, druga bolj na kratko. Dolgi opisi so šli predvsem v poročila v angleškem jeziku, ki so zahtevale povezave do znanstvenih člankov, izrazov na Wikipediji ipd. Celoten seznam je na voljo glejte na spletni strani konference. Seznam na spletni strani bomo sproti ažurirali in dopolnjevali.

Leslie Lamport - Vprašanja

19 glav hidre. Odličen pregled programa Leslie Lamport je avtor temeljnih del na področju porazdeljenega računalništva. "LaTeX" pomeni "Lamport TeX". On je prvi, leta 1979, predstavil koncept sekvenčna doslednost, in njegov članek "Kako narediti večprocesorski računalnik, ki pravilno izvaja večprocesne programe" prejel Dijkstrovo nagrado.

To je po formatu najbolj nenavaden del programa, saj niti ne gre za poročilo, ampak za sejo vprašanj in odgovorov. Ko je velik del občinstva že seznanjen (ali se lahko seznani) z vsemi vrstami del, ki temeljijo na "Lamportovi teoriji", njegovih lastnih člankih in poročilih, je pomembneje porabiti ves razpoložljivi čas za neposredno komunikacijo.

Ideja je preprosta - na YouTubu si ogledate dve poročili: "Programiranje bi moralo biti več kot kodiranje" и "Če ne pišete programa, ne uporabljajte programskega jezika" in pripravi vsaj eno vprašanje, Leslie pa odgovori.

Prvi od teh dveh videov že imamo spremenil v habro članek. Če nimate ene ure časa za ogled videa, si lahko hitro vse preberete v besedilni obliki.

Opomba: na YouTubu je veliko več videoposnetkov Leslie Lamport. Na primer, obstaja odličen tečaj TLA+. Različica tega celotnega tečaja brez povezave je na voljo na avtorjeva domača stran, in jo naložil na YouTube za lažji ogled na mobilnih napravah.

Martin Kleppmann - Sinhronizacija podatkov med uporabniškimi napravami za porazdeljeno sodelovanje

19 glav hidre. Odličen pregled programa Martin Kleppmann je raziskovalec na Univerzi v Cambridgeu, ki se ukvarja s CRDT in formalnim preverjanjem algoritmov. Martinova knjiga "Oblikovanje podatkovno intenzivnih aplikacij", ki je izšla leta 2017, se je izkazala za zelo uspešno in se uvrstila na lestvice prodajnih uspešnic na področju shranjevanja in obdelave podatkov. Kevin Scott, tehnični direktor pri Microsoftu, nekoč rekel: »To knjigo morajo programski inženirji nujno imeti. To je redek vir, ki združuje teorijo in prakso za pomoč razvijalcem pri pametnejšem načrtovanju in izvajanju infrastrukture in podatkovnih sistemov.« Ustvarjalec Kafke in tehnični direktor Confluenta Jay Kreps je rekel nekaj podobnega.

Preden se je lotil akademskega raziskovanja, je Martin delal v industriji in soustanovil dve uspešni zagonski podjetji:

  • Rapportive, namenjen prikazovanju socialnega profila stikov iz vaše elektronske pošte, ki ga je LinkedIn kupil leta 2012;
  • Go Test It, storitev za samodejno testiranje spletnih strani v različnih brskalnikih, ki jo je RedGate kupil leta 2009.

Na splošno je Martin, čeprav manj slaven od naših uvodnikov, že lahko nekaj prispeval k razvoju porazdeljenega računalništva in industriji.

V tem predavanju bo Martin govoril o temi, ki je bližje njegovemu akademskemu raziskovanju. V Google Dokumentih in podobnih sofah za sourejanje dokumentov se "sodelovalno urejanje" nanaša na opravilo replikacije: vsak uporabnik ima svojo repliko dokumenta v skupni rabi, ki ga nato spremeni, vse spremembe pa se prek omrežja pošljejo preostalim udeležencev. Spremembe dokumentov brez povezave povzročijo začasno nedoslednost dokumenta glede na druge udeležence, ponovna sinhronizacija pa zahteva obravnavo sporov. Ravno za to obstajajo Podvojeni podatkovni tipi brez navzkrižij (CRDT) je pravzaprav dokaj nova stvar, katere bistvo je bilo oblikovano šele leta 2011. Ta govor razpravlja o tem, kaj se je od takrat zgodilo v svetu CRDT, kateri so najnovejši napredki, pristop k ustvarjanju lokalnih prvotnih aplikacij na splošno in uporaba odprtokodne knjižnice Samodejno združi še posebej.

Naslednji teden bomo na Habréju objavili dolg intervju z Martinom, zanimivo bo.

Pedro Ramalhete - Podatkovne strukture brez čakanja in transakcije brez čakanja

19 glav hidre. Odličen pregled programa Pedro dela pri Ciscu in zadnjih deset let razvija vzporedne algoritme, vključno s sinhronizacijskimi mehanizmi, podatkovnimi strukturami brez zaklepanja in brez čakanja ter vsem, kar si lahko zamislite na to temo. Njegovo trenutno raziskovalno in inženirsko zanimanje se osredotoča na univerzalne konstrukcije, programski transakcijski pomnilnik, trajni pomnilnik in podobne tehnologije, ki omogočajo pravilne, razširljive in do napak odporne aplikacije. Je tudi avtor bloga, ki je poznan v ožjih krogih Čudaki za sočasnost.

Večina večnitnih aplikacij zdaj deluje na vzporednih podatkovnih strukturah, od uporabe čakalnih vrst sporočil med akterji do indeksiranih podatkovnih struktur v shrambah ključ-vrednost. Že vrsto let uspešno delujejo v Java JDK, počasi pa se dodajajo tudi v C++.

Najenostavnejši način za implementacijo vzporedne podatkovne strukture je zaporedna (enonitna) implementacija, pri kateri so metode zaščitene z muteksi. To je dostopno vsakemu juniju, vendar ima očitne težave s skaliranjem in zmogljivostjo. Obenem se podatkovne strukture brez zaklepanja in brez čakanja ne le bolje spopadajo z napakami, temveč imajo tudi boljši profil delovanja – vendar njihov razvoj zahteva globoko strokovno znanje in prilagoditev specifični aplikaciji. Ena napačna vrstica kode je dovolj, da pokvari vse.

Kako lahko naredimo tako, da lahko tudi nestrokovnjak načrtuje in implementira takšne podatkovne strukture? Znano je, da je mogoče kateri koli zaporedni algoritem narediti niti varnega z uporabo katerega koli univerzalni dizajnali transakcijski pomnilnik. Kot prvo lahko znižajo oviro za vstop v reševanje tega problema. Vendar pa obe rešitvi običajno vodita do neučinkovite izvedbe. Pedro bo govoril o tem, kako jim je uspelo narediti te zasnove učinkovitejše in kako jih lahko uporabite za svoje algoritme.

Heidi Howard - Osvobajajoče porazdeljeno soglasje

19 glav hidre. Odličen pregled programa Heidi Howard je tako kot Martin raziskovalka porazdeljenih sistemov na Univerzi v Cambridgeu. Njene posebnosti so doslednost, toleranca napak, zmogljivost in porazdeljeno soglasje. Najbolj znana je po posplošitvi algoritma Paxos, imenovanega Prilagodljiv Paxos.

Spomnimo se tega paxos je družina protokolov za reševanje problema soglasja v omrežju nezanesljivih računalnikov, ki temelji na delu Leslie Lamport. Tako se nekateri naši govorci ukvarjajo s problemi, ki so jih prvotno predlagali naši drugi govorci - in to je čudovito.

Sposobnost iskanja soglasja med več gostitelji – za naslavljanje, izvolitev vodje, blokiranje ali usklajevanje – je temeljno vprašanje v sodobnih porazdeljenih sistemih. Paxos je zdaj glavni način za reševanje problemov soglasja in okoli njega poteka veliko raziskav za razširitev in optimizacijo algoritma za različne praktične potrebe.

V tem predavanju bomo ponovno pregledali teoretično osnovo Paxosa, sprostili prvotne zahteve in posplošili algoritem. Videli bomo, da je Paxos v bistvu samo ena možnost med ogromno soglasnimi pristopi in da so tudi druge točke v spektru zelo uporabne za gradnjo dobrih porazdeljenih sistemov.

Aleks Petrov — Zmanjšajte stroške shranjevanja s prehodno replikacijo in poceni kvorumi

19 glav hidre. Odličen pregled programa Alex je specialist za baze podatkov in sisteme za shranjevanje, in kar je za nas še pomembneje, posrednik v Cassandra. Trenutno dela na knjigi Database Internals z O'Reillyjem.

Za sisteme z končna doslednost (v ruski terminologiji - »dokončna konsistentnost«) morate po zrušitvi vozlišča ali razdelitvi omrežja rešiti naslednjo dilemo: ali nadaljujte z izvajanjem zahtev, pri čemer žrtvujte doslednost, ali zavrnite njihovo izvedbo in žrtvujte razpoložljivost. V takem sistemu so lahko dobra robna rešitev kvorumi, prekrivajoče se podmnožice vozlišč in zagotavljanje, da vsaj eno vozlišče vsebuje najnovejšo vrednost. Lahko preživite napake in izgubo povezljivosti z nekaterimi vozlišči, medtem ko se še vedno odzivate z najnovejšimi vrednostmi.

Vendar ima vse svojo ceno. Shema podvajanja kvoruma pomeni povečane stroške shranjevanja: odvečni podatki morajo biti shranjeni na več vozliščih hkrati, da se zagotovi, da je na voljo dovolj kopij, ko pride do težave. Izkazalo se je, da vam ni treba shranjevati vseh podatkov na vseh replikah. Obremenitev pomnilnika lahko zmanjšate, če podatke shranjujete samo na delih vozlišč, za scenarije obravnave napak pa uporabite posebna vozlišča (Transient Replica).

Med poročilom bomo razmislili Replike prič, shema podvajanja, uporabljena v Spanner и Megatrgovina, in implementacija tega koncepta v Apache Cassandra imenovana Prehodna replikacija in poceni kvorumi.

Dmitrij Vjukov - Goroutines izpostavljeni

19 glav hidre. Odličen pregled programa Dmitry je razvijalec pri Googlu, ki se ukvarja z dinamičnim testiranjem za C/C++ in Go - Address/Memory/ThreadSanitizer ter podobnimi orodji za jedro Linuxa. Prispeval k Go razširljivemu razporejevalniku goroutine, omrežnemu anketarju in vzporednemu zbiralniku smeti. Je strokovnjak za večnitnost, avtor ducata novih neblokirnih algoritmov in je lastnik Črni pas Intel

Zdaj pa malo o samem poročilu. Jezik Go ima izvorno podporo za večnitnost v obliki goroutine (lahke niti) in kanalov (čakalne vrste FIFO). Ti mehanizmi omogočajo uporabnikom zelo enostavno in prijetno pisanje sodobnih večnitnih aplikacij, kar je videti kot čarovnija. Kot razumemo, tukaj ni čarovnije. V tem pogovoru se bo Dmitry poglobil v zapletenost načrtovalnika Go in pokazal skrivnosti izvajanja te "čarovnije". Najprej vam bo podal pregled glavnih komponent razporejevalnika in vam povedal, kako deluje. Nato si bomo podrobneje ogledali posamezne vidike, kot sta strategija parkiranja/odparkiranja in obravnavanje sistemskih klicev za blokiranje. Nazadnje bo Dmitry povedal nekaj o možnih izboljšavah razporejevalnika.

Dmitrij Bugaičenko - Pospešitev analize porazdeljenih grafov z verjetnostnimi skicami in še več

19 glav hidre. Odličen pregled programa Dmitry je skoraj 9 let delal v zunanjem izvajanju, ne da bi izgubil stik z univerzo in znanstveno skupnostjo. Analiza velikih podatkov v Odnoklassniki je zanj postala edinstvena priložnost za združevanje teoretičnega usposabljanja in znanstvene podlage z razvojem resničnih izdelkov po povpraševanju.

Analiza porazdeljenih grafov je bila in ostaja težka naloga: ko je treba pridobiti informacije o povezavah sosednjega vozlišča, je treba podatke pogosto prenašati med stroji, kar vodi do povečanega časa izvajanja in obremenitve omrežne infrastrukture. V tem govoru bomo videli, kako lahko dosežete znatne hitrosti obdelave z uporabo verjetnostnih podatkovnih struktur ali dejstev, kot je simetrija grafa prijateljstva v družabnem omrežju. Vse to je ponazorjeno s primeri kode v Apache Spark.

Denis Rystsov - Zmanjšajte stroške shranjevanja s prehodno replikacijo in poceni kvorumi

19 glav hidre. Odličen pregled programa Denis - razvijalec Cosmos DB, strokovnjak za preverjanje konsistentnih modelov, konsenznih algoritmov in porazdeljenih transakcij. Trenutno dela pri Microsoftu, pred tem pa je delal na porazdeljenih sistemih pri Amazonu in Yandexu.

V tem predavanju si bomo ogledali protokole porazdeljenih transakcij, ki so bili izumljeni v zadnjih nekaj letih in ki jih je mogoče implementirati na strani odjemalca na vrhu katere koli podatkovne shrambe, ki podpira pogojno posodabljanje (primerjaj in nastavi). Bistvo je, da se življenje ne konča z dvofazno potrditvijo, transakcije je mogoče dodati na vrh katere koli baze podatkov – na ravni aplikacije, vendar imajo različni protokoli (2PC, Percolator, RAMP) različne kompromise in nam niso dani. zastonj.

Aleksej Zinovjev - Vsi algoritmi ML ne pridejo v porazdeljena nebesa

19 glav hidre. Odličen pregled programa Aleksej (zaleslaw) je dolgoletni predavatelj in član programskih odborov na drugih konferencah. Trener v praksi pri EPAM Systems in je prijatelj s Hadoop/Spark in drugimi velikimi podatki od leta 2012.

V tem predavanju bo Alexey govoril o težavah prilagajanja klasičnih algoritmov strojnega učenja za izvajanje v porazdeljenem načinu na podlagi svojih izkušenj pri delu z Apache Spark ML, Apache Mahout, Apache Flink ML in izkušenj pri ustvarjanju Apache Ignite ML. Alexey bo govoril tudi o implementaciji porazdeljenih algoritmov ML v teh okvirih.

In končno, dve Yandexovi poročili o Yandex Database.

Vladislav Kuznjecov - Baza podatkov Yandex - kako zagotavljamo toleranco napak

19 glav hidre. Odličen pregled programa Vladislav je razvijalec pri Yandexu v skupini porazdeljene platforme. Yandex Database je horizontalno razširljiva, geografsko porazdeljena DBMS, odporna na napake, ki lahko prenese okvare diskov, strežnikov, stojal in podatkovnih centrov, ne da bi pri tem izgubila konsistentnost. Za zagotavljanje tolerance napak se uporablja lasten algoritem za doseganje porazdeljenega soglasja ter številne tehnične rešitve, ki so podrobno obravnavane v poročilu. Poročilo je lahko zanimivo tako za razvijalce DBMS kot razvijalce aplikacijskih rešitev, ki temeljijo na DBMS.

Semjon Čečerinda - Porazdeljene transakcije v YDB

19 glav hidre. Odličen pregled programa Semyon je razvijalec v skupini za porazdeljeno platformo pri Yandexu, ki se ukvarja z možnostjo uporabe namestitve YDB za več najemnikov.

Baza podatkov Yandex je zasnovana za poizvedbe OLTP in je v skladu z zahtevami ACID za transakcijski sistem. V tem poročilu bomo obravnavali algoritem za razporejanje transakcij, ki je osnova transakcijskega sistema YDB. Poglejmo, kateri subjekti sodelujejo pri transakcijah, kdo transakcijam dodeli globalni vrstni red, kako se doseže atomičnost transakcije, zanesljivost in stroga raven izolacije. Na primeru pogoste težave si poglejmo izvedbe transakcij z uporabo dvofaznih potrditev in determinističnih transakcij. Pogovorimo se o njihovih razlikah.

Kaj sledi?

Program konference se še naprej polni z novimi poročili. Predvsem pričakujemo poročilo od Nikita Koval (ndkoval) od JetBrains in Oleg Anastasjev (m0nstermind) podjetja Odnoklassniki. Nikita dela na algoritmih za korutine v ekipi Kotlin, Oleg pa razvija arhitekturo in rešitve za visoko obremenjene sisteme v platformi Odnoklassniki. Poleg tega je še 1 pogojno prazno mesto, programska komisija se trenutno ukvarja s kandidati zanj.

Konferenca Hydra bo potekala 11. in 12. julija v St. Vstopnice so na voljo nakup na uradni spletni strani. Prosimo, bodite pozorni na razpoložljivost spletnih vstopnic - če iz nekega razloga v teh dneh ne morete priti v St.

Se vidimo v Hydri!

Vir: www.habr.com

Dodaj komentar