Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo

Inkomfa iya kuba ngoJulayi 11-12 eSt Hydra, ezinikezelwe ekuphuhliseni iinkqubo ezihambelanayo kunye nokusabalalisa. Ubuqhetseba beHydra kukuba idibanisa izazinzulu ezipholileyo (ezidla ngokufumaneka kuphela kwiinkomfa zenzululwazi zangaphandle) kunye neenjineli ezidumileyo eziziqhelanisayo nenkqubo enye enkulu ekudibaneni kwesayensi kunye nokusebenza.

IHydra yenye yeenkomfa zethu ezibalulekileyo kule minyaka imbalwa idlulileyo. Yandulelwa ngamalungiselelo anzima kakhulu, ukukhethwa kwezithethi kunye neengxelo. Kwiveki ephelileyo malunga noku Udliwano ndlebe lukaKhabro lwaphuma kunye nomlawuli weJUG.ru Group, Alexey Fedorov (23derevo).

Siyiyo sele uxelelwe malunga nabathathi-nxaxheba abathathu ababalulekileyo, abasunguli bethiyori yeenkqubo ezisasazwayo - uLeslie Lamport, uMaurice Herlihy noMichael Scott. Lixesha lokuthetha banzi ngenkqubo yonke!

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo

Isizathu

Ukuba ubandakanyeka kwiprogramu, enye indlela okanye enye ujongana ne-multithreading kunye ne-computing esasazwayo. Iingcali kwiinkalo ezichaphazelekayo zisebenza kunye nabo ngokuthe ngqo, kodwa ngokungafihlisiyo, ukuhanjiswa kujonge kuthi kuyo yonke indawo: kuyo nayiphi na ikhompyuter eninzi okanye inkonzo esasazwayo kukho into eyenza izibalo ngokufanayo.

Kukho iinkomfa ezininzi ezibandakanya iinkalo ezahlukeneyo zeprogram yesicelo. Kwelinye icala le-spectrum, sinezikolo ezikhethekileyo zenzululwazi ezityhila inani elikhulu lethiyori entsonkothileyo kwifomathi yokufundisa. Ngokomzekelo, ngokuhambelana neHydra eSt Isikolo seSPTDC. Kwinkomfa yeHydra, sizame ukudibanisa izenzo ezirhabaxa, isayensi, nayo yonke into ekudibaneni kwabo.

Cinga ngoku: siphila kwixesha elimangalisayo xa unokuhlangana buqu nabaseki becandelo lezenzululwazi nobunjineli esilifundayo. Iingcali zefiziksi azizukudibana neNewton okanye i-Einstein - uloliwe uhambile. Kodwa ecaleni kwethu kusekho abo badale iziseko zethiyori yeenkqubo ezisasazwayo, baqulunqa iilwimi ezidumileyo zeprogramu, kwaye okokuqala ngqa konke oku kuqulethwe kwiiprototypes ezisebenzayo. Aba bantu khange bayiyeke imisebenzi yabo phakathi, ngoku basebenza kwimiba ecinezelayo kwiiyunivesithi neenkampani ezidumileyo kwihlabathi, kwaye yeyona mithombo yolwazi namava namhlanje.

Kwelinye icala, ithuba lokudibana nabo lihlala liyithiyori kuphela: bambalwa kuthi abanokuhlala bebeka iliso kwimisitho yoluntu kwiDyunivesithi yaseRochester, emva koko bangxamele e-USA kwaye babuyele kwisifundo noMichael Scott. Ukutyelela onke amalungu e-Hydra kuya kubiza i-fortune encinci, ingabali inzonzobila yexesha elichithiweyo (nangona kuvakala ngathi kukufuna umdla).

Kwelinye icala, sineenjineli ezininzi eziphezulu ezisebenza ngokucinezela iingxaki kwiinkqubo ezisasaziweyo ngoku, kwaye ngokuqinisekileyo zininzi ekufuneka zixelelwe. Kodwa nantsi ingxaki - bona Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, yaye ixesha labo lixabisekile. Ewe, ukuba ungumqeshwa weMicrosoft, Google okanye JetBrains, amathuba okudibana nesinye sezithethi ezidumileyo kumsitho wangaphakathi ayanda kakhulu, kodwa ngokubanzi, hayi, oku akwenzeki yonke imihla.

Ngale ndlela, iNkomfa yeHydra ifezekisa umsebenzi obalulekileyo uninzi lwethu olungenakuwenza ngokwethu - kwindawo enye kwaye ngexesha elinye, idibanisa abantu abanemibono okanye ukusebenzisana nabo abanokutshintsha ubomi bakho. Ndiyavuma ukuba ayinguye wonke umntu ofuna iinkqubo ezisasaziweyo okanye izinto ezintsonkothileyo ezisisiseko. Unokwenza ii-CRUDs kwi-PHP ubomi bakho bonke kwaye uhlale wonwabile ngokupheleleyo. Kodwa nabani na oyidingayo, eli lithuba lakho.

Ixesha elide lidlulile ukususela kwisibhengezo sokuqala senkomfa yeHydra eHabrΓ©. Ngeli xesha, mninzi umsebenzi owenziweyo - kwaye ngoku sinoluhlu lwazo zonke iingxelo. Akukho zi-algorithms ezinomsonto omnye ovilaphayo, i-hardcore esasazwe nje esulungekileyo! Masigqibezele ngamagama ngokubanzi kwaye sibone ukuba siphethe ntoni ngoku.

Amanqaku aphambili

Amagqabantshintshi aqala kwaye aphele iintsuku zenkomfa. Ngokuqhelekileyo inqaku lenqaku eliphambili lokuvula kukuseka umoya jikelele kunye nesikhokelo senkomfa. Inqaku eliphambili lokuvala lizoba umgca kwaye lichaza indlela esinokuphila ngayo ngolwazi kunye nezakhono ezifunyenwe ngexesha lenkomfa. Isiqalo nesiphelo: oko kukhunjulwa kakhulu, kwaye ngokubanzi, kuye kwanda ukubaluleka.

Cliff Cofa I-H2O isasaze i-algorithm ye-K/V

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo UCliff yintsomi kwihlabathi leJava. Ekupheleni kweminyaka yoo-90, kwithisisi yakhe yePhD, wabhala iphepha elinesihloko esithi "UHlalutya lokudibanisa, ukudibanisa uLungiso", eyathi emva kwexesha elithile yaba sisiseko se-HotSpot JVM Server Compiler. Kwiminyaka emibini kamva, wayesele esebenza kwi-Sun Microsystems kwi-JVM kwaye wabonisa ihlabathi lonke ukuba i-JIT inelungelo lokuba khona. Eli bali lilonke malunga nendlela iJava lelinye lawona maxesha akhawulezayo angoku okuqhuba kunye neyona ndlela ikrelekrele nekhawulezayo yokulungiswa ivela kwiCliff Cofa. Ekuqaleni, kwakukholelwa ukuba ukuba kukho into efikelelekayo kwi-compiler engatshintshiyo, akudingeki ukuba uzame ukuyijitha. Enkosi ngomsebenzi kaCliff kunye neqela, zonke iilwimi ezintsha zaqala ukuyilwa ngombono wokuqulunqwa kweJIT ngokuzenzekelayo. Kakade ke, lo yayingengomsebenzi womntu omnye, kodwa uCliff wadlala indima ebaluleke kakhulu kuwo.

Kwinqaku eliphambili lokuvula, uCliff uza kuthetha ngomnye umzamo wakhe - H20, iqonga elingaphakathi kwimemori yokusasazwa kunye nokufundwa komatshini okukhawulezayo kwizicelo zamashishini. Okanye ngokuchanekileyo, malunga nokugcinwa okwabiweyo kwezibini ezingundoqo zexabiso ngaphakathi kuyo. Olu lugcino olukhawulezayo olunezinto ezininzi ezinomdla (uluhlu oluchanekileyo lungaphakathi inkcazelo), ezivumela ukusetyenziswa kwezisombululo ezifanayo kwimathematika yokusasazwa kwedatha enkulu.

Enye ingxelo aza kuyinika uCliff yile - I-Azul Hardware Transactional Memory amava. Enye inxalenye yobomi bakhe - iminyaka elishumi sebenza eAzul, apho ahlaziye khona kwaye aphucula izinto ezininzi kwi-Azul hardware kunye ne-teknoloji stack: abahlanganisi be-JIT, ixesha lokugijima, imodeli yentambo, ukuphatha iimpazamo, ukuphatha i-stack, ukuphazamiseka kwe-hardware, ukulayishwa kweklasi, njalo njalo njalo-njalo, ufumana umbono.

Elona candelo linika umdla laqala xa besenza ihardware yeshishini elikhulu-ikhompyuter enkulu ukuqhuba iJava. Yayiyinto ephucukileyo, eyenzelwe ngokukodwa iJava, eneemfuno ezikhethekileyo - funda imiqobo yememori yokuqokelela inkunkuma ephantsi, i-arrays kunye nokujonga imida, iifowuni ezibonakalayo ... Enye yezona teknoloji zipholileyo yimemori ye-hardware ye-hardware. Yonke i-L1 yayo nayiphi na i-cores ye-864 inokuthatha inxaxheba ekubhalweni kokuthengiselana, okubaluleke kakhulu ekusebenzeni kunye nezitshixo kwiJava (iibhloko ezivumelanisiweyo zingasebenza ngokuhambelana nje ukuba akukho ngxabano yememori yangempela). Kodwa umbono omhle watyunyuzwa yinyani enzima-kwaye kule ntetho uCliff uya kukuxelela ukuba kutheni i-HTM kunye ne-STM zingafanelanga kakhulu kwiimfuno ezisebenzayo zekhompyuter enemisonto emininzi.

UMichael Scott - Izakhiwo zedatha ezimbini

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo UMichael Scott - Unjingalwazi weNzululwazi yeKhompyutha kwiYunivesithi yaseRochester, apho ikamva lamdibanisa naye sele ena 34 iminyaka, kunye nekhaya lakhe kwiYunivesithi yaseWisconsin–Madison, wayeyinkokeli iminyaka emihlanu. Uphanda kwaye ufundisa abafundi malunga nokuhambelana nokusasazwa kwenkqubo kunye noyilo lolwimi.

Umhlaba wonke uyamazi uMichael enkosi kwincwadi yesikhokelo "Iipragmatiki zoLwimi lokucwangcisa", uhlelo lwamva nje olupapashwe kutshanje-ngo-2015. Umsebenzi wakhe "Ii-algorithms zolungelelwaniso olunokukhawuleza kwi-multiprocessors ekwabelwanayo kwimemori" yamkelwe Ibhaso leDijkstra njengenye yezona zidumileyo kwintsimi ye-computing esasazwayo kunye ukuxoka ngokuphandle kwiYunivesithi yaseRochester kwiThala leencwadi elikwi-Intanethi. Unokumazi njengombhali we-algorithm kaMichael-Scott evela "Elula, ekhawulezayo, kwaye eSebenzayo engathinteliyo kunye nokuthintela i-algorithms yeMigcelo ehambelanayo".

Ngokuphathelele ihlabathi leJava, le yimeko ekhethekileyo: kunye noDoug Lea, waphuhlisa i-algorithms engathinteliyo kunye nemigca ehambelanayo apho iilayibrari zeJava zisebenza khona. Yiloo nto kanye inqaku eliphambili eliza kuba lilo "izakhiwo zedatha ezimbini" - ukuqaliswa kwezi zakhiwo kwiJava SE 6 kuphuculwe ukusebenza ngamaxesha e-10. java.util.concurrent.ThreadPoolExecutor. Ukuba uyazibuza kwangaphambili ukuba zeziphi ezi "Datha ezimbini zedatha", ngoko kukho ulwazi malunga nalo umsebenzi onxulumeneyo.

UMaurice Herlihy - I-Blockchains kunye nekamva le-computing esasazwayo

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo UMaurice Herlihy - ophumelele amaBhaso amabini eDijkstra. Eyokuqala yeyokusebenza "Linda-Mahala Ungqamaniso" (iYunivesithi yaseBrown), kwaye okwesibini, kutshanje - "Inkumbulo yoTshintsho: Inkxaso yoLwakhiwo loLwakhiwo lweDatha eSitshixo" (kwiYunivesithi yaseVirginia Tech). Ibhaso leDijkstra libona umsebenzi obaluleke kakhulu kunye neempembelelo eziye zabonakala ubuncinci iminyaka elishumi, kwaye uMaurice ngokucacileyo ungomnye weengcali ezidumileyo kulo mmandla. Ngoku usebenza njengonjingalwazi kwiYunivesithi yaseBrown kwaye unoluhlu olude lweziqendu.

Kulo nqaku lokuvala, uMaurice uya kuthetha malunga nethiyori kunye nokusebenza kweenkqubo ezisasazwayo zebhlokhi ukusuka kwindawo yokujonga iiklasikhi zokusasazwa kwekhompyuter kunye nendlela eyenza lula iingxaki ezininzi ezinxulumene nazo. Le yingxelo ngokukodwa kwisihloko senkomfa - kungekhona konke malunga ne-hype yemigodi, kodwa malunga nendlela ulwazi lwethu olunokusetyenziswa ngayo ngokumangalisayo ngokufanelekileyo nangokufanelekileyo ngokumalunga nemisebenzi eyahlukeneyo.

NgoJulayi 2017, uMaurice sele efikile eRashiya ukuya kwisikolo se-SPTDC, wathatha inxaxheba kwi-JUG.ru yokuhlangana, kwaye ukurekhoda kunokujongwa kwi-YouTube:

Inkqubo ephambili

Okulandelayo kuya kubakho ushwankathelo olufutshane lweengxelo eziqukwe kucwangciso. Ezinye zeengxelo zichazwe apha ngokweenkcukacha, ezinye ngokufutshane. Iinkcazo ezide zaya ikakhulu kwiingxelo zesiNgesi ezifuna amakhonkco kumaphepha enzululwazi, amagama kwiWikipedia, njalo njalo. Uluhlu olupheleleyo luyafumaneka bona kwiwebhusayithi yenkomfa. Uluhlu olukwiwebhusayithi luya kuhlaziywa luze longezelelwe.

Leslie Lamport - Imibuzo neempendulo

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo U-Leslie Lamport ngumbhali wemisebenzi ye-seminal kwi-computing esasazwayo. "LaTeX" imele "Lamport TeX". Nguye owaqala, emva ngo-1979, wazisa ingcamango ukungaguquguquki, kunye nenqaku lakhe "Uyenza njani iMultiprocessor Computer eSebenza ngokuchanekileyo iiNkqubo zeMultiprocess" ufumene ibhaso leDijkstra.

Le yeyona nxalenye ingaqhelekanga yenkqubo ngokwefomathi, kuba ayikho nengxelo, kodwa yiseshoni yombuzo kunye neempendulo. Xa inxalenye ebalulekileyo yabaphulaphuli sele iqhelekile (okanye iyakwazi ukuqhelana) nazo zonke iintlobo zemisebenzi esekelwe "kwithiyori kaLamport", amanqaku akhe kunye neengxelo, kubaluleke kakhulu ukuchitha lonke ixesha elikhoyo kunxibelelwano oluthe ngqo.

Umbono ulula-ubukela iingxelo ezimbini kuYouTube: "Ukucwangcisa kufuneka kube ngaphezulu kokubhala ikhowudi" ΠΈ "Ukuba awubhali iNkqubo, Musa ukusebenzisa ulwimi lweNkqubo" kwaye ulungiselele nokuba mnye umbuzo, aze uLeslie aphendule.

Eyokuqala kwezi vidiyo zimbini sele sinazo yajika yaba linqaku likahabro. Ukuba awunayo iyure yokubukela ividiyo, unokuyifunda ngokukhawuleza yonke kwifomu yombhalo.

Qaphela: Zininzi ngakumbi iividiyo zikaLeslie Lamport kuYouTube. Ngokomzekelo, kukho enkulu Ikhosi yeTLA +. Uguqulelo olungekho kwi-intanethi yale khosi yonke luyafumaneka iphepha lasekhaya lombhali, kwaye wayilayisha kuYouTube ukuze ijongwe lula kwizixhobo eziphathwayo.

UMartin Kleppmann - Ungqamaniso lwedatha kuzo zonke izixhobo zabasebenzisi ukulungiselela intsebenziswano esasazwayo

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo UMartin Kleppmann ngumphandi kwiYunivesithi yaseCambridge esebenza kwi-CRDT kunye nokuqinisekiswa ngokusemthethweni kwe-algorithms. Incwadi kaMartin "Ukuyila ii-Aplikeshini eziNxibelela ngeDatha", epapashwe kwi-2017, ibonakalise ukuba iphumelele kakhulu kwaye yenza ukuba ibe kuluhlu oluthengisiweyo kwintsimi yokugcina idatha kunye nokucubungula. UKevin Scott, uCTO kwiMicrosoft, kanye watsho: β€œLe ncwadi kufuneka ibeyiyo kwiinjineli zesoftware. Esi sisixhobo esinqabileyo esidibanisa ithiyori kunye nokuziqhelanisa ukunceda abaphuhlisi babekrelekrele ekuyileni nasekuphumezeni iziseko zophuhliso kunye neenkqubo zedatha. Umdali weKafka kunye neCTO yeConfluent, uJay Kreps, wathetha into efanayo.

Ngaphambi kokufudukela kuphando lwezifundo, uMartin wasebenza kumzi-mveliso kwaye waseka amashishini amabini aphumeleleyo:

  • I-Rapportive, ezinikele ekuboniseni iphrofayili yentlalo yoqhagamshelwano kwi-imeyile yakho, leyo i-LinkedIn ithenge kwi-2012;
  • Yiya kuVavanya, inkonzo yokuvavanya ngokuzenzekelayo iiwebhusayithi kwiiphequluli ezahlukeneyo, ezithengwe yiRedGate kwi-2009.

Ngokubanzi, uMartin, nangona edume kakhulu kuneengongoma zethu eziphambili, sele ekwazi ukwenza igalelo ekuphuhliseni i-computing esasazwayo nakwishishini.

Kule ntetho, uMartin uya kuthetha ngesihloko esisondeleyo kuphando lwakhe lwezemfundo. KuGoogle Amaxwebhu kunye neesofa ezifanayo zokuhlela uxwebhu, "ukuhlelwa ngokubambisana" kubhekiselele kumsebenzi wokuphindaphinda: umsebenzisi ngamnye unekopi yakhe yoxwebhu ekwabelwana ngalo, abathi balulungise ke, kwaye zonke iinguqu zithunyelwa kuthungelwano lonke ukuya kwelinye. abathathi-nxaxheba. Utshintsho kumaxwebhu angaxhunyiwe kwi-intanethi lukhokelela ekungahambelani kwesikhashana koxwebhu ngokumalunga nabanye abathathi-nxaxheba, kwaye ukulungelelaniswa kwakhona kufuna ukuphathwa kweengxabano. Yiloo nto kanye zikhoyo Iindidi zeeDatha eziPhindwayo ezingenalungquzulwano (CRDT), enyanisweni, yinto entsha ngokufanelekileyo, undoqo wayo owaqulunqwa kuphela ngo-2011. Le ntetho ixoxa ngento eyenzekileyo ukusukela ngoko kwihlabathi leCRDT, ukuba yeyiphi eyona nkqubela phambili yamva nje, indlela yokudala izicelo zalapha ekhaya ngokubanzi kunye nokusetyenziswa kwethala leencwadi elivulelekileyo. I-Automerge ukuthi ngqo.

Kwiveki ezayo siza kupapasha udliwano-ndlebe olude noMartin kuHabrΓ©, kuya kuba mnandi.

Pedro Ramalhete - Linda-free data izakhiwo kunye nokulinda-free transactions

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo U-Pedro usebenza eCisco kwaye ebephuhlisa i-algorithms ehambelanayo kule minyaka ilishumi idlulileyo okanye kunjalo, kubandakanywa iindlela zongqamaniso, ulwakhiwo lwedatha olungatshixwanga kunye nokulinda-simahla kunye nayo yonke into onokucinga ngayo kwesi sihloko. Uphando lwakhe lwangoku kunye nezinto anomdla kuzo zobunjineli zijolise kwi-Universal Constructions, iMemori yoTshintsho lweSoftware, iMemori eZingisayo kunye nobuchwepheshe obufanayo obuvumela usetyenziso oluchanekileyo, olunokwehla kunye nokunyamezela iimpazamo. Ukwangumbhali weblogi eyaziwa ngokubanzi kwizangqa ezimxinwa Concurrency Freaks.

Uninzi lwezicelo ezinemisonto emininzi ngoku zisebenza kulwakhiwo lwedatha olunxuseneyo, ukusuka kusetyenziso lwemigca yemiyalezo phakathi kwabadlali ukuya kulwakhiwo lwedatha oluphawulweyo kwiivenkile zexabiso elingundoqo. Baye basebenza ngempumelelo kwi-Java JDK iminyaka emininzi, kwaye bayongezwa ngokucothayo kwi-C ++.

Indlela elula yokuphumeza ulwakhiwo lwedatha oluhambelanayo lulandelelwano (umsonto omnye) ukuphunyezwa apho iindlela zikhuselwe yi-mutexes. Oku kufikeleleka kuyo nayiphi na ngoJuni, kodwa kuneengxaki ezicacileyo ngokulinganisa kunye nokusebenza. Kwangaxeshanye, i-lock-free kunye nokulinda-mahhala izakhiwo data kuphela ukuhlangabezana ngcono neempazamo, kodwa kwakhona iprofayile ukusebenza ngcono - nangona kunjalo, uphuhliso lwabo kufuna ubungcali olunzulu kunye nokulungelelaniswa kwisicelo esithile. Umgca omnye ongalunganga wekhowudi wanele ukuphula yonke into.

Singayenza njani into yokuba nokuba umntu ongeyongcali angayila kwaye aphumeze ezo zakhiwo zedatha? Kuyaziwa ukuba nayiphi na i-algorithm elandelelanayo inokwenziwa umsonto ukhuselekile usebenzisa nokuba uyilo lwendalo yonke, okanye inkumbulo yetransekshini. Enye into, banokuwuthoba umqobo ekungeneni ekusombululeni le ngxaki. Nangona kunjalo, zombini izisombululo zikhokelela ekuphunyezweni okungasebenziyo. UPedro uza kuthetha ngendlela abathe bakwazi ngayo ukwenza oluyilo lusebenze ngakumbi kwaye ungalusebenzisa njani kwii-algorithms zakho.

UHeidi Howard - Ukukhulula imvumelwano esasaziweyo

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo UHeidi Howard, njengoMartin, umphandi weenkqubo ezisasazwayo kwiYunivesithi yaseCambridge. Izinto zakhe ezikhethekileyo kukungaguquguquki, ukunyamezela iimpazamo, ukusebenza kunye nokusasazwa kwemvumelwano. Waziwa kakhulu ngokwenza ngokubanzi iPaxos algorithm ebizwa I-Flexible Paxos.

Khumbula ukuba I-Paxos lusapho lweeprotocol zokusombulula ingxaki yemvumelwano kuthungelwano lweekhompyuter ezingathembekanga, ngokusekelwe kumsebenzi kaLeslie Lamport. Ke, ezinye zezithethi zethu zisebenza kwiingxaki ezazicetyiswe zezinye izithethi zethu - kwaye oku kuyamangalisa.

Ukukwazi ukufumana imvumelwano phakathi kweenginginya ezininzi-ukujongana, unyulo lwenkokeli, ukuvimba, okanye ukulungelelaniswa-ngumba osisiseko kwiinkqubo ezisasazwayo zanamhlanje. I-Paxos ngoku yeyona ndlela yokusombulula iingxaki zemvumelwano, kwaye kukho uphando oluninzi oluqhubekayo malunga nayo ukwandisa kunye nokwandisa i-algorithm yeemfuno ezahlukeneyo eziphathekayo.

Kule ntetho, siza kuphinda sijonge isiseko sethiyori sePaxos, siphumle iimfuno zantlandlolo kunye nokulungelelanisa i-algorithm. Siza kubona ukuba i-Paxos ilukhetho nje olunye phakathi koluhlu olukhulu lweendlela zokuvumelana, kwaye amanye amanqaku kwi-spectrum aluncedo kakhulu ekwakheni iinkqubo ezilungileyo ezisasazwe.

UAlex Petrov - Nciphisa iindleko zakho zokugcina ngokuPhinda okwethutyana kunye neeQuorums ezitshiphu

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo UAlex yingcali yedatha kunye neenkqubo zokugcina, kwaye okona kubaluleke kakhulu kuthi, umntu ozinikeleyo Cassandra. Ngoku usebenza kwincwadi, Database Internals, kunye no-O'Reilly.

Kwiinkqubo ezine Ukuhambelana ekugqibeleni (ngesigama sesiRashiya - "ukungaguquguquki okokugqibela"), emva kokuphahlazeka kwe-node okanye ukuhlukana kwenethiwekhi, kufuneka usombulule le ngxaki ilandelayo: nokuba uqhubeke nokwenza izicelo, ukuzincama, okanye ukwala ukuzisebenzisa kunye nokufumaneka kwedini. Kwinkqubo enjalo, ii-quorums, ii-subsets ezidlulayo ze-nodes kunye nokuqinisekisa ukuba ubuncinane i-node enye iqulethe ixabiso lamva nje, ingaba sisisombululo esihle somphetho. Ungasinda kwiintsilelo kunye nokulahleka konxibelelwano kwezinye iindawo ngexa usaphendula ngamaxabiso amva nje.

Nangona kunjalo, yonke into inexabiso layo. Isikimu sokuphindaphinda ikhoram sithetha iindleko ezongeziweyo zokugcina: idatha engafunekiyo kufuneka igcinwe kwiindawo ezininzi ngaxeshanye ukuqinisekisa ukuba kukho iikopi ezaneleyo ezikhoyo xa kukho ingxaki. Kuyavela ukuba akufuneki ugcine yonke idatha kuzo zonke iikopi. Unokunciphisa umthwalo kwisitoreji ukuba ugcina idatha kuphela kwinxalenye yeendawo, kwaye usebenzise ii-nodes ezikhethekileyo (I-Replica ye-Transient) yokungaphumeleli kokuphatha iimeko.

Ngexesha lengxelo siza kuqwalasela IiReplicas zamaNgqina, inkqubo yophindaphindo esetyenziswe kwi Spanner ΠΈ ivenkile mega, kunye nokuphunyezwa kwale ngcamango kwi-Apache Cassandra ebizwa Ukuphindaphinda okwethutyana kunye neeKhoram ezitshiphu.

NguDmitry Vyukov I-Goroutines eveziweyo

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo UDmitry ngumphuhlisi kuGoogle osebenza kuvavanyo oluguqukayo lweC/C++ kunye nokuHamba-Idilesi/iMemori/iThreadSanitizer, kunye nezixhobo ezifanayo zeLinux kernel. Igalelwe kwiGo a scalable goroutine scheduler, network poller, kunye nomqokeleli wenkunkuma onxuseneyo. Uyingcali kwi-multithreading, umbhali weshumi elinesibini le-algorithms entsha engathinteli kwaye ungumnini Ibhanti eliMnyama Intel.

Ngoku kancinci malunga nengxelo ngokwayo. Ulwimi lweGo lunenkxaso yomthonyama yokufundwa kwemisonto emininzi ngendlela ye-goroutines (imisonto ekhanyayo) kunye namajelo (imigca yeFIFO). Ezi ndlela zenza kube lula kwaye kuyonwabisa kubasebenzisi ukubhala usetyenziso lwanamhlanje olunemisonto emininzi, kwaye kujongeka njengomlingo. Njengoko siqonda, akukho mlingo apha. Kule ntetho, uDmitry uya kukhangela kwiingxaki zomcwangcisi weGo kwaye abonise iimfihlo zokuphumeza lo "mlingo". Okokuqala, uya kunika isishwankathelo sezinto eziphambili zomcwangcisi kwaye akuxelele ukuba isebenza njani. Okulandelayo, siya kujonga ngakumbi kwimiba nganye efana neqhinga lokupaka/ukungapakishi kunye nokusingatha iminxeba yenkqubo yokuthintela. Ekugqibeleni, uDmitry uya kuthetha kancinci malunga nokuphuculwa okunokwenzeka kumcwangcisi.

NguDmitry Bugaichenko Ukukhawulezisa uhlalutyo lwegrafu olusasaziweyo kunye nemizobo enokwenzeka kunye nokunye

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo UDmitry wasebenza ekukhupheni imali phantse iminyaka eyi-9 ngaphandle kokuphulukana nonxibelelwano neyunivesithi kunye noluntu lwesayensi. Uhlalutyo lwedatha enkulu kwi-Odnoklassniki yaba kuye ithuba elikhethekileyo lokudibanisa uqeqesho lwethiyori kunye nesiseko sesayensi kunye nophuhliso lweemveliso zokwenyani, ezifunwayo.

Uhlalutyo lwegrafu esasazwayo luye kwaye luhlala lunzima: xa kuba yimfuneko ukufumana ulwazi malunga nokudityaniswa kwe-vertex engummelwane, idatha kaninzi kufuneka idluliselwe phakathi koomatshini, okukhokelela ekwandiseni ixesha lokubulawa kunye nomthwalo kwiziseko zophuhliso lwenethiwekhi. Kule ntetho, siza kubona ukuba ungafumana njani izantya ezibalulekileyo zokucwangcisa ngokusebenzisa izakhiwo zedatha ezinokwenzeka okanye iinyani ezifana ne-symmetry yegrafu yobuhlobo kwinethiwekhi yoluntu. Konke oku kuboniswe ngemizekelo yekhowudi kwi-Apache Spark.

UDenis Rystsov Nciphisa iindleko zakho zokugcina ngokuPhinda okwethutyana kunye neeQuorums ezitshiphu

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo UDenis - umphuhlisi ICosmos DB, ingcali yokukhangela iimodeli zokuhambelana, i-algorithms yokuvumelana, kunye nokuhanjiswa kweentengiselwano. Ngoku usebenza kwiMicrosoft, kwaye ngaphambi koko wasebenza kwiinkqubo ezisasazwayo eAmazon naseYandex.

Kule ntetho, siza kujonga kwiiprothokholi zentengiselwano ezisasaziweyo eziye zaqanjwa kule minyaka imbalwa idlulileyo, ezinokuthi ziphunyezwe kwicala lomxhasi phezu kwayo nayiphi na ivenkile yedatha exhasa uhlaziyo olunemiqathango (thelekisa kwaye usete). Eyona nto iphambili kukuba ubomi abupheli ngokuzibophelela kwezigaba ezibini, ukuthengiselana kunokongezwa phezu kwayo nayiphi na i-database - kwinqanaba lesicelo, kodwa iiprotocol ezahlukeneyo (i-2PC, i-Percolator, i-RAMP) zineendlela ezahlukeneyo zokurhweba kwaye azinikezelwanga kuthi. simahla.

Alexey Zinoviev - Ayizizo zonke ii-algorithms zeML ezenza ukuba isasazwe izulu

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo Alexei (zaleslaw) sisithethi sexesha elide kunye nelungu leekomiti zenkqubo kwezinye iinkomfa. Ukuziqhelanisa nomqeqeshi kwiiNkqubo ze-EPAM, kwaye ube ngumhlobo kunye ne-Hadoop / Spark kunye nezinye iinkcukacha ezinkulu ukususela kwi-2012.

Kule ntetho, u-Alexey uya kuthetha ngeengxaki zokulungelelanisa i-algorithms yokufunda umatshini we-classical ukuphunyezwa kwimodi yokusabalalisa ngokusekelwe kumava akhe okusebenza kunye ne-Apache Spark ML, i-Apache Mahout, i-Apache Flink ML kunye namava okudala i-Apache Ignite ML. U-Alexey uya kuthetha kwakhona malunga nokuphunyezwa kwee-algorithms zeML ezisasazwayo kwezi zicwangciso.

Kwaye ekugqibeleni, iingxelo ezimbini ezivela kwiYandex malunga neYandex Database.

UVladislav Kuznetsov - Yandex Database - indlela esiqinisekisa ngayo ukunyamezela impazamo

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo UVladislav ungumphuhlisi kwiYandex kwiqela leqonga elisasazwayo. I-Yandex Database i-horizontally scalable, i-geo-distributed, i-DBMS enokunyamezela i-fault-tolerant enokumelana nokungaphumeleli kweediski, iiseva, ii-racks kunye namaziko edatha ngaphandle kokulahlekelwa ukuhambelana. Ukuqinisekisa ukunyamezelana kwesiphoso, i-algorithm yobunikazi yokuphumeza ukuvumelana okusasazwayo isetyenzisiweyo, kunye nenani lezisombululo zobugcisa, ezixutyushwa ngokubanzi kwingxelo. Ingxelo inokuba nomdla kubo bobabini abaphuhlisi be-DBMS kunye nabaphuhlisi bezisombululo zezicelo ezisekelwe kwi-DBMS.

Semyon Checherinda - Iintengiselwano ezisasaziweyo kwi-YDB

Iintloko zehydra ezili-19. Isishwankathelo esihle senkqubo U-Semyon ungumphuhlisi kwiqela leqonga elisasazwayo kwi-Yandex, esebenza ngethuba lokusebenzisa abaqashi abaninzi bofakelo lwe-YDB.

I-Yandex Database yenzelwe imibuzo ye-OLTP kwaye ihambelana neemfuno ze-ACID zenkqubo yokuthengiselana. Kule ngxelo, siya kuqwalasela i-algorithm yokucwangcisa intengiselwano ephantsi kwenkqubo yokuthengiselana ye-YDB. Makhe sijonge ukuba ngawaphi amaqumrhu athatha inxaxheba kwintengiselwano, owabela ulungelelwaniso lwehlabathi kwintengiselwano, indlela i-atomicity yentengiselwano, ukuthembeka, kunye nenqanaba elingqongqo lokuzikhetha liphunyezwa. Ukusebenzisa ingxaki eqhelekileyo njengomzekelo, makhe sijonge ekuphunyezweni kwentengiselwano kusetyenziswa izigaba ezibini zokuzibophelela kunye nentengiselwano eqinisekileyo. Makhe sixubushe iiyantlukwano zabo.

Yintoni elandelayo?

Ucwangciso lwenkomfa lusaqhubeka luzaliswa ziingxelo ezintsha. Ngokukodwa, silindele ingxelo evela Nikita Koval (ndkoval) ukusuka JetBrains kunye Oleg Anastasyev (m0nstermind) ukusuka kwinkampani ye-Odnoklassniki. U-Nikita usebenza kwii-algorithms kwii-coroutines kwiqela le-Kotlin, kwaye u-Oleg uphuhlisa izakhiwo kunye nezisombululo zeenkqubo zomthwalo ophezulu kwi-platform ye-Odnoklassniki. Ukongeza, kukho indawo enye engenanto enemiqathango, ikomiti yenkqubo isebenza nabaviwa kuyo ngoku.

Ingqungquthela yeHydra iya kuba ngoJulayi 11-12 eSt. Amatikiti ayafumaneka ukuthenga kwiwebhusayithi esemthethweni. Nceda uqaphele ukufumaneka kwamatikiti e-Intanethi - ukuba ngesizathu esithile awukwazi ukufikelela eSt. Petersburg kule mihla.

Ndiza kubona eHydra!

umthombo: www.habr.com

Yongeza izimvo