Yandex ha rilasciato il codice sorgente di YTsaurus

YTsauro

YTsaurus è una piattaforma di archiviazione ed elaborazione distribuita per i big data con supporto per il modello MapReduce.

Qualche giorno fa Yandex svelato attraverso uno annunciato l'apertura del codice sorgente della piattaforma YTsauru, che viene utilizzato per l'archiviazione distribuita e l'elaborazione di grandi quantità di dati, che supporta la manipolazione dei dati utilizzando il paradigma MapReduce, il motore di query SQL, il file system distribuito e l'archiviazione NoSQL in formato chiave-valore.

YTsauro Usato sull'infrastruttura Yandex utilizzare in modo efficiente la potenza di calcolo dei supercomputer della compagnia La piattaforma può scalare fino a cluster di oltre 10 nodi, coprendo fino a un milione di processori e migliaia di GPU (per attività di machine learning).

I contenitori isolati in esecuzione su server fisici possono essere utilizzati come unità cluster. L'archiviazione può contenere exabyte di dati che si trovano su vari supporti come dischi rigidi, SSD, NVME e RAM.

Il cluster supporta l'aggiunta e la rimozione dinamica di nodi, la ridondanza (nessun singolo punto di errore), la replica automatica, gli aggiornamenti software del cluster attivi e il ripristino automatico della ridondanza in caso di errore del nodo.

Sono supportati tre tipi di cluster: cluster di calcolo (per l'elaborazione massicciamente parallela di big data utilizzando operazioni MapReduce), cluster per tabelle pivot e archiviazione di valori-chiave e cluster distribuiti geograficamente.

Un servizio basato su piattaforma può fornire i mezzi per archiviare ed elaborare i dati per decine di migliaia di utenti. Le tipiche applicazioni YTsaurus in Yandex includono l'archiviazione di informazioni sugli utenti della rete pubblicitaria, l'addestramento di modelli di apprendimento automatico, la formazione di un indice di ricerca e la creazione di un data warehouse per servizi come Yandex Taxi. , Cibo, Lavka e consegne

Dei casi d'uso di base è menzionato:

  • Elaborazione in lotti: MapReduce e SPYT (Apache Spark come motore di calcolo sui dati in YTsaurus) per l'elaborazione di dati strutturati e semi-strutturati: record o transazioni finanziarie.
  • Analisi ad hoc: Query rapide tramite CHYT (un gruppo di server ClickHouse sui nodi di calcolo YTsaurus) senza copiare i dati in un sistema di analisi separato. ODBC e JDBC con la possibilità di connettere BI per la visualizzazione.
  • Attività OLTP: Lavoro transazionale in tempo reale con archiviazione di valori-chiave: ad esempio, archiviazione del profilo utente, visualizzazione di annunci o elaborazione di flussi.
  • Apprendimento automatico: Gestisci i cluster GPU per addestrare modelli con miliardi di parametri.
  • Memorizzazione di meta informazioni: Archiviazione transazionale di metainformazioni e servizio affidabile di blocchi distribuiti.
  • Creazione di data warehouse ed ETL per l'elaborazione dati multi-tier utilizzando strumenti tipici: Apache Spark, SQL, MapReduce.

Mentre da parte degli elementi principali dell'architettura, sono menzionati i seguenti:

  • File system distribuito e archiviazione di metainformazioni basata su albero tollerante ai guasti di Cypress.
  • Scheduler per il calcolo distribuito con supporto per il modello MapReduce, nonché operazioni di base avanzate.
  • Scalabilità orizzontale delle operazioni IT.
  • Isolamento delle risorse di calcolo e possibilità di allocare determinate risorse di calcolo (CPU, GPU, RAM) in proporzioni diverse.
  • Tabelle pivot per la creazione di archiviazione OLTP, supporto per l'archiviazione basata su MVCC, transazioni, possibilità di eliminare i dati dopo la scadenza e code di messaggi per l'elaborazione dei dati in streaming su tabelle pivot.
  • API e librerie per linguaggi di programmazione C++, Python, Java, Go.
  • Un'interfaccia Web per utenti e amministratori che supporta la navigazione attraverso un archivio ad albero.

Infine se sei interessato a saperne di più, devi sapere che il codice del progetto è scritto in C/C++ ed è aperto con licenza Apache 2.0. Puoi controllare i dettagli nel file seguente link

El Repository GitHub contiene il codice del server per YTsaurus, il framework di distribuzione utilizzato da k8s, un'interfaccia web per il sistema e gli SDK client per i linguaggi di programmazione più diffusi come C++, Java, Go e Python. 


Aggiungi come fonte preferita in Google