Yandex julkaisi YTsauruksen lähdekoodin

YTsaurus

YTsaurus on hajautettu tallennus- ja käsittelyalusta suurille datalle, joka tukee MapReduce-mallia.

Muutama päivä sitten Yandex ilmoitti YTsauru-alustan avoimesta lähdekoodista. Alustaa käytetään suurten tietomäärien hajautettuun tallennukseen ja käsittelyyn. Alusta tukee datan käsittelyä MapReduce-paradigman, SQL-kyselymoottorin, hajautetun tiedostojärjestelmän ja NoSQL-tallennuksen avulla avain-arvo-muodossa.

YTsaurus-alustaa käytetään Yandexin infrastruktuurissa yrityksen supertietokoneiden laskentatehon tehokkaaseen hyödyntämiseen . Alusta voi skaalautua yli 10 000 solmun klustereihin, jotka kattavat jopa miljoona prosessoria ja tuhansia näytönohjaimia (koneoppimistehtäviä varten).

Fyysisillä palvelimilla toimivia eristettyjä säiliöitä voidaan käyttää klusteriyksikköinä. Tallennustila voi sisältää eksatavuja tietoa eri tietovälineillä, kuten kiintolevyillä, SSD-levyillä, NVME:llä ja RAM-muistilla.

Klusteri tukee solmujen dynaamista lisäämistä ja poistamista, redundanssia (ei yhtä vikakohtaa), automaattista replikointia, aktiivisia klusterin ohjelmistopäivityksiä ja automaattista redundanssin palautusta solmun vian sattuessa.

Kolmenlaisia ​​klustereita tuetaan: laskentaklustereita (massiivisen big datan rinnakkaiskäsittelyyn MapReduce-operaatioiden avulla), klustereita pivot-taulukoille ja avain-arvo-tallennukselle sekä maantieteellisesti hajautettuja klustereita.

Alustapohjainen palvelu voi tarjota keinot tietojen tallentamiseen ja käsittelyyn kymmenille tuhansille käyttäjille. Tyypillisiä Yandexin YTsaurus-sovelluksia ovat mainosverkoston käyttäjien tietojen tallentaminen, koneoppimismallien koulutus, hakuindeksin muodostaminen ja tietovaraston rakentaminen palveluille, kuten Yandex Taxi. , Food, Lavka ja toimitukset.

Peruskäyttötapauksista mainitaan:

  • Eräkäsittely: MapReduce ja SPYT (Apache Spark YTsaurusen tietojen laskentamoottorina) strukturoidun ja puolistrukturoidun tiedon käsittelyyn: tietueet tai taloustapahtumat.
  • Ad hoc -analyysi: Nopeat kyselyt CHYT:n kautta (ryhmä ClickHouse-palvelimia YTsauruksen laskentasolmuissa) ilman tietojen kopioimista erilliseen analytiikkajärjestelmään. ODBC ja JDBC, joissa on mahdollisuus yhdistää BI visualisointia varten.
  • OLTP-tehtävät: Reaaliaikainen tapahtumatyö avainarvojen tallennuksen kanssa: esimerkiksi käyttäjäprofiilin tallennus, mainosten näyttäminen tai striimin käsittely.
  • Koneoppiminen: Hallitse GPU-klustereita kouluttaaksesi malleja, joissa on miljardeja parametreja.
  • Metatietojen tallennus: Metatietojen transaktiovarastointi ja hajautettujen lukkojen luotettava palvelu.
  • Tietovarastojen ja ETL:n luominen monitasoiseen tietojenkäsittelyyn tyypillisillä työkaluilla: Apache Spark, SQL, MapReduce.

Arkkitehtuurin pääelementtien puolelta mainitaan seuraavat:

  • Hajautettu tiedostojärjestelmä ja Cypressin vikasietoinen puupohjainen metatietojen tallennus.
  • Hajautetun laskennan ajastin, joka tukee MapReduce-mallia sekä edistyneitä perustoimintoja.
  • IT-toimintojen horisontaalinen skaalautuvuus.
  • Laskentaresurssien eristäminen ja mahdollisuus allokoida tiettyjä laskentaresursseja (CPU, GPU, RAM) eri suhteissa.
  • Pivot-taulukot OLTP-tallennustilan luomiseen, tuki MVCC-pohjaiselle tallennustilalle, tapahtumille, mahdollisuus poistaa tietoja vanhenemisen jälkeen ja viestijonot tietojen suoratoistoon pivot-taulukoiden kautta.
  • API ja kirjastot ohjelmointikielille C++, Python, Java, Go.
  • Verkkokäyttöliittymä käyttäjille ja järjestelmänvalvojille, joka tukee navigointia puumaisen tallennustilan läpi.

Lopuksi, jos olet kiinnostunut oppimaan lisää , sinun tulisi tietää, että projektin koodi on kirjoitettu C/C++:lla ja se on avoimen lähdekoodin Apache 2.0 -lisenssin alaista. Lisätietoja löydät seuraavasta linkistä.

GitHub -arkisto sisältää YTsaurus-palvelinkoodin, k8s:ää käyttävän käyttöönottoinfrastruktuurin, järjestelmän web-käyttöliittymän sekä asiakasohjelmistokehityspaketit suosituille ohjelmointikielille, kuten C++, Java, Go ja Python.


Lisää ensisijaiseksi lähteeksi Googlessa