공개 SW 활용

Part 4.

Development of DBMS storage engine technology
to minimize massive data movement
(대용량 데이터 이동을 최소화하는 DBMS 스토리지 엔진 기술 개발)
About OpenCSD Project
클라우드 서비스의 탄력성 및 자원 확장성에 제약이 있는 기존의 독립형(Stand-Alone) DBMS스토리지 기술의 한계를 극복하기 위해,
컴퓨팅과 스토리지가 서로 분리(Disaggregation)된 클라우드 환경에서 데이터베이스의 대용량 데이터를 효율적으로 저장하고 관리하기 위한 연산이 가능한 DBMS 스토리지 기술
Features of OpenCSD
  • 01
    수연산 스토리지 상에 쿼리 오프로드를 위한 실행 명령(스니펫) 생성 기술

    DBMS(Relational/Graph/Key-value) 쿼리 요청 시 실행 계획에 따라 연산 스토리지 상에 푸시다운 수행 여부를
    판단하고 스니펫을 생성, 오프로딩을 통해 연산 스토리지에서 테이블 스캔 실행 명령 수행

    연산자(비교, 산술, 논리, 집합 등) 푸시다운 + 연산 스토리지 주소 정보 → 다양한 DB 엔진에 대한 표준 인터페이스 제공

  • 02
    DBMS 태스크 분산·병렬 수행이 가능한 스토리지 엔진 스니펫 스케줄러 기술

    DBMS 태스크 연산의 고속 오프로딩 및 클라우드 向 데이터 연산을 위한 스토리지 엔진 스니펫* 스케줄러 기술 개발

    분산·병렬 연산처리 + 저지연 다중 요청 처리 → CSD별 유휴 자원(Core, Memory) 선정 , 응답 시간 단축 및 신뢰성 향상

  • 03
    DBMS 태스크 처리를 위한 연산 스토리지 기술

    DBMS 태스크 연산자, 함수 처리를 위한 하드웨어 가속기 지원 경량 가상화기반의 연산스토리지 엔진 기술 개발

    다중 Snippet 처리를 위한 ISP 런타임 + 연산자, 함수 처리를 위한 가속기 → 코어별 Snippet처리, 고속 테이블 스캔으로 응답시간 단축

  • 04
    연산 스토리지 오프로딩을 통한 자원 사용률 및 에너지 절감 분석 모델링 기술

    다양한 DBMS 태스크 오프로딩의 효율성 분석이 가능한 CSD 추상화 기반 시뮬레이터 모델 개발

    DBMS 태스크 오프로딩 분석 + 자원 사용률, 에너지 효율 분석 → 다양한 DBMS 태스크 오프로딩 분석 및 연산 스토리지 적용 확대

  • 05
    高신뢰성 低지연 高성능 입출력 보장을 위한 DBMS 스토리지 SW 기술

    고신뢰성 ACID(Atomicity/Consistency/Isolation/Durability) 속성 보장을 위해 키-밸류 분산 저장소 기반 IO 트랜잭션 기법을 제공하고
    DBMS 입출력 연산 저지연 고성능 처리를 위한 RDMA/SPDK기반 CSD 데이터 처리 고속화 WAL 구현

    키-밸류 저장소기반 트랜잭션 관리 + 가상 인스턴스기반 RDMA/SPDK → 고신뢰성 데이터 정합성 및 고속 저지연 데이터 입출력 보장

  • 06
    차세대 DBMS 스토리지 SW 플랫폼 통합 운용 관리 기술

    고속 연산 스토리지 서비스를 위해 다양한 DBMS 엔진에 대한 입출력 데이터를 처리하는 표준 스토리지 프로토콜(POSIX/BLOCK/OBJECT)과
    컨테이너기반 통합 운영 관리를 위한 API(CSI/RESTAPI)통합 Storage Adapter 인터페이스 기술 개발

    컨테이너기반 스토리지 서비스 프로토콜 모듈 및 연동 API 통합 → 스토리지 효율성(배치/호환성/연동성/관리 편의성) 향상

OpenCSD Project Open Source User Guide
Introduction of KETI-Web-Workbench

KETI-Web-Workbench enables users to monitor databases, perform query pushdown, and run validator to analyze resource utilization and energy savings.

Program Build Requirements

- Python 3.7.5
- Flask 2.2.5
- Werkzeug 2.2.3

How To Install
git clone
python3 app.py
01
Access a Web page
http://localhost:5001/login
02
Access a DB Monitoring Page

Check DB Info

Monitor DB Metrics

Monitor Host Server Metrics

03
Access a Query Pushdown Page

Run Query

Check Query Result

Check Query Metric

Check Host Server Metrics

Check Query Log

04
Access a Validation Page

Run Query

Set Query Pushdown Option

Check Query Log

Compare two query results

This project is supported by IITP grant funded by the Korea government(MSIT) (No.2021-0-00862, Development of DBMS
storage engine technology to minimize massive data movement