YTsaurus je distribuirana platforma za pohranu i obradu velikih podataka s podrškom za model MapReduce.
Prije nekoliko dana, Yandex je najavio otvoreni kod platforme YTsauru, koja se koristi za distribuiranu pohranu i obradu velikih količina podataka, podržavajući manipulaciju podacima pomoću MapReduce paradigme, SQL query engine, distribuirani datotečni sustav i NoSQL pohranu u formatu ključ-vrijednost.
YTsaurus se koristi u Yandexovoj infrastrukturi za učinkovito korištenje računalne snage superračunala tvrtke. Platforma se može skalirati na klastere od više od 10 000 čvorova, pokrivajući do milijun procesora i tisuće GPU-ova (za zadatke strojnog učenja).
Izolirani spremnici koji se izvode na fizičkim poslužiteljima mogu se koristiti kao jedinice klastera. Pohrana može sadržavati egzabajte podataka koji se nalaze na različitim medijima kao što su tvrdi diskovi, SSD-ovi, NVME i RAM.
Klaster podržava dinamičko dodavanje i uklanjanje čvorova, redundanciju (nema pojedinačne točke kvara), automatsku replikaciju, aktivne nadogradnje softvera klastera i automatski oporavak redundantnosti u slučaju kvara čvora.
Podržane su tri vrste klastera: računalni klasteri (za masovnu paralelnu obradu velikih podataka pomoću MapReduce operacija), klasteri za pivot tablice i pohranu ključ-vrijednost te geografski distribuirani klasteri.
Usluga temeljena na platformi može pružiti sredstva za pohranu i obradu podataka za desetke tisuća korisnika. Tipične YTsaurus aplikacije u Yandexu uključuju pohranu informacija o korisnicima oglasne mreže, obuku modela strojnog učenja, formiranje indeksa pretraživanja i izgradnju skladišta podataka za usluge kao što su Yandex Taxi. , Hrana, Lavka i dostave
Od osnovnih slučajeva uporabe spominje se:
- Skupna obrada: MapReduce i SPYT (Apache Spark kao računalni mehanizam za podatke u YTsaurusu) za obradu strukturiranih i polustrukturiranih podataka: zapisi ili financijske transakcije.
- Ad hoc analiza: Brzi upiti putem CHYT-a (grupa ClickHouse poslužitelja na YTsaurus računalnim čvorovima) bez kopiranja podataka u zasebni analitički sustav. ODBC i JDBC s mogućnošću povezivanja BI za vizualizaciju.
- OLTP zadaci: Transakcijski rad u stvarnom vremenu s pohranom ključa i vrijednosti: na primjer, pohrana korisničkog profila, prikaz oglasa ili obrada streama.
- Strojno učenje: Upravljajte GPU klasterima za obuku modela s milijardama parametara.
- Pohrana meta informacija: Transakcijska pohrana metainformacija i pouzdan servis distribuiranih brava.
- Izrada skladišta podataka i ETL-a za višeslojnu obradu podataka korištenjem tipičnih alata: Apache Spark, SQL, MapReduce.
Dok se od glavnih elemenata arhitekture spominju:
- Distribuirani datotečni sustav i pohrana metainformacija bazirana na stablu otporna na greške Cypress.
- Planer za distribuirano računalstvo s podrškom za model MapReduce, kao i napredne osnovne operacije.
- Horizontalna skalabilnost IT operacija.
- Izolacija računalnih resursa i mogućnost dodjele određenih računalnih resursa (CPU, GPU, RAM) u različitim omjerima.
- Zaokretne tablice za stvaranje OLTP pohrane, podrška za pohranu temeljenu na MVCC-u, transakcije, mogućnost brisanja podataka nakon isteka i redovi poruka za strujanje obrade podataka preko zaokretnih tablica.
- API i biblioteke za programske jezike C++, Python, Java, Go.
- Web sučelje za korisnike i administratore koje podržava navigaciju kroz pohranu u obliku stabla.
Konačno, ako ste zainteresirani saznati više , trebali biste znati da je kod projekta napisan u C/C++ i otvorenog je koda pod licencom Apache 2.0. Više detalja možete pronaći na sljedećoj poveznici.
GitHub repozitorij sadrži serverski kod za YTsaurus, infrastrukturu za implementaciju koja koristi k8s, web sučelje za sustav i klijentske SDK-ove za popularne programske jezike kao što su C++, Java, Go i Python.