Yandex lançou o código-fonte do YTsaurus

YTsaurus

O YTsaurus é uma plataforma de armazenamento e processamento distribuído para big data com suporte para o modelo MapReduce.

Há alguns dias, a Yandex anunciou a abertura do código-fonte da plataforma YTsauru, utilizada para armazenamento e processamento distribuído de grandes volumes de dados, com suporte à manipulação de dados por meio do paradigma MapReduce, mecanismo de consulta SQL, sistema de arquivos distribuído e armazenamento NoSQL em formato chave-valor.

O YTsaurus é usado na infraestrutura da Yandex para utilizar de forma eficiente o poder computacional dos supercomputadores da empresa. A plataforma pode ser dimensionada para clusters com mais de 10.000 nós, abrangendo até um milhão de processadores e milhares de GPUs (para tarefas de aprendizado de máquina).

Contêineres isolados em execução em servidores físicos podem ser usados ​​como unidades de cluster. O armazenamento pode conter exabytes de dados localizados em várias mídias, como discos rígidos, SSDs, NVME e RAM.

O cluster suporta adição dinâmica e remoção de nós, redundância (sem ponto único de falha), replicação automática, atualizações de software de cluster ativo e recuperação automática de redundância em caso de falha do nó.

São suportados três tipos de clusters: clusters de computação (para processamento paralelo massivo de big data usando operações MapReduce), clusters para tabelas dinâmicas e armazenamento de chave-valor, e clusters geograficamente distribuídos.

Um serviço baseado em plataforma pode fornecer os meios para armazenar e processar dados para dezenas de milhares de usuários. Os aplicativos típicos do YTsaurus no Yandex incluem o armazenamento de informações sobre usuários da rede de anúncios, treinamento de modelos de aprendizado de máquina, formação de um índice de pesquisa e construção de um data warehouse para serviços como Yandex Taxi. , Food, Lavka e entregas

Dos casos de uso básicos, é mencionado:

  • Processamento em lote: MapReduce e SPYT (Apache Spark como um motor de computação em dados em YTsaurus) para o processamento de dados estruturados e semi-estruturados: registros ou transações financeiras.
  • Análise ad hoc: Consultas rápidas via CHYT (um grupo de servidores ClickHouse em nós de computação YTsaurus) sem copiar dados para um sistema analítico separado. ODBC e JDBC com a capacidade de conectar BI para visualização.
  • Tarefas OLTP: Trabalho transacional em tempo real com armazenamento de valor-chave: por exemplo, armazenamento de perfil de usuário, exibição de anúncio ou processamento de fluxo.
  • Aprendizado de máquina: Gerencie clusters de GPU para treinar modelos com bilhões de parâmetros.
  • Armazenamento de metainformações: Armazenamento transacional de metainformações e serviço confiável de bloqueios distribuídos.
  • Criação de data warehouses e ETL para processamento de dados multi-tier usando ferramentas típicas: Apache Spark, SQL, MapReduce.

Enquanto por parte dos principais elementos da arquitetura, são mencionados os seguintes:

  • Sistema de arquivos distribuído e armazenamento de metainformações baseado em árvore tolerante a falhas Cypress.
  • Scheduler para computação distribuída com suporte para o modelo MapReduce, bem como operações básicas avançadas.
  • Escalabilidade horizontal das operações de TI.
  • Isolamento de recursos de computação e possibilidade de alocar certos recursos de computação (CPU, GPU, RAM) em diferentes proporções.
  • Tabelas dinâmicas para criar armazenamento OLTP, suporte para armazenamento baseado em MVCC, transações, capacidade de excluir dados após a expiração e filas de mensagens para processamento de dados de streaming em tabelas dinâmicas.
  • API e bibliotecas para linguagens de programação C++, Python, Java, Go.
  • Uma interface da web para usuários e administradores que oferece suporte à navegação por meio de um armazenamento semelhante a uma árvore.

Por fim, caso tenha interesse em saber mais , saiba que o código do projeto foi escrito em C/C++ e é de código aberto sob a licença Apache 2.0. Você pode encontrar mais detalhes no seguinte link.

O repositório GitHub contém o código do servidor para o YTsaurus, a infraestrutura de implantação que utiliza o Kubernetes, uma interface web para o sistema e SDKs de cliente para linguagens de programação populares como C++, Java, Go e Python.


Adicionar como fonte preferencial no Google