Yandex zveřejnil zdrojový kód YTsaurus

YTsaurus

YTsaurus je distribuovaná platforma pro ukládání a zpracování velkých dat s podporou modelu MapReduce.

Před několika dny společnost Yandex oznámila open source platformu YTsauru, která slouží k distribuovanému ukládání a zpracování velkého množství dat a podporuje manipulaci s daty pomocí paradigmatu MapReduce, SQL dotazovací engine, distribuovaný souborový systém a NoSQL úložiště ve formátu klíč-hodnota.

YTsaurus se používá v infrastruktuře společnosti Yandex k efektivnímu využití výpočetního výkonu superpočítačů společnosti. Platforma se dá škálovat na clustery s více než 10 000 uzly, což zahrnuje až milion procesorů a tisíce GPU (pro úlohy strojového učení).

Izolované kontejnery běžící na fyzických serverech lze použít jako klastrové jednotky. Úložiště může obsahovat exabajty dat umístěných na různých médiích, jako jsou pevné disky, SSD, NVME a RAM.

Cluster podporuje dynamické přidávání a odebírání uzlů, redundanci (žádný jediný bod selhání), automatickou replikaci, aktivní aktualizace softwaru clusteru a automatickou obnovu redundance v případě selhání uzlu.

Jsou podporovány tři typy clusterů: výpočetní clustery (pro masivní paralelní zpracování velkých dat pomocí operací MapReduce), clustery pro pivotní tabulky a ukládání párů klíč-hodnota a geograficky distribuované clustery.

Služba založená na platformě může poskytnout prostředky pro ukládání a zpracování dat pro desítky tisíc uživatelů. Typické aplikace YTsaurus v Yandexu zahrnují ukládání informací o uživatelích reklamní sítě, trénování modelů strojového učení, vytváření indexu vyhledávání a budování datového skladu pro služby jako Yandex Taxi. , Food, Lavka a doručování

Ze základních případů použití je zmíněno:

  • Dávkové zpracování: MapReduce a SPYT (Apache Spark jako výpočetní engine na datech v YTsauru) pro zpracování strukturovaných a polostrukturovaných dat: záznamů nebo finančních transakcí.
  • Ad hoc analýza: Rychlé dotazy přes CHYT (skupina serverů ClickHouse na výpočetních uzlech YTsaurus) bez kopírování dat do samostatného analytického systému. ODBC a JDBC s možností připojení BI pro vizualizaci.
  • Úkoly OLTP: Transakční práce v reálném čase s úložištěm párů klíč–hodnota: například úložiště uživatelského profilu, zobrazování reklam nebo zpracování streamů.
  • Strojové učení: Spravujte clustery GPU a trénujte modely s miliardami parametrů.
  • Ukládání meta informací: Transakční ukládání metainformací a spolehlivý servis distribuovaných zámků.
  • Vytváření datových skladů a ETL pro vícevrstvé zpracování dat pomocí typických nástrojů: Apache Spark, SQL, MapReduce.

Zatímco na straně hlavních prvků architektury jsou zmíněny následující:

  • Distribuovaný systém souborů a úložiště metainformací založené na stromech odolné proti chybám Cypress.
  • Plánovač pro distribuované výpočty s podporou modelu MapReduce a pokročilými základními operacemi.
  • Horizontální škálovatelnost IT operací.
  • Izolace výpočetních zdrojů a možnost alokovat určité výpočetní zdroje (CPU, GPU, RAM) v různých poměrech.
  • Kontingenční tabulky pro vytváření úložiště OLTP, podpora úložiště na bázi MVCC, transakce, možnost mazat data po vypršení platnosti a fronty zpráv pro streamování zpracování dat přes kontingenční tabulky.
  • API a knihovny pro programovací jazyky C++, Python, Java, Go.
  • Webové rozhraní pro uživatele a správce, které podporuje navigaci ve stromovém úložišti.

A konečně, pokud se chcete dozvědět více , měli byste vědět, že kód projektu je napsán v jazyce C/C++ a je open source pod licencí Apache 2.0. Více informací naleznete na následujícím odkazu.

Repozitář GitHub obsahuje serverový kód pro YTsaurus, infrastrukturu pro nasazení, která používá k8s, webové rozhraní pro systém a klientské SDK pro populární programovací jazyky, jako jsou C++, Java, Go a Python.


Přidat jako preferovaný zdroj v Googlu