개발된 DBMS 기술은 새로운 접근법으로 복잡한 비즈니스 SQL 처리 성능을 대폭 증가시켜 기존 美 옴니사이(OmniSci) DBMS 대비, 최대 88배나 처리속도 향상...

연구팀으로 시계방향르로 김민수 교수, 남윤민 박사, 한동형 박사과정(사진:KAIST)
연구팀으로 시계방향르로 김민수 교수, 남윤민 박사, 한동형 박사과정(사진:KAIST)

오늘날 메인 메모리 기반의 SQL(Structured Query Language, 구조화 질의어) 질의 처리 시스템들은 산업 분야에서 비즈니스 데이터들을 분석 처리하는 데 필수적으로 사용되고 있다.

예를 들어, 오라클, IBM DB2, 마이크로소프트 SQL Server, SAP HANA, OmniSci, MonetDB, MemSQL, CoGaDB, Kinetica, Peloton, Ocelot, Quickstep, Hyrise 등 많은 상용 데이터베이스관리시스템( DataBase Management System, 이하 DBMS) 및 다양한 오픈소스 DBMS들이 사용되고 있다.

사회가 고도화됨에 따라 데이터베이스의 구조도 점점 복잡해지고 있다. 그에 따라 데이터 분석의 위해 사용되는 SQL 질의도 전통적인 PK-FK (기본키-외래키) 조인이 아닌, FK-FK(외래키-외래키) 조인이 포함된 복잡한 형태의 SQL 질의가 점점 더 많이 사용되고 있다.

그러나, 위에서 열거한 대부분의 DBMS들은 FK-FK 조인이 포함된 복잡한 SQL 질의를 잘 처리하지 못한다. 외래 키는 특정 투플을 유일하게 식별하지 못하고 여러 투플들과 매치되는 특성이 있어서, 두 테이블이 FK-FK 관계로 조인이 되는 경우 너무 많은 투플 쌍(pair)들이 생성되어 메모리 공간 부족으로 처리하지 못하는 문제가 발생한다.

또한 메모리 사용량을 줄이기 위해 계산을 많이 하는 방식으로 처리할 경우 시간이 매우 오래 걸리는 문제가 발생한다. 이에 국내 연구진이 방대한 정보를 저장하고 목적에 맞게 검색, 관리할 수 있는 시스템을 통칭하는 데이터베이스관리시스템(DBMS, DataBase Management System)을 세계 최고 수준의 성능으로 끌어올렸다.

KAIST(총장 신성철)는 전산학부 김민수 교수 연구팀이 데이터베이스 질의 언어 SQL 처리 성능을 대폭 높인 세계 최고 수준의 DBMS 기술을 개발한 것이다.

종래 DBMS들은 데이터 테이블들을 왼쪽 깊은 이진 트리 방식으로 배치하여 밑에서부터 위로 올라가면서 처리한다 (왼쪽 그림). 파란색 또는 초록색 박스는 데이터 테이블이고, 나비 넥타이 모양은 두 테이블을 결합하는 조인 연산자이다. 파란색 테이블이 두 개 이상 있으면 FK-FK 조인이 발생한다. 본 DBMS 기술은 커다른 하나의 이진 트리 대신 여러 개의 작은 이진 트리들을 구성한다 (오른쪽 그림). S1, S2, S3 각각은 왼쪽 깊은 이진 트리이다. 각 이진 트리에는 파란색 테이블이 한 개씩만 있어 FK-FK 조인이 발생하지 않는다. 빨간색 나비 넥타이 모양은 최악 최적 조인 알고리즘이 적용된 n항 조인 연산자이다. 각 이진 트리의 결과물을 n항 조인 연산자로 한꺼번에 결합하여 처리한다.
종래 DBMS들은 데이터 테이블들을 왼쪽 깊은 이진 트리 방식으로 배치하여 밑에서부터 위로 올라가면서 처리한다 (왼쪽 그림). 파란색 또는 초록색 박스는 데이터 테이블이고, 나비 넥타이 모양은 두 테이블을 결합하는 조인 연산자이다. 파란색 테이블이 두 개 이상 있으면 FK-FK 조인이 발생한다. 본 DBMS 기술은 커다른 하나의 이진 트리 대신 여러 개의 작은 이진 트리들을 구성한다 (오른쪽 그림). S1, S2, S3 각각은 왼쪽 깊은 이진 트리이다. 각 이진 트리에는 파란색 테이블이 한 개씩만 있어 FK-FK 조인이 발생하지 않는다. 빨간색 나비 넥타이 모양은 최악 최적 조인 알고리즘이 적용된 n항 조인 연산자이다. 각 이진 트리의 결과물을 n항 조인 연산자로 한꺼번에 결합하여 처리한다.

KAIST 관계자에 따르면 김 교수 연구팀은 데이터 처리를 위해 산업 표준으로 사용되는 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 질의 처리에 적용해 난제를 해결하는 데 성공했다.

김민수 교수 연구팀은 새로 개발한 DBMS 기술을 GPU 기반의 DBMS 개발업체인 미국 옴니사이(OmniSci)社 제품에 적용한 결과, OmniSci DBMS보다 성능이 최대 88배나 향상된 결과를 얻었다. 또 TPC-DS 벤치마크에서도 세계 최고 수준의 성능을 가진 기존의 상용 DBMS보다 5~20배나 더 빠른 사실을 확인했다. TPC-DS는 DBMS의 성능을 측정하기 위한 산업 표준의 최신 벤치마크이다.

교신저자로 참여한 김민수 교수는 "연구팀이 개발한 새로운 기술은 대부분의 DBMS에 적용할 수 있기 때문에 산업적 측면에서 파급 효과가 매우 클 것으로 기대한다ˮ 라고 말했다.

한편, 이번 연구에는 김 교수의 제자이자 미국 옴니사이(OmniSci)社에 재직 중인 남윤민 박사가 제1 저자로, 김 교수가 교신저자로 참여했으며 지난 18일 미국 오리건주 포틀랜드에서 열린 데이터베이스 분야 최고의 국제학술대회로 꼽히는 `시그모드(SIGMOD)'에서 발표됐다. (논문명 : SPRINTER: A Fast -ary Join Query Processing Method for Complex OLAP Queries-다운).

저작권자 © 인공지능신문 무단전재 및 재배포 금지