A Yandex kiadta az YTsaurus forráskódját

YTsaurus

Az YTsaurus egy elosztott tárolási és feldolgozási platform nagy adatokhoz, amely támogatja a MapReduce modellt.

Néhány napja A Yandex bemutatta egy bejelentetten keresztül az YTsauru platform forráskódjának megnyitása, amely nagy mennyiségű adat elosztott tárolására és feldolgozására szolgál, amely támogatja az adatkezelést a MapReduce paradigma, SQL lekérdező motor, elosztott fájlrendszer és NoSQL tárolás használatával kulcsérték formátumban.

YTsaurus használt a Yandex infrastruktúrán a szuperszámítógépek számítási teljesítményének hatékony felhasználása a cégtől A platform több mint 10 000 csomópontból álló fürtökre méretezhető, amelyek akár egymillió processzort és több ezer GPU-t is lefedhetnek (gépi tanulási feladatokhoz).

A fizikai szervereken futó elszigetelt tárolók fürtegységként használhatók. A tárhely exabájtnyi adatot tartalmazhat különféle adathordozókon, például merevlemezeken, SSD-ken, NVME-n és RAM-on.

A fürt támogatja a csomópontok dinamikus hozzáadását és eltávolítását, a redundanciát (nincs egyetlen hibapont), az automatikus replikációt, az aktív fürtszoftver-frissítéseket és az automatikus redundancia-helyreállítást csomóponthiba esetén.

Három típusú fürt támogatott: számítási fürtök (nagy adatok masszívan párhuzamos feldolgozásához a MapReduce műveletek segítségével), fürtök pivot táblákhoz és kulcsérték-tároláshoz, valamint földrajzilag elosztott fürtök.

Egy platform alapú szolgáltatás több tízezer felhasználó számára biztosíthat lehetőséget adatok tárolására és feldolgozására. A Yandex tipikus YTsaurus-alkalmazásai közé tartozik a hirdetési hálózat felhasználóira vonatkozó információk tárolása, a gépi tanulási modellek betanítása, a keresési index kialakítása, valamint adattárház építése olyan szolgáltatások számára, mint a Yandex Taxi. , Food, Lavka és szállítások.

Az alapvető használati esetek közül megemlítjük:

  • Kötegelt feldolgozás: A MapReduce és SPYT (Apache Spark, mint az YTsaurus adatok számítási motorja) strukturált és félig strukturált adatok feldolgozásához: rekordok vagy pénzügyi tranzakciók.
  • Ad hoc elemzés: Gyors lekérdezések a CHYT-n keresztül (a ClickHouse szerverek egy csoportja az YTsaurus számítási csomópontjain) anélkül, hogy az adatokat egy külön analitikai rendszerbe másolnák. ODBC és JDBC BI csatlakoztatásának lehetőségével a megjelenítéshez.
  • OLTP feladatok: Valós idejű tranzakciós munka kulcsérték-tárolással: például felhasználói profil tárolása, hirdetésmegjelenítés vagy adatfolyam-feldolgozás.
  • Gépi tanulás: GPU-fürtök kezelése több milliárd paraméterrel rendelkező modellek betanításához.
  • Meta információk tárolása: Metainformációk tranzakciós tárolása és az elosztott zárak megbízható kiszolgálása.
  • Adattárházak és ETL létrehozása többrétegű adatfeldolgozáshoz tipikus eszközökkel: Apache Spark, SQL, MapReduce.

Az építészet fő elemei közül a következőket említjük:

  • Elosztott fájlrendszer és Cypress hibatűrő fa alapú metainformációs tárhely.
  • Ütemező az elosztott számításokhoz a MapReduce modell támogatásával, valamint fejlett alapműveletekkel.
  • Az IT-műveletek horizontális skálázhatósága.
  • A számítási erőforrások elkülönítése és bizonyos számítási erőforrások (CPU, GPU, RAM) különböző arányú allokálása.
  • Kimutatások az OLTP tárhely létrehozásához, az MVCC alapú tárolás támogatása, a tranzakciók, az adatok lejárat utáni törlésének képessége, valamint üzenetsorok a pivottáblákon keresztüli adatfeldolgozáshoz.
  • API és könyvtárak programozási nyelvekhez C++, Python, Java, Go.
  • Webes felület felhasználók és rendszergazdák számára, amely támogatja a faszerű tárhelyen történő navigálást.

Végül ha érdekel, hogy többet tudjon meg róla, tudnia kell, hogy a projekt kódja C/C++ nyelven íródott, és az Apache 2.0 licenc alatt van nyitva. A részleteket a következő link.

El GitHub tárház tartalmazza az YTsaurus szerverkódját, a k8s által használt telepítési keretrendszert, a rendszer webes felületét, valamint a népszerű programozási nyelvekhez, például a C++, Java, Go és Python kliens SDK-kat. 


Hozzáadás előnyben részesített forrásként a Google-ben