[뉴스프리존,대전=이기종 기자] 한국과학기술원(KAIST)은 전산학부 김민수 교수 연구팀이 데이터베이스 질의 언어인 구조화 질의어(SQL, Structured Query Language) 처리 성능을 대폭 높인 세계 최고 수준의 데이터베이스 관리 시스템(DBMS) 기술을 개발했다고 24일 밝혔다.
대부분의 데이터베이스 관리 시스템(DBMS, Data Base Management System)는 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 질의를 매우 느리거나 심지어 처리하지 못하는 실패를 거듭해왔다.
이번 연구팀은 이러한 제한점을 해결하기 위해 데이터 처리를 위해 산업 표준으로 사용되는 SQL 질의를 기존 DBMS와는 전혀 다른 방법으로 처리함으로써 성능을 기존 옴니사이(OmniSci) DBMS 대비 최대 88배나 높인 신기술을 개발했다.
연구과정을 보면 하나의 커다란 ‘왼쪽 깊은 이진 트리’ 형태가 아닌 여러 개의 작은 ‘왼쪽 깊은 이진 트리’를 ‘n항 조인 연산자’로 묶는 형태로 배치해 처리하는 기술을 개발했다.
이때 각각의 ‘작은 이진 트리’ 안에는 FK-FK 결합 관계가 발생하지 않도록 테이블들을 배치하는 것이 핵심이다.
각각의 ‘작은 이진 트리’의 처리 결과물을 ‘n항 조인 연산자’로 결합해 최종 결과물을 구하는 것도 난제로 꼽히는데 연구팀은 ‘최악-최적(worst-case optimal) 조인 알고리즘’이라는 방법으로 이 문제를 해결했다.
이어 ‘최악-최적 조인 알고리즘’은 그래프 데이터를 처리할 때 이론적으로 가장 우수하다고 알려진 알고리즘이다. 김 교수 연구팀은 세계에서 가장 먼저 이 알고리즘을 SQL 질의 처리에 적용해 난제를 해결했다.
이후 새로 개발한 DBMS 기술을 GPU 기반의 DBMS 개발업체인 미국 옴니사이(OmniSci)社 제품에 적용한 결과로 OmniSci DBMS보다 성능이 최대 88배나 향상된 결과를 얻었다.
또 TPC-DS 벤치마크에서도 세계 최고 수준의 성능을 가진 기존의 상용 DBMS보다 5~20배나 더 빠른 사실을 확인했다.
TPC-DS는 DBMS의 성능을 측정하기 위한 산업 표준의 최신 벤치마크이다.
김민수 교수는 “연구팀이 개발한 새로운 기술은 대부분의 DBMS에 적용할 수 있기 때문에 산업적 측면에서 파급 효과가 매우 클 것으로 기대한다”고 말했다.
미국 옴니사이(OmniSci)社에 재직 중인 남윤민 박사가 제1저자로 참여한 연구결과는 난 18일 미국 오리건주 포틀랜드에서 열린 데이터베이스 분야 최고의 국제학술대회로 꼽히는 ‘시그모드(SIGMOD)’에서 발표됐다.
이 연구는 한국연구재단 선도연구센터 사업 및 중견연구자 지원사업, 과기정통부 IITP SW스타랩 사업의 지원을 받아 수행됐다.