Yandex zverejnil zdrojový kód YTsaurus

YTsaurus

YTsaurus je distribuovaná platforma na ukladanie a spracovanie veľkých dát s podporou modelu MapReduce.

Pred niekoľkými dňami Yandex odhalený prostredníctvom jedného ohláseného otvorenie zdrojového kódu platformy YTsauru, ktorý sa používa na distribuované ukladanie a spracovanie veľkého množstva údajov, ktorý podporuje manipuláciu s údajmi pomocou paradigmy MapReduce, dotazovacieho nástroja SQL, distribuovaného súborového systému a úložiska NoSQL vo formáte kľúč – hodnota.

YTsaurus použité v infraštruktúre Yandex efektívne využívať výpočtový výkon superpočítačov spoločnosti Platforma sa môže škálovať na klastre s viac ako 10 000 uzlami, ktoré pokrývajú až milión procesorov a tisíce GPU (pre úlohy strojového učenia).

Izolované kontajnery bežiace na fyzických serveroch možno použiť ako klastrové jednotky. Úložisko môže obsahovať exabajty údajov umiestnených na rôznych médiách, ako sú pevné disky, SSD, NVME a RAM.

Klaster podporuje dynamické pridávanie a odstraňovanie uzlov, redundanciu (bez jediného bodu zlyhania), automatickú replikáciu, aktívne aktualizácie softvéru klastra a automatickú obnovu redundancie v prípade zlyhania uzla.

Podporované sú tri typy klastrov: výpočtové klastre (na masívne paralelné spracovanie veľkých dát pomocou operácií MapReduce), klastre pre kontingenčné tabuľky a úložisko kľúč-hodnota a geograficky distribuované klastre.

Služba založená na platforme môže poskytnúť prostriedky na ukladanie a spracovanie údajov pre desiatky tisíc používateľov. Typické aplikácie YTsaurus v Yandex zahŕňajú ukladanie informácií o používateľoch reklamnej siete, trénovanie modelov strojového učenia, vytváranie indexu vyhľadávania a budovanie dátového skladu pre služby ako Yandex Taxi. , Food, Lavka a dodávky

Zo základných prípadov použitia sa uvádza:

  • Dávkové spracovanie: MapReduce a SPYT (Apache Spark ako výpočtový engine na dátach v YTsaurus) na spracovanie štruktúrovaných a pološtruktúrovaných dát: záznamov alebo finančných transakcií.
  • Ad hoc analýza: Rýchle dopyty cez CHYT (skupina serverov ClickHouse na výpočtových uzloch YTsaurus) bez kopírovania údajov do samostatného analytického systému. ODBC a JDBC s možnosťou pripojenia BI pre vizualizáciu.
  • Úlohy OLTP: Transakčná práca v reálnom čase s úložiskom kľúč – hodnota: napríklad úložisko profilu používateľa, zobrazovanie reklamy alebo spracovanie streamu.
  • Strojové učenie: Spravujte klastre GPU na trénovanie modelov s miliardami parametrov.
  • Ukladanie meta informácií: Transakčné ukladanie metainformácií a spoľahlivý servis distribuovaných zámkov.
  • Vytváranie dátových skladov a ETL pre viacvrstvové spracovanie dát pomocou typických nástrojov: Apache Spark, SQL, MapReduce.

Pokiaľ ide o hlavné prvky architektúry, uvádzajú sa tieto:

  • Distribuovaný súborový systém a stromové úložisko metainformácií odolné voči chybám Cypress.
  • Plánovač pre distribuované výpočty s podporou pre model MapReduce, ako aj pokročilé základné operácie.
  • Horizontálna škálovateľnosť IT operácií.
  • Izolácia výpočtových zdrojov a možnosť alokovať určité výpočtové zdroje (CPU, GPU, RAM) v rôznych pomeroch.
  • Kontingenčné tabuľky na vytváranie úložiska OLTP, podpora úložiska na báze MVCC, transakcie, možnosť vymazať údaje po uplynutí platnosti a fronty správ na streamovanie spracovania údajov cez kontingenčné tabuľky.
  • API a knižnice pre programovacie jazyky C++, Python, Java, Go.
  • Webové rozhranie pre používateľov a správcov, ktoré podporuje navigáciu cez stromové úložisko.

Konečne ak máte záujem dozvedieť sa o tom viac, mali by ste vedieť, že kód projektu je napísaný v C/C++ a je otvorený pod licenciou Apache 2.0. Podrobnosti si môžete skontrolovať v nasledujúci odkaz.

El Úložisko GitHub obsahuje serverový kód pre YTsaurus, nasadzovací rámec používaný k8s, webové rozhranie k systému a klientske SDK pre populárne programovacie jazyky ako C++, Java, Go a Python. 


Pridať ako preferovaný zdroj v Google