![]() |
↑ 왼쪽부터 김민수 교수(좌측 위), 남윤민 박사 (우측 위), 한동형 박사과정(아래) [사진 제공 = KAIST] |
24일 KAIST는 김민수 전산학부 교수 연구팀이 데이터베이스 질의 언어를 뜻하는 SQL(Structured Query Languagec구조화 질의어) 처리 성능을 기존 기술 대비 최대 88배 높인 신기술을 개발했다고 밝혔다.
KAIST에 따르면 김 교수 연구팀은 데이터 처리를 위해 산업 표준으로 쓰이는 SQL 질의를 기존 DBMS와 전혀 다른 방법으로 처리하는 기술을 활용했다. 이 기술은 오라클·마이크로소프트 SQL서버·IBM DB2 등 여러 DBMS에도 적용할 수 있어 고성능 SQL 질의 처리가 필요한 영역들에 폭넓게 적용될 것으로 전망된다.
대부분 DBMS는 SQL 질의를 처리할 때 내부적으로 데이터 테이블들을 '왼쪽 깊은 이진 트리'(left-deep binary tree)라는 형태로 배치해 처리하는 방법을 사용한다. 지난 수십 년간 상용화된 대부분 DBMS는 데이터 테이블들의 배치 가능한 가지 수가 기하급수적으로 많기 때문에 이를 '왼쪽 깊은 이진 트리' 형태로 배치해 SQL 질의를 처리했다.
![]() |
↑ 종래 DBMS들의 질의 처리 방식 및 이번 기술의 질의 처리 방식 개념도. [사진 제공 = KAIST] |
지난 수십 년간 산업에서 쓰인 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) 조인 알고리즘'이라는 방법으로 이 문제를 풀었다. '최악-최적 조인 알고리즘'은 그래프 데이터를 처리할 때 이론적으로 가장 우수하다고 알려진 알고리즘이다.
연구팀은 새로 개발한 DBMS 기술을 GPU 기반의 DBMS 개발업체인 미국 옴니사이(OmniSci) 제품에 적용했다. 그 결과 OmniSci DBMS보다 성능이 최대 88배나 향상된 결과를 얻었다. 또 TPC-DS 벤치마크에서도 세계 최고 수준의 성능을 가진 기존의 상용 DBMS보다 5~20배 더 빠름을 확인했다. TPC-DS는 DBMS의 성능을 측정하기 위한 산업 표준이 되는 최신 벤치마크이다.
김민수 교수는 "연구팀이 개발한 새로운 기술은 대부분의 DBMS에 적용할 수 있기 때문에 산업적 측면에서 파급 효과가 매우 클 것으로 기대한다"고 말했다.
이번 연구에는 교신저자인 김 교수 제자이자 미국 옴니사이(OmniSci)에 재직 중인 남윤민 박사가 제1 저자로 참여
[김시균 기자]
[ⓒ 매일경제 & mk.co.kr, 무단전재 및 재배포 금지]