Rocks DB 스토리지 구현 1)

Tasker_Jang·2024년 8월 31일
0

목표
프로젝트에 RocksDB 스토리지를 구현하여 로그를 저장하는 엔진으로 RocksDB를 사용할 수 있도록 합니다.

작업

  1. RocksDB 스토리지 구현:

    • RocksDB를 사용하여 로그 데이터를 관리하고 저장하는 새로운 스토리지 모듈 또는 구조체를 정의합니다.
    • 이 구조체는 기존 코드베이스와 원활하게 통합될 수 있도록 StableStorage 트레이트를 구현해야 합니다.
  2. RocksDB 메서드 활용:

    • RocksDB의 핵심 메서드(put, get, delete 등)를 사용하여 로그 저장, 검색, 삭제 기능을 구현합니다.
    • 구현은 대용량 데이터를 효율적으로 처리하면서 성능과 안정성을 유지해야 합니다.
  3. 기존 코드베이스와 통합:

    • 새롭게 구현된 RocksDB 스토리지 구현이 기존의 스토리지 인터페이스와 호환되도록 하여 다른 스토리지 유형과 쉽게 교체할 수 있도록 합니다.
    • 구성 또는 런타임 중에 다른 스토리지 백엔드를 선택할 수 있도록 코드베이스의 관련 부분을 수정합니다.
  4. 성능 벤치마킹:

    • 구현 후, RocksDB 스토리지의 성능을 다른 스토리지 유형과 비교하여 그 효율성과 적합성을 평가합니다.
    • 읽기/쓰기 속도, 메모리 사용량 등 관련 메트릭을 비교하여 다양한 시나리오에 대한 최적의 스토리지 옵션에 대한 인사이트를 제공합니다.

학습할 것들

  1. RocksDB 기초:

    • RocksDB의 공식 문서를 통해 RocksDB의 내부 구조와 동작 방식을 이해합니다.
    • Column Families, Write-Ahead Logging(WAL), Compaction, Snapshots 등의 핵심 개념에 집중합니다.
  2. Rust와의 RocksDB 통합:

    • Rust RocksDB 라이브러리를 사용하여 Rust에서 RocksDB와 상호작용하는 방법을 배웁니다.
    • Rust에서 RocksDB를 사용하여 데이터베이스를 생성, 읽기, 쓰기, 삭제하는 API를 숙달합니다.
profile
터널을 지나고 있을 뿐, 길은 여전히 열려 있다.

0개의 댓글