Yandex avaldas YTsauruse lähtekoodi

YTsaurus

YTsaurus on suurandmete hajutatud salvestus- ja töötlemisplatvorm, mis toetab MapReduce'i mudelit.

Mõni päev tagasi teatas Yandex YTsauru platvormi avatud lähtekoodist, mida kasutatakse suurte andmemahtude hajutatud salvestamiseks ja töötlemiseks, toetades andmete manipuleerimist MapReduce'i paradigma, SQL-päringumootori, hajutatud failisüsteemi ja NoSQL-i salvestamise abil võtme-väärtuse formaadis.

YTsaurust kasutatakse Yandexi infrastruktuuris ettevõtte superarvutite arvutusvõimsuse tõhusaks kasutamiseks . Platvorm on skaleeritav enam kui 10 000 sõlmega klastriteks, hõlmates kuni miljon protsessorit ja tuhandeid graafikaprotsessoreid (masinõppe ülesannete jaoks).

Füüsilistes serverites töötavaid isoleeritud konteinereid saab kasutada klastriüksustena. Salvestusruum võib sisaldada eksabaite andmeid, mis asuvad erinevatel meediumitel, nagu kõvakettad, SSD-d, NVME ja RAM.

Klaster toetab sõlmede dünaamilist lisamist ja eemaldamist, koondamist (ei ühtki tõrkepunkti), automaatset replikatsiooni, aktiivseid klastri tarkvarauuendusi ja automaatset koondamise taastamist sõlme rikke korral.

Toetatud on kolme tüüpi klastreid: arvutusklastrid (suurandmete massiliseks paralleelseks töötlemiseks MapReduce'i toimingute abil), klastrid pöördtabelite ja võtme-väärtuse salvestamiseks ning geograafiliselt hajutatud klastrid.

Platvormipõhine teenus võib pakkuda vahendeid andmete salvestamiseks ja töötlemiseks kümnetele tuhandetele kasutajatele. Tüüpilised YTsauruse rakendused Yandexis hõlmavad teabe salvestamist reklaamivõrgu kasutajate kohta, masinõppemudelite koolitamist, otsinguindeksi moodustamist ja andmelao loomist selliste teenuste jaoks nagu Yandex Taxi. , Food, Lavka ja tarned.

Peamistest kasutusjuhtudest mainitakse:

  • Partii töötlemine: MapReduce ja SPYT (Apache Spark kui YTsauruse andmete arvutusmootor) struktureeritud ja poolstruktureeritud andmete töötlemiseks: kirjed või finantstehingud.
  • Ad hoc analüüs: Kiired päringud CHYT (YTsauruse arvutussõlmede ClickHouse'i serverite rühm) kaudu ilma andmeid eraldi analüüsisüsteemi kopeerimata. ODBC ja JDBC koos võimalusega ühendada BI visualiseerimiseks.
  • OLTP ülesanded: Reaalajas tehingutöö võtmeväärtuste salvestusega: näiteks kasutajaprofiili salvestamine, reklaamide kuvamine või voo töötlemine.
  • Masinõpe: Hallake GPU-klastreid, et koolitada miljardite parameetritega mudeleid.
  • Meta teabe salvestamine: Metateabe tehingute salvestamine ja hajutatud lukkude usaldusväärne teenindus.
  • Andmeladude ja ETL loomine mitmetasandiliseks andmetöötluseks, kasutades tüüpilisi tööriistu: Apache Spark, SQL, MapReduce.

Arhitektuuri põhielementidest mainitakse järgmist:

  • Hajutatud failisüsteem ja Cypressi tõrketaluv puupõhine metainfosalvestus.
  • Hajutatud andmetöötluse plaanija, mis toetab MapReduce'i mudelit, aga ka täiustatud põhitoiminguid.
  • IT-toimingute horisontaalne skaleeritavus.
  • Arvutusressursside eraldamine ja võimalus eraldada teatud arvutusressursse (CPU, GPU, RAM) erinevates proportsioonides.
  • PivotTable-liigendtabelid OLTP-salvestusruumi loomiseks, MVCC-põhise salvestusruumi tugi, tehingud, andmete kustutamise võimalus pärast aegumist ja sõnumijärjekorrad andmete voogesitamiseks PivotTable-liigendtabelite kaudu.
  • API ja teegid programmeerimiskeelte C++, Python, Java, Go jaoks.
  • Kasutajatele ja administraatoritele mõeldud veebiliides, mis toetab puukujulise salvestusruumi kaudu navigeerimist.

Lõpuks, kui olete huvitatud lisateabe saamisest , peaksite teadma, et projekti kood on kirjutatud C/C++ keeles ja on avatud lähtekoodiga Apache 2.0 litsentsi alusel. Lisateavet leiate järgmiselt lingilt.

GitHubi hoidla sisaldab YTsauruse serverikoodi, mis on k8s-i kasutav juurutamise infrastruktuur, süsteemi veebiliides ja kliendi SDK-d populaarsetele programmeerimiskeeltele nagu C++, Java, Go ja Python.


Lisa eelistatud allikana Google'is