• >
  • 스타랩과제
  • >    flash sql 연구실
flash sql 연구실
비휘발성 메모리 기반 개방형 고성능 DBMS 개발
성균관대학교 / 총괄책임자: 이상원 / http://flashsql.skku.ac.kr
과제 소개
본 연구과제에서는 차세대 메모리 저장장치 활용 및 최적화 기술이 적용된 오픈 소스 데이터베이스인 FlashSQL 기술을 개발한다. 모든 기술 연구는 오픈 소스 데이터베이스인 MySQL/InnoDB에 적용하여 오픈 소스로 배포한다. 각 연차별 개발 기술이 적용된 FlashSQL의 데이터베이스의 main release를 매년 순차적으로 배포한다.
FlashSQL 프로젝트를 진행하면서 공개한 기술 및 데이터베이스의 활발한 기술적 홍보 및 국내외 연구진들과의 교류를 위한 전용 오픈 소스 커뮤니티를 개설한다. 오픈 소스 커뮤니티 관리는 본 연구책임자가 소속된 성균관대학교에서 관리하는 OpenSSD 프로젝트 홈페이지 관리 경험 및 국제공동연구협약을 체결한 Couchbase, Facebook 기업의 도움을 받아 진행한다.
인사말
VLDB 연구실에서는 차세대 휴대용 저장장치로써 각광받고 있는 플래시메모리 상에 효과적으로 동작하는 DBMS의 구현에 관한 연구를 수행한다. 이를 위해서는 DBMS의 전통적인 구현 기술을 전반적으로 재검토해야 하는 광범위한 연구분야이다. 또한, 대용량 데이터베이스를 필요로 하는 응용 분야의 데이터 처리 요구 사항을 파악해, 이들 응용 분야를 효과적으로 지원하기 위한 제반 데이터베이스 기술을 연구한다. 현재 주요 관심 응용 분야는 ERP(Enterprise Resource Planning), DW(Data Warehouse), CRM(Customer Relationship Management) 와 플래시 메모리 SSD 및 차세대 저장장치에 최적화된 데이터베이스이다.
세계 최고 기술을 앞선 우수한 성능
“My prediction is that eventually all storage systems will evolve to be database systems.” (Jim Gray,2002)
Research Interests
- High Performance Data Mining and Privacy Algorithm
- Query Optimization
- Database Performance Evaluation and Tuning
- Database Technology for Business Intelligence
연락처
전화 031) 290-7988
Email : swlee@skku.edu
찾아오는길
(16419) 경기도 수원시 장안구 서부로 2066 성균관대학교 자연과학캠퍼스 제2공학관 27334 VLDB Lab.
자가용
- 과천-봉담간 고속화 국도(312)
  방법1 - 월암IC(좌회전) → 성균관대역(우회전, 지하차도를 타지 마세요) → 성대
  방법2 - 서수원IC(좌회전) → 성대사거리(좌회전) → 사거리(우회전) → 성대
- 1번국도(경수산업도로) 의왕IC → 지지대고개 → 발안,성대방향(우회전) → 성균관대역 → 성대
- 신갈-안산 고속도로(50) 북수원IC → 지지대고개 → 발안,성대방향(우회전) → 성균관대역 → 성대
- 경부 고속도로(1) 신갈분기점(좌회전) → 신갈-안산 고속도로(안산방향으로 진입) → 북수원IC → 지지대고개 → 발안,성대방향(우회전) → 성균관대역 → 성대
지하철
- 지하철 1호선 성균관대역 하차 후 도보로 5~10분 거리
(4호선을 이용하시는 경우, 금정역에서 1호선 수원행 열차로 환승 가능)
총괄책임자
성균관대학교 이상원 교수 / http://flashsql.skku.ac.kr
이상원 교수는 현재 성균관대학교 소프트웨어대학에 재직 중이며, 주요 연구 분야는 차세대비휘발성메모리 기반 데이터베이스 시스템이다. 서울대학교 컴퓨터공학과에서 학사, 석사, 박사 학위를 취득하였고, 성균관대 합류 전에 한국오라클과 이화여대에서 근무하였다. 그는 SIGMOD, VLDB, ICDE, FAST 및 ATC 등의 권위 있는 학술대회에 다수의 논문을 발표하였고, Google Scholar 기준 3900회 이상 논문이 인용되었다. 현재는 플래시메모리 특성과 비휘발성 메모리 특성을 활용한 다양한 데이터베이스 최적화 기술 개발에 집중하고 있으며, 점점 컴퓨팅 파워가 풍부해지는 SSD 자체를 데이터베이스 컴퓨팅 플랫폼으로 진화시키는 연구를 시작하였다.
구성원
성명 학위 연구 분야 이메일 주소
NGUYEN TRONG DAT 박사 DBMS on flash memory and NVDIMM trauconnguyen@gmail.com
오기환 석박통합 DBMS on Flash memory, SW/HW-codesign wurikiji@gmail.com
이종백 석박통합 DBMS on Flash memory hundredbag@skku.edu
안미진 석박통합 DBMS on Flash memory, Buffer Management meeeeejin@gmail.com
박종혁 석박통합 DBMS on Flash memory and NVDIMM akindo19@gmail.com
이재훈 석사 DBMS on Flash memory ljhh0611@gmail.com
박현우 석사 FTL,DBMS on Flash memory music2eye.hw@gmail.com
강민지 석사 DBMS on Flash memory dutls4554@naver.com
최소이 석사 DBMS on Flash Memory ithdli@skku.edu
연구목표
본 연구 과제에서는 차세대 메모리 저장장치 활용 및 최적화 기술이 적용된 오픈 소스 데이터베이스인 FlashSQL 기술을 개발한다. 모든 기술 연구는 오픈 소스 데이터베이스인 MySQL/InnoDB에 적용하여 오픈 소스로 배포한다. 각 연차별 개발 기술이 적용된 FlashSQL의 데이터베이스의 main release를 매년 순차적으로 배포한다. 기존의 데이터베이스는 지난 40여 년간 하드디스크를 저장장치로 가정하고 개발되었다. 이를 단순히 빠른 플래시메모리 SSD 상에서 구동 시킬 경우에, 하드디스크에 비해 빠른 특성으로 인해 성능 상의 이득을 얻을 수 있다. 하지만, 차세대 데이터베이스 기술은 하드디스크 기반 데이터베이스 기술의 아키텍처 측면의 제약 및 기술적인 한계를 뛰어넘는 새로운 혁신적인 기술을 필요로 한다. 특히, NVRam을 저장 장치로 사용하고 더불어 아키텍처 적인 특성을 동시에 고려해서 데이터베이스 기술을 혁신한다면, 단순히 하드디스크를 대신했을 때보다 엄청난 성능 향상의 기회가 존재한다.
본 연구에서는 NVRam 기반 차세대 고성능 데이터베이스 기술 개발과 보급 및 커뮤니티 활성화를 세계적으로 주도하는 스타랩 확립을 목표로, FlashSQL 기술을 개발한다. FlashSQL(NVRam-based High Performance Open Source Database System)은 기존의 하드디스크 기반의 오픈 소스 데이터베이스를 플래시메모리를 포함한 차세대 비휘발성 저장장치(NVRam, Non-Volatile RAM)에 최적화한 미래형 데이터베이스를 지칭한다. 이를 위해, 단순 이론적 연구를 지양하고, NVRam에 최적화된 데이터베이스 시스템 소프트웨어에 대한 설계, 구현, 성능 평가 위주의 실질적인 SW 결과물을 생산하는 것을 목표로 한다. 이를 통해, 국가의 차세대 주력 반도체 제품인 플래시메모리 SSD를 포함한 NVRam 저장장치의 경쟁력과 부가가치를 증대시킬 수 있는 데이터베이스 소프트웨어 생태계를 구성한다. 또한 국내외 유관 기관과의 다방면에 걸친 공동 연구 및 협조 체계 구축을 통해 국제적인 경쟁력이 있는 고품질의 차세대 오픈 소스 데이터베이스 SW 및 효과적이고 체계적인 글로벌 커뮤니티를 주도하고자 한다.
내용
NVMe SSD를 활용한 데이터베이스 기술
- NVMe SSD의 특성을 고려한 Non-blocking Read I/O 최적화 기술 및 NVMe Multi-Queue 구조를 활용한 새로운 DB I/O 모듈 개발
- NVMe SSD의 PCIe 인터페이스를 활용한 Data Set Management 명령 기반 데이터 영역별 I/O 패턴 전달 기술 및 다중 FTL 관리 기술 개발
- NVMe SSD의 특성을 활용하지 못하는 기존의 Access Method를 개선하기 위한 질의 최적화 모델 개발
- NVMe SSD 기반 DB 버퍼 관리 기술 및 플래시 캐시 기술 개발
NVDIMM 저장장치를 활용한 데이터베이스 기술
- NVDIMM 인터페이스를 활용하는 장치의 빠른 입출력 처리 속도를 활용한 MySQL의 Double Write 버퍼 확장 기술 개발
- NVDIMM을 활용한 tIPL 로깅 기법 및 다중 트랜잭션의 동시성 제어 기법(MVCC) 개발
PRAM 저장장치를 활용한 데이터베이스 기술
- PRAM 저장장치를 활용한 데이터 캐싱 기술 개발
- 효율적인 PRAM 캐시 관리를 위한 쿼리 프로세서 기술 및 캐싱 최적화 기술 개발
공개SW내용
MySQL with AIO Prefetch
본 프로그램은 Random read를 발생시키는 workload에서 Flash SSD의 특성 중 하나인 내부 병렬성을 활용하여 DBMS의 성능을 향상시키기 위하여 MySQL에 Prefetch 기능을 구현한 프로그램이다. Prefetch 기능은 쿼리를 수행하기 위해 접근되어야 할 데이터 페이지 정보를 미리 추출하여 해당 페이지들에 대한 요청을 주기적으로 비동기적으로 수행하여 I/O처리와 프로그램실행이 동시에 수행되도록 한다. Batch AIO 기능은 데이터 페이지 정보를 한 배열에 담아 한 번에 다수의 데이터 페이지에 대하여 Prefetch 요청할 수 있는 기능이다.
MySQL with FaCE
본 프로그램은 FaCE를 MySQL 5.6.26 버전에 구현한 프로그램으로 기존의 MySQL이 SSD 캐시를 추가로 사용할 수 있도록 만들어 MySQL의 성능을 개선한 프로그램이다. 플래시메모리 저장장치의 경우 임의 쓰기에 비해 순차 쓰기가 훨씬 빠르다. 이러한 특성을 활용하기 위해, SSD 캐시에 대한 쓰기 패턴을 임의쓰기 대신 순차쓰기로 바꿀 수 있으면 성능 개선이 가능하다. 이를 위해 SSD 캐시 관리 정책을 기존 LRU에서 단순 FIFO (First-In-First-Out) 방식으로 변경할 수 있다. 이러한 아이디어에 의해 제안된 플래시메모리 SSD 캐시 관리 기법이 FaCE (Flash as Cache Extension) 이다. 또한 FaCE에서는 DRAM 캐시에 원하는 페이지가 없을 때 하드디스크가 아니라 SSD 캐시를 먼저 찾고, 원하는 페이지가 있으면 해당 페이지를 SSD에서 읽어온다. 만약 SSD 캐시에도 원하는 페이지가 없다면, 그 때 하드디스크에서 페이지를 읽어온다. 따라서, 하드디스크에서 페이지를 읽어오는 비용을 기존의 방식보다 크게 줄일 수 있다. 실제로 데이터베이스의 대표적인 워크로드인 TPC-C로 성능 측정을 한 결과, 임의쓰기 대신 순차쓰기 방식으로 SSD 캐시를 관리하는 본 프로그램이 기존의 MySQL에 비해 더 나은 성능을 보였다.
ShareSQL
본 프로그램은 SHARE 기법을 MySQL을 통해 사용할 수 있도록 구현한 프로그램이다. SHARE 기법을 사용할 수 있도록 수정된 MySQL에서는 업데이트 된 페이지를 DWB에 기록한 시점까지는 기존의 InnoDB와 동일하게 동작하도록 하고, 이후 원본 데이터베이스를 업데이트 하지 않고 SHARE 인터페이스를 통해 페이지 주소 변경 작업을 수행한다. SHARE 인터페이스로 전달되는 데이터는 (원본 데이터베이스 주소, DWB 페이지 영역 주소) 의 쌍으로, 원본 데이터베이스의 변경하길 원하는 모든 페이지 쌍에 대해서 하나의 SHARE 인터페이스 명령으로 전달할 수 있다. DWB 영역에 기록된 모든 페이지에 대한 SHARE 인터페이스 명령 호출이 끝난 시점과, 기존의 InnoDB에서 원본데이터베이스를 업데이트 하는 시점은 동일하며, 같은 Consistency를 보장할 수 있다. 이를 통해 2번의 데이터 페이지 쓰기 작업을 1번의 페이지 쓰기로 줄여 데이터베이스의 전체 성능을 향상 시킬 수 있다.
공개SW 등록 커뮤티니 사이트
졸업생 취업현황
성명 진출유형 기관명
강운학 포닥 Georgia Institute of Technology
강운학 대기업 eBay (본사)
이황교 중소중견기업 AhnLab
신영찬 대기업 Samsung SDS
심주보 중소중견기업 TmaxSoft
이영석 중소중견기업 TmaxSoft
공개SW기술 활용
기술 이전 준비 중.
컨퍼런스
XLDB 2016 (2016)
- FlashSQL 스타랩 기술 홍보
2016 한국정보과학회 동계학술대회 (2016)
- 튜토리얼 진행을 통한 FlashSQL 스타랩 기술 홍보
Percona Live 2017 (2017)
- FlashSQL 스타랩 기술 홍보
- 핵심 개발 기술을 다양한 기업의 개발자 및 연구자들에게 공유 및 홍보
국내 기업
Naver (2017)
- FlashSQL 스타랩 기술 홍보
- 핵심 개발 기술 공유 및 홍보
국외/국제협력
CouchBase (2015-2017)
- 2015년-2017년에 걸쳐 주기적 방문 및 스타랩 기술 홍보 진행
- CTO Ravi 및 서치영 박사와 본 스타랩의 연구 결과물인 SHARE 기반으로 Couchstore NoSQL Compaction 최적화에 대한 공동 연구
Alibaba (2016)
- Chief DBA인 Dengcheng He와 이메일 및 스카이프로 원격으로 연구 결과물공유 및 향후 협력 방안 논의
세미나
Facebook MySQL 전문가 Mark Callaghan 초청 (2015)
- 미국 산업계에서 MySQL 기술 동향 및 요구사항 분석 등으로 목적으로 Facebook 엔지니어 Mark Callaghan 초청
- 미국 귀국 이후, 미국 Oracle사 InnoDB 개발자들과 이메일 등으로 향후 기술 개발 요구 사항에 대한 논의 진행
한국 MySQL 개발자 커뮤니티 세미나 (2016)
- 한국 MySQL 개발자 커뮤니티를 대상으로 세미나 진행 및 스타랩 관련 기술 공유 및 홍보