Yandex je objavio izvorni kod YTsaurusa

YTsaurus

YTsaurus je distribuirana platforma za skladištenje i obradu velikih podataka sa podrškom za MapReduce model.

Prije nekoliko dana, Yandex je najavio otvoreni kod platforme YTsauru, koja se koristi za distribuirano pohranjivanje i obradu velikih količina podataka, podržavajući manipulaciju podacima korištenjem MapReduce paradigme, SQL query engine, distribuirani datotečni sistem i NoSQL pohranjivanje u formatu ključ-vrijednost.

YTsaurus se koristi u Yandexovoj infrastrukturi kako bi se efikasno iskoristila računarska snaga superračunara kompanije. Platforma se može skalirati na klastere od preko 10.000 čvorova, pokrivajući do milion procesora i hiljade GPU-ova (za zadatke mašinskog učenja).

Izolirani kontejneri koji rade na fizičkim serverima mogu se koristiti kao jedinice klastera. Skladištenje može sadržavati eksabajte 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, redundantnost (bez jedne tačke kvara), automatsku replikaciju, aktivne nadogradnje softvera klastera i automatski oporavak redundanse u slučaju kvara čvora.

Podržane su tri vrste klastera: računarski klasteri (za masovnu paralelnu obradu velikih podataka korištenjem MapReduce operacija), klasteri za pivot tabele i pohranu parova ključ-vrijednost i geografski distribuirani klasteri.

Usluga zasnovana na platformi može da obezbedi sredstva za skladištenje i obradu podataka za desetine hiljada korisnika. Tipične YTsaurus aplikacije u Yandexu uključuju pohranjivanje informacija o korisnicima oglasne mreže, obuku modela mašinskog učenja, formiranje indeksa pretraživanja i izgradnju skladišta podataka za usluge kao što su Yandex Taxi. , Food, Lavka i isporuke

Od osnovnih slučajeva upotrebe spominje se:

  • Grupna obrada: MapReduce i SPYT (Apache Spark kao računarski mehanizam za podatke u YTsaurusu) za obradu strukturiranih i polustrukturiranih podataka: zapisa ili finansijskih transakcija.
  • Ad hoc analiza: Brzi upiti preko CHYT-a (grupa ClickHouse servera na YTsaurus računarskim čvorovima) bez kopiranja podataka u poseban sistem za analizu. ODBC i JDBC sa mogućnošću povezivanja BI za vizualizaciju.
  • OLTP zadaci: Transakcioni rad u realnom vremenu sa pohranom ključ/vrijednost: na primjer, pohrana korisničkog profila, prikaz oglasa ili obrada toka.
  • Mašinsko učenje: Upravljajte GPU klasterima za obuku modela sa milijardama parametara.
  • Skladištenje meta informacija: Transakciono skladištenje metainformacija i pouzdan servis distribuiranih brava.
  • Kreiranje skladišta podataka i ETL-a za višeslojnu obradu podataka pomoću tipičnih alata: Apache Spark, SQL, MapReduce.

U dijelu glavnih elemenata arhitekture spominju se:

  • Distribuirani sistem datoteka i skladište metainformacija na stablu otporno na greške Cypress.
  • Planer za distribuirano računarstvo sa podrškom za MapReduce model, kao i napredne osnovne operacije.
  • Horizontalna skalabilnost IT operacija.
  • Izolacija računarskih resursa i mogućnost alociranja određenih računarskih resursa (CPU, GPU, RAM) u različitim proporcijama.
  • Zaokretne tabele za kreiranje OLTP memorije, podrška za skladištenje zasnovano na MVCC-u, transakcije, mogućnost brisanja podataka nakon isteka i redovi poruka za streaming obradu podataka preko zaokretnih tabela.
  • API i biblioteke za programske jezike C++, Python, Java, Go.
  • Web interfejs za korisnike i administratore koji podržava navigaciju kroz skladište nalik stablu.

Konačno, ako ste zainteresirani da saznate 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ćem linku.

GitHub repozitorij sadrži serverski kod za YTsaurus, infrastrukturu za implementaciju koja koristi k8s, web interfejs za sistem i klijentske SDK-ove za popularne programske jezike kao što su C++, Java, Go i Python.


Dodaj kao preferirani izvor na Googleu