yoongrammer

YugabyteDB 알아보기 본문

Infra/YugabyteDB

YugabyteDB 알아보기

yoongrammer 2021. 2. 5. 15:07
728x90

목차

    YugabyteDB 알아보기


    YugabyteDB는 고성능 클라우드 네이티브 분산 SQL 데이터베이스입니다.

     

    특징


    YugabyteDB 특징은 다음과 같습니다.

    1. 강력한 RDBMS 기능 제공
      • PostgreSQL과 호환됩니다.
    2. High Performance
      • 낮은 대기시간과 높은 처리량을 보여줍니다. (C, C++ 언어로 만들어짐)
    3. Strong consistency
      • ACID transaction 지원으로 강한 일관성을 보장합니다.
    4. Continuous availability
      • 지속적인 가용성을 위해 raft 분산 합의 프로토콜 기반 이중화를 사용합니다.
    5. Horizontal scalability
      • 수평 확장이 간단합니다.
    6. Multi-cloud
      • 다중 클라우드 배포가 가능합니다.
        • AWS, GCP, Azure, Pivotal
        • Docker, Kubernetes
    7. 100% open source
      • Apache 2.0 라이선스에 따라 완전 오픈 소스입니다.

    Architecture


    YugabyteDB는 계층화된 아키텍처를 따릅니다. 아래 그림과 같이 2 개의 논리 계층으로 구성됩니다.

    Yugabyte Query Layer (YQL)


    이 계층은 쿼리를 받아 파싱하고 실행하는 역할을 합니다.

     

    현재 두 가지 유형의 분산 SQL API를 지원합니다. (새 API가 추가될 수 있음)

    1. Yugabyte SQL (YSQL)
      • PostgreSQL과 호환되는 쿼리 엔진입니다.
      • RDBMS 성격을 가짐
    2. Yugabyte Cloud Query Language (YCQL)
      • Cassandra Query Language( CQL)와 호환되는 쿼리 엔진입니다.
      • NoSQL 성격을 가짐

    DocDB


    DocDB는 트랜잭션, 샤딩, 복제 및 지속성을 담당하는 YugabyteDB의 분산 문서 저장소입니다.

    전달받은 쿼리 데이터는 RocksDB를 기반으로 하는 키-값 저장소를 사용하여 저장됩니다.

    개념


    YB-TServer


    TB-TServer (Yugabyte Tablet Server)는 사용자 쿼리를 받아 처리하는 역할을 합니다.

    TB-TServer는 2 계층(YQL, DocDB)으로 나뉘고 DocDB계층에는 하나 이상의 tablet-peer를 가지고 있습니다.

    YB-Master


    YB-Master (Yugabyte Master Server)는 테이블, tablet의 위치와 같은 시스템 메타 데이터를 보관합니다.

    admin client를 사용하여 YB-Master에 요청하면 각종 상태를 UI로 확인할 수 있습니다.

     

    YB-Master의 기능은 다음과 같습니다.

    • DDL 수행 (Create, Alter, Drop)
    • 시스템 메타 데이터 저장
    • Load & Leader balancing
    • YB-Tserver 장애 감시

    Tablet


    사용자 테이블은 DocDB에 의해 여러 tablet으로 관리됩니다.

    YugabyteDB는 샤드를 tablet으로 표현합니다.

    샤드(shard)란 샤딩(sharding)에 의해 생긴 파티션입니다. 샤딩이란 수평 분할을 의미합니다.

    Replication


    샤딩을 통해 분할된 tablet들은 raft 분산 합의 알고리즘을 통해 이중화(복제)가 됩니다.

     

    DocDB의 데이터 복제는 tablet-peers를 사용하여 tablet 수준에서 이루어집니다.

    각 tablet은 tablet-peers 세트로 구성되며 각 tablet에는 tablet에 속한 데이터 사본이 저장되 있습니다.

    참고: docs.yugabyte.com/

     

     

    728x90

    'Infra > YugabyteDB' 카테고리의 다른 글

    YugabyteDB 설치하기  (0) 2021.02.06
    Comments