June 2020
우리 연구진이 방대한 정보를 저장하고 목적에 맞게 검색, 관리할 수 있는 시스템을 통칭하는 데이터베이스관리시스템(DBMS, DataBase Management System)을 세계 최고 수준의 성능으로 끌어올렸다.
우리 대학 전산학부 김민수 교수 연구팀이 데이터베이스 질의 언어 SQL(Structured Query Language, 구조화 질의어) 처리 성능을 대폭 높인 세계 최고 수준의 DBMS 기술을 개발했다.
김 교수 연구팀은 데이터 처리를 위해 산업 표준으로 사용되는 SQL 질의를 기존 DBMS와는 전혀 다른 방법으로 처리함으로써 성능을 기존 옴니사이(OmniSci) DBMS 대비 최대 88배나 높인 신기술을 개발했다. 김 교수팀이 개발한 이 기술은 오라클·마이크로소프트 SQL서버·IBM DB2 등 타 DBMS에도 적용할 수 있어 고성능 SQL 질의 처리가 필요한 다양한 곳에 폭넓게 적용될 수 있을 것으로 기대된다.
대부분의 DBMS는 SQL 질의를 처리할 때 내부적으로 데이터 테이블들을 `왼쪽 깊은 이진 트리(left-deep binary tree)' 형태로 배치해 처리하는 방법을 사용한다. 지난 수십 년간 상용화돼 온 대부분의 DBMS는 데이터 테이블들의 배치 가능한 가지 수가 기하급수적으로 많기 때문에 이를 `왼쪽 깊은 이진 트리' 형태로 배치해 SQL 질의를 처리해 왔다.
임의의 두 테이블이 기본 키(primary key, PK)와 외래 키(foreign key, FK)라 불리는 관계로 결합(조인 연산)하는 경우에는 이러한 방법으로 SQL 질의를 효과적으로 처리할 수 있다. 여기서 기본 키는 각 데이터 행(row)을 유일하게 식별할 수 있는 열(column)이고, 외래 키는 그렇지 않은 열이다.
지난 수십 년간 산업에서 사용되는 DB의 구조가 점점 복잡해지면서 두 테이블은 PK-FK 관계가 아닌 FK-FK 관계, 즉 외래 키와 외래 키의 관계로 결합하는 복잡한 형태의 SQL 질의들이 많아지고 있다. 실제 DBMS의 성능을 측정하는 산업 표준 벤치마크인 TPC-DS에서 전체 벤치마크의 26%가 이런 복잡한 SQL 질의들로 구성돼 있고 기계학습(머신러닝), 생물 정보학 등 다양한 분야들서도 이러한 복잡한 SQL 질의 사용이 점차 증가하는 추세다.
이전에 나온 DBMS들은 두 테이블이 주로 PK-FK 관계로 결합한다는 가정하에 개발됐기 때문에 FK-FK 결합이 필요한 복잡한 SQL 질의를 매우 느리거나 심지어 처리하지 못하는 실패를 거듭해왔다.
김 교수팀은 문제 해결을 위해 테이블들을 하나의 커다란 `왼쪽 깊은 이진 트리' 형태가 아닌 여러 개의 작은 `왼쪽 깊은 이진 트리'를 `n항 조인 연산자'로 묶는 형태로 배치해 처리하는 기술을 개발했다. 이때 각각의 `작은 이진 트리' 안에는 FK-FK 결합 관계가 발생하지 않도록 테이블들을 배치하는 것이 핵심이다.
각각의 `작은 이진 트리'의 처리 결과물을 `n항 조인 연산자'로 결합해 최종 결과물을 구하는 것도 난제로 꼽히는데 연구팀은 `최악-최적(worst-case optimal) 조인 알고리즘'이라는 방법으로 이 문제를 해결했다.
`최악-최적 조인 알고리즘'은 그래프 데이터를 처리할 때 이론적으로 가장 우수하다고 알려진 알고리즘이다. 김 교수 연구팀은 세계에서 가장 먼저 이 알고리즘을 SQL 질의 처리에 적용해 난제를 해결하는 데 성공했다.
< 그림 1. 종래 DBMS들은 데이터 테이블들을 왼쪽 깊은 이진 트리 방식으로 배치하여 밑에서부터 위로 올라가면서 처리한다 (왼쪽 그림). 파란색 또는 초록색 박스는 데이터 테이블이고, 나비 넥타이 모양은 두 테이블을 결합하는 조인 연산자이다. 파란색 테이블이 두 개 이상 있으면 FK-FK 조인이 발생한다. 본 DBMS 기술은 커다른 하나의 이진 트리 대신 여러 개의 작은 이진 트리들을 구성한다 (오른쪽 그림). S1, S2, S3 각각은 왼쪽 깊은 이진 트리이다. 각 이진 트리에는 파란색 테이블이 한 개씩만 있어 FK-FK 조인이 발생하지 않는다. 빨간색 나비 넥타이 모양은 최악 최적 조인 알고리즘이 적용된 n항 조인 연산자이다. 각 이진 트리의 결과물을 n항 조인 연산자로 한꺼번에 결합하여 처리한다. >
김민수 교수 연구팀은 새로 개발한 DBMS 기술을 GPU 기반의 DBMS 개발업체인 미국 옴니사이(OmniSci)社 제품에 적용한 결과, OmniSci DBMS보다 성능이 최대 88배나 향상된 결과를 얻었다. 또 TPC-DS 벤치마크에서도 세계 최고 수준의 성능을 가진 기존의 상용 DBMS보다 5~20배나 더 빠른 사실을 확인했다. TPC-DS는 DBMS의 성능을 측정하기 위한 산업 표준의 최신 벤치마크이다.
교신저자로 참여한 김민수 교수는 "연구팀이 개발한 새로운 기술은 대부분의 DBMS에 적용할 수 있기 때문에 산업적 측면에서 파급 효과가 매우 클 것으로 기대한다ˮ 라고 말했다.
이번 연구에는 김 교수의 제자이자 미국 옴니사이(OmniSci)社에 재직 중인 남윤민 박사가 제1 저자로, 김 교수가 교신저자로 참여했으며 지난 18일 미국 오리건주 포틀랜드에서 열린 데이터베이스 분야 최고의 국제학술대회로 꼽히는 `시그모드(SIGMOD)'에서 발표됐다. (논문명 : SPRINTER: A Fast n-ary Join Query Processing Method for Complex OLAP Queries).
<출처:한국과학기술원 홍보실>