Yandex ga ut kildekoden til YTsaurus

YTsaurus

YTsaurus er en distribuert lagrings- og prosesseringsplattform for big data med støtte for MapReduce-modellen.

For noen dager siden Yandex avduket gjennom en annonsert åpningen av kildekoden til YTsauru-plattformen, som brukes til distribuert lagring og behandling av store datamengder, som støtter datamanipulering ved bruk av MapReduce-paradigmet, SQL-spørringsmotor, distribuert filsystem og NoSQL-lagring i nøkkelverdi-format.

YTsaurus brukt på Yandex-infrastrukturen å effektivt bruke datakraften til superdatamaskiner av selskapet Plattformen kan skaleres til klynger på mer enn 10 000 noder, og dekker opptil en million prosessorer og tusenvis av GPUer (for maskinlæringsoppgaver).

Isolerte beholdere som kjører på fysiske servere kan brukes som klyngeenheter. Lagring kan inneholde exabyte med data som ligger på ulike medier som harddisker, SSD-er, NVME og RAM.

Klyngen støtter dynamisk tillegg og fjerning av noder, redundans (ingen enkelt feilpunkt), automatisk replikering, aktive klyngeprogramvareoppgraderinger og automatisk redundansgjenoppretting i tilfelle nodefeil.

Tre typer klynger støttes: dataklynger (for massiv parallell behandling av store data ved bruk av MapReduce-operasjoner), klynger for pivottabeller og nøkkelverdilagring, og geografisk distribuerte klynger.

En plattformbasert tjeneste kan gi midler til å lagre og behandle data for titusenvis av brukere. Typiske YTsaurus-applikasjoner i Yandex inkluderer lagring av informasjon om brukere av annonsenettverk, opplæring av maskinlæringsmodeller, dannelse av en søkeindeks og bygging av et datavarehus for tjenester som Yandex Taxi. , Mat, Lavka og leveranser

Av de grunnleggende brukstilfellene er det nevnt:

  • Batchbehandling: MapReduce og SPYT (Apache Spark som en databehandlingsmotor pÃ¥ data i YTsaurus) for behandling av strukturerte og semistrukturerte data: poster eller økonomiske transaksjoner.
  • Ad hoc analyse: Raske spørringer via CHYT (en gruppe ClickHouse-servere pÃ¥ YTsaurus compute noder) uten Ã¥ kopiere data til et eget analysesystem. ODBC og JDBC med mulighet for Ã¥ koble BI for visualisering.
  • OLTP-oppgaver: Transaksjonsarbeid i sanntid med nøkkelverdilagring: for eksempel brukerprofillagring, annonsevisning eller strømbehandling.
  • Maskinlæring: Administrer GPU-klynger for Ã¥ trene modeller med milliarder av parametere.
  • Lagring av metainformasjon: Transaksjonslagring av metainformasjon og pÃ¥litelig service av distribuerte lÃ¥ser.
  • Opprettelse av datavarehus og ETL for flerlags databehandling ved bruk av typiske verktøy: Apache Spark, SQL, MapReduce.

Mens på en del av hovedelementene i arkitektur, er følgende nevnt:

  • Distribuert filsystem og Cypress-feiltolerant trebasert metainformasjonslagring.
  • Planlegger for distribuert databehandling med støtte for MapReduce-modellen, samt avanserte grunnleggende operasjoner.
  • Horisontal skalerbarhet av IT-drift.
  • Isolering av dataressurser og mulighet for Ã¥ allokere visse dataressurser (CPU, GPU, RAM) i forskjellige proporsjoner.
  • Pivottabeller for Ã¥ lage OLTP-lagring, støtte for MVCC-basert lagring, transaksjoner, muligheten til Ã¥ slette data etter utløp, og meldingskøer for strømming av databehandling over pivottabeller.
  • API og biblioteker for programmeringssprÃ¥kene C++, Python, Java, Go.
  • Et nettgrensesnitt for brukere og administratorer som støtter navigering gjennom en trelignende lagring.

Endelig hvis du er interessert i å vite mer om det, bør du vite at prosjektets kode er skrevet i C/C++ og er åpen under Apache 2.0-lisensen. Du kan sjekke detaljene i følgende lenke.

El GitHub-depot inneholder serverkoden for YTsaurus, distribusjonsrammeverket som brukes av k8s, et nettgrensesnitt til systemet og klient-SDK-er for populære programmeringssprÃ¥k som C++, Java, Go og Python. 


Legg til som foretrukket kilde i Google