Yandex는 DBMS «YDB»의 소스 코드를 공개했습니다.

최근 뉴스는 Yandex는 DBMS «YDB»의 소스 코드를 공개했습니다., SQL 언어 및 ACID 트랜잭션에 대한 지원을 구현합니다.

DBMS 처음부터 처음부터 내결함성을 보장하기 위해 개발되었습니다., 자동 장애 조치 및 확장성. Yandex는 수백 페타바이트의 데이터를 저장하고 초당 수백만 개의 분산 트랜잭션을 제공하는 10개 이상의 노드를 포함하여 작동하는 YDB 클러스터를 시작했습니다.

YDB의 주요 참신함

YDB에서 눈에 띄는 기능은 YQL 테이블과 관계형 데이터 모델 사용(YDB 쿼리 언어)는 데이터 스키마를 쿼리하고 정의하는 데 사용됩니다. 대규모 분산 데이터베이스 작업에 적합한 SQL 방언. 스토리지 스키마를 생성할 때 파일 시스템의 디렉토리와 유사한 트리와 같은 테이블 그룹화가 지원됩니다. JSON 형식의 데이터 작업을 위한 API가 제공됩니다.

그만큼 내결함성 구성을 생성하는 기능 디스크, 노드, 랙 및 개별 데이터 센터에 장애가 발생해도 계속 작동합니다. YDB는 영역 중 하나에 장애가 발생하는 경우 클러스터 상태를 유지하면서 XNUMX개의 가용 영역에 걸쳐 동기식 배포 및 복제를 지원합니다.

데이터 액세스 지원 데이터베이스에서 임시 분석 쿼리를 수행하도록 설계된 스캔 쿼리를 사용하여 읽기 전용 모드로 실행하고 grpc 스트림을 반환합니다.

게다가 눈에 띄는 PDDisk 구성 요소를 사용하여 블록 장치에 직접 데이터 저장 기본 및 VDisk 계층. VDisk 외에도 DSProxy가 실행되어 디스크의 가용성과 성능을 분석하여 문제가 감지되면 디스크를 제외합니다.

~ 중 다른 특징들 눈에 띄는 :

  • YDB를 기반으로 가상 블록 장치 및 영구 대기열에 이르기까지 다양한 서비스를 구축할 수 있는 유연한 아키텍처입니다. 다양한 유형의 워크로드에 대한 적합성: OLTP 및 OLAP(분석 쿼리).
  • 다중 사용자(다중 테넌트) 및 서버리스 구성을 지원합니다.
  • 클라이언트를 인증하는 기능. 사용자는 요청 수 및 데이터 크기 측면에서 리소스 소비를 고려하거나 특정 컴퓨팅 리소스 및 저장 공간을 임대/예약하여 공통 공유 인프라에서 자신의 가상 클러스터 및 데이터베이스를 생성할 수 있습니다.
  • 사용되지 않는 데이터의 자동 삭제를 위해 기록의 유효 수명을 조정할 수 있습니다.
  • DBMS와의 상호 작용 및 요청 제출은 명령줄 인터페이스, 통합 웹 인터페이스 또는 C++, C#(.NET), Go, Java, Node.js, PHP 및 Python용 라이브러리를 제공하는 YDB SDK를 사용하여 수행됩니다.
  • 애플리케이션에 대한 지연을 최소화하면서 장애로부터 자동으로 복구하고 데이터를 저장할 때 지정된 중복성을 자동으로 유지합니다.
  • 기본 키에 대한 인덱스 자동 생성 및 임의 열 액세스의 효율성을 개선하기 위해 보조 인덱스를 정의하는 기능.
  • 수평적 확장성. 저장되는 데이터의 로드와 크기가 커짐에 따라 새로운 노드를 연결하는 것만으로 클러스터를 확장할 수 있습니다. 컴퓨팅 계층과 스토리지 계층이 분리되어 컴퓨팅과 스토리지를 별도로 확장할 수 있습니다. DBMS 자체는 사용 가능한 하드웨어 리소스를 고려하여 데이터 및 로드의 균일한 분포를 모니터링합니다. 세계 여러 지역의 여러 데이터 센터를 포괄하는 지리적으로 분산된 구성을 구현할 수 있습니다.
  • 여러 노드와 테이블에 걸쳐 있는 쿼리를 처리할 때 강력한 일관성 모델 및 ACID 트랜잭션을 지원합니다. 성능을 향상시키기 위해 일관성 검사를 선택적으로 비활성화할 수 있습니다.
  • 자동 데이터 복제, 크기 또는 로드 증가 시 자동 파티셔닝(파티셔닝, 샤딩), 노드 간 자동 로드 및 데이터 밸런싱.

마지막으로, YDB는 Yandex 프로젝트에서 사용된다는 점에 유의해야 합니다. 코드는 C/C++로 작성되었으며 Apache 2.0 라이선스에 따라 배포됩니다. 소스 코드와 이에 대한 자세한 내용을 볼 수 있습니다. 다음 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.