Yandex는 YTsaurus의 소스 코드를 공개했습니다.

YTsaurus

YTsaurus는 MapReduce 모델을 지원하는 빅 데이터용 분산 저장 및 처리 플랫폼입니다.

며칠 전 얀덱스 공개 한 발표를 통해 YTsauru 플랫폼의 소스 코드 공개, MapReduce 패러다임, SQL 쿼리 엔진, 분산 파일 시스템 및 키-값 형식의 NoSQL 스토리지를 사용하여 데이터 조작을 지원하는 대용량 데이터의 분산 저장 및 처리에 사용됩니다.

YTsaurus 익숙한 Yandex 인프라에서 슈퍼컴퓨터의 컴퓨팅 성능을 효율적으로 사용하기 위해 회사의 이 플랫폼은 최대 10만 개의 프로세서와 수천 개의 GPU(머신 러닝 작업용)를 포함하는 000개 이상의 노드 클러스터로 확장할 수 있습니다.

물리적 서버에서 실행되는 격리된 컨테이너를 클러스터 단위로 사용할 수 있습니다. 스토리지는 하드 드라이브, SSD, NVME 및 RAM과 같은 다양한 미디어에 있는 엑사바이트의 데이터를 포함할 수 있습니다.

클러스터는 노드의 동적 추가 및 제거, 이중화(단일 장애 지점 없음), 자동 복제, 활성 클러스터 소프트웨어 업그레이드 및 노드 장애 시 자동 이중화 복구를 지원합니다.

세 가지 유형의 클러스터가 지원됩니다. 컴퓨팅 클러스터(MapReduce 작업을 사용한 빅 데이터의 대규모 병렬 처리용), 피벗 테이블 및 키-값 스토리지용 클러스터, 지리적으로 분산된 클러스터.

플랫폼 기반 서비스는 수만 명의 사용자에게 데이터를 저장하고 처리할 수 있는 수단을 제공할 수 있습니다. Yandex의 일반적인 YTsaurus 애플리케이션에는 광고 네트워크 사용자에 대한 정보 저장, 기계 학습 모델 교육, 검색 색인 형성, Yandex Taxi, Food, Lavka 및 배달과 같은 서비스를 위한 데이터 웨어하우스 구축이 포함됩니다.

기본 사용 사례 중 다음과 같이 언급됩니다.

  • 일괄 처리: 구조화 및 반구조화 데이터(레코드 또는 금융 거래) 처리를 위한 MapReduce 및 SPYT(YTsaurus의 데이터에 대한 컴퓨팅 엔진으로서의 Apache Spark).
  • 임시 분석: 별도의 분석 시스템에 데이터를 복사하지 않고 CHYT(YTsaurus 컴퓨팅 노드에 있는 ClickHouse 서버 그룹)를 통한 빠른 쿼리. 시각화를 위해 BI를 연결할 수 있는 ODBC 및 JDBC.
  • OLTP 작업: 키-값 스토리지를 사용한 실시간 트랜잭션 작업: 예: 사용자 프로필 스토리지, 광고 표시 또는 스트림 처리.
  • 기계 학습: GPU 클러스터를 관리하여 수십억 개의 매개변수로 모델을 교육합니다.
  • 메타 정보 저장: 메타정보의 트랜잭션 저장 및 분산 잠금의 안정적인 서비스.
  • 일반적인 도구인 Apache Spark, SQL, MapReduce를 사용하여 다중 계층 데이터 처리를 위한 데이터 웨어하우스 및 ETL 생성.

아키텍처의 주요 요소 부분에서 다음이 언급됩니다.

  • 분산 파일 시스템 및 Cypress 내결함성 트리 기반 메타정보 저장소.
  • MapReduce 모델과 고급 기본 작업을 지원하는 분산 컴퓨팅용 스케줄러입니다.
  • IT 운영의 수평적 확장성.
  • 컴퓨팅 리소스의 격리 및 특정 컴퓨팅 리소스(CPU, GPU, RAM)를 다른 비율로 할당할 수 있습니다.
  • OLTP 스토리지 생성을 위한 피벗 테이블, MVCC 기반 스토리지 지원, 트랜잭션, 만료 후 데이터 삭제 기능, 피벗 테이블을 통한 스트리밍 데이터 처리를 위한 메시지 대기열.
  • C++, Python, Java, Go 프로그래밍 언어용 API 및 라이브러리.
  • 트리형 스토리지를 통한 탐색을 지원하는 사용자 및 관리자를 위한 웹 인터페이스입니다.

최종적으로 그것에 대해 더 많이 알고 싶다면, 프로젝트의 코드가 C/C++로 작성되었으며 Apache 2.0 라이선스에 따라 공개된다는 것을 알아야 합니다. 상세내역에서 확인하실 수 있습니다 다음 링크.

El GitHub 저장소 YTsaurus용 서버 코드, k8s에서 사용하는 배포 프레임워크, 시스템에 대한 웹 인터페이스, C++, Java, Go 및 Python과 같은 널리 사용되는 프로그래밍 언어용 클라이언트 SDK를 포함합니다. 


Google에서 선호하는 검색 엔진으로 추가