YTsaurus je porazdeljena platforma za shranjevanje in obdelavo velikih podatkov s podporo za model MapReduce.
Pred nekaj dnevi Yandex razkrit preko enega napovedal odprtje izvorne kode platforme YTsauru, ki se uporablja za porazdeljeno shranjevanje in obdelavo velikih količin podatkov, ki podpira manipulacijo podatkov z uporabo paradigme MapReduce, mehanizma poizvedb SQL, porazdeljenega datotečnega sistema in NoSQL shranjevanja v formatu ključ-vrednost.
YTsaurus uporablja na infrastrukturi Yandex za učinkovito uporabo računalniške moči superračunalnikov družbe Platforma se lahko razširi na gruče z več kot 10 vozlišči, ki pokrivajo do milijon procesorjev in na tisoče grafičnih procesorjev (za naloge strojnega učenja).
Izolirane vsebnike, ki se izvajajo na fizičnih strežnikih, je mogoče uporabiti kot enote gruče. Shramba lahko vsebuje eksabajte podatkov, ki se nahajajo na različnih medijih, kot so trdi diski, SSD-ji, NVME in RAM.
Grozd podpira dinamično dodajanje in odstranjevanje vozlišč, redundanco (brez posamezne točke okvare), samodejno podvajanje, aktivne nadgradnje programske opreme gruče in samodejno obnovitev redundance v primeru okvare vozlišča.
Podprte so tri vrste gruč: računske gruče (za masivno vzporedno obdelavo velikih podatkov z uporabo operacij MapReduce), gruče za vrtilne tabele in shranjevanje ključev in vrednosti ter geografsko porazdeljene gruče.
Storitev, ki temelji na platformi, lahko zagotovi sredstva za shranjevanje in obdelavo podatkov za več deset tisoč uporabnikov. Tipične aplikacije YTsaurus v Yandexu vključujejo shranjevanje informacij o uporabnikih oglasnega omrežja, usposabljanje modelov strojnega učenja, oblikovanje iskalnega indeksa in gradnjo podatkovnega skladišča za storitve, kot je Yandex Taxi. , Hrana, Lavka in dostave.
Od osnovnih primerov uporabe je omenjeno:
- Paketna obdelava: MapReduce in SPYT (Apache Spark kot računalniški mehanizem za podatke v YTsaurus) za obdelavo strukturiranih in polstrukturiranih podatkov: evidence ali finančne transakcije.
- Ad hoc analiza: Hitre poizvedbe prek CHYT (skupina strežnikov ClickHouse na računalniških vozliščih YTsaurus) brez kopiranja podatkov v ločen analitični sistem. ODBC in JDBC z možnostjo povezovanja BI za vizualizacijo.
- Naloge OLTP: Transakcijsko delo v realnem času s shranjevanjem ključev in vrednosti: na primer shranjevanje uporabniškega profila, prikazovanje oglasov ali obdelava toka.
- Strojno učenje: Upravljajte gruče GPE za usposabljanje modelov z milijardami parametrov.
- Shranjevanje meta informacij: Transakcijsko shranjevanje metainformacij in zanesljiva storitev porazdeljenih ključavnic.
- Izdelava podatkovnih skladišč in ETL za večplastno obdelavo podatkov z uporabo tipičnih orodij: Apache Spark, SQL, MapReduce.
Med glavnimi elementi arhitekture pa so omenjeni:
- Porazdeljeni datotečni sistem in drevesno shranjevanje metainformacij Cypress, ki je odporno na napake.
- Razporejevalnik za porazdeljeno računalništvo s podporo za model MapReduce, kot tudi napredne osnovne operacije.
- Horizontalna razširljivost IT operacij.
- Izolacija računalniških virov in možnost dodeljevanja določenih računalniških virov (CPU, GPU, RAM) v različnih razmerjih.
- Vrtilne tabele za ustvarjanje pomnilnika OLTP, podpora za pomnilnik, ki temelji na MVCC, transakcije, možnost brisanja podatkov po poteku in čakalne vrste sporočil za obdelavo pretočnih podatkov prek vrtilnih tabel.
- API in knjižnice za programske jezike C++, Python, Java, Go.
- Spletni vmesnik za uporabnike in skrbnike, ki podpira navigacijo skozi drevesno shrambo.
Končno če vas zanima več o tem, morate vedeti, da je koda projekta napisana v C/C++ in je odprta pod licenco Apache 2.0. Podrobnosti lahko preverite v naslednja povezava.
El Skladišče GitHub vsebuje strežniško kodo za YTsaurus, okvir za uvajanje, ki ga uporablja k8s, spletni vmesnik do sistema in odjemalske SDK-je za priljubljene programske jezike, kot so C++, Java, Go in Python.