"SAS IN-Database 분석 기술 도입 통한 데이터 분석의 적시성 및 유연성 확보"

국민건강보험공단, 보다 빠르고 효과적인 대국민 건강 서비스 기반 마련


국민건강보험공단에서는 보유하고 있는 건강정보 DB의 가치를 다양한 관점에서 발굴하고, 대국민 건강 서비스에 선제적으로 대응하기 위해 ‘국민건강정보DB 보강 사업'을 추진했습니다.

특히 SAS 인-데이터베이스 분석 기술을 도입, 분석에 필요한 데이터를 고성능 DB 내에서 1차 가공함으로써 대용량 데이터를 효과적으로 처리할 뿐만 아니라 데이터 준비에서, 기본 함수 실행, 마이닝 모델 실행까지의 시간을 획기적으로 단축할 수 있게 됐습니다.

국민건강보험공단에서는 2012년 6월, 전 국민의 출생에서 사망까지의 진료내역, 건강검진 결과, 자격, 소득ㆍ재산, 요양기관자료 등 1조 3천억 건의 데이터 중 유의미한 자료를 모아 '국민건강정보 DB'를 구축하고, 이를 기반으로 ‘표본코호트DB’를 구축하여 지난 2014년 7월부터 일반 연구자에게 공개하고 있습니다.

이 DB는 전 국민의 2%인 100만 명을 추출하여 개인을 식별할 수 없도록 익명화 한 코호트 DB로, 장기간 추적 및 선후관계 연구가 가능한 매우 우수한 자료로서 대내외적으로 인정받고 있습니다. 이를 통해 건강보험 빅데이터 연구를 활성화하고, 보건의료분야의 새로운 부가가치를 창출할 뿐만 아니라, 개인별 평생 맞춤형 건강 서비스를 제공하기 위해 노력하고 있습니다.

개인건강기록 확인에서 건강 위험도 예측까지 원스톱으로 제공하여 자가관리 능력을 향상시킬 수 있도록 지원하는 건강정보 전문사이트 ‘건강iN, 질병의 발생과 확산 추이를 실시간 예측하고 해당 질병에 대한 인식도를 높여 예방효과를 높이는 ‘국민건강주의 알람 서비스’도 그 같은 노력의 결과입니다.

[도입배경 및 목표] 건강정보DB의 가치를 다양한 관점에서 빠르게 분석

국민건강정보DB에는 진료 상세, 요양기관, 건강검진 등 8개 항목에서 1800여 만 건의 데이터가 있습니다. 용량은 34TB에 이르며, 디스크 사용률은 95%에 달합니다. 이처럼 국민건강정보DB가 다량의 대용량 파일로 구성되어 있는데다, 여러 저장 장치에 분산하여 압축 저장되고 있어 관리가 불편했습니다.

2008년에 도입한 건강정보 분석 마트 서버의 노후로 성능이 저하되고, 건강보험 정책수립에 필요한 자료 및 보건의료 연구 자료 생산에 적지 않은 시간이 소요됐습니다.

국민건강보험공단 관계자는 “공공데이터 활용에 대한 공공기관의 역할이 강조되고 있다”며 “우리 공단에서 보유한 데이터가 공공자산으로서 가치를 크게 발휘하기 위해서는 분석 활동에 필요한 성능과 편의성을 강화하는 것이 중요”하다고 말합니다.

따라서 노후된 전산장비를 교체하여 연구 자료를 신속히 생산할 수 있는 인프라를 마련하고, 건강보험 데이터 수요 증가에 적극 대응할 수 있는 정보시스템을 구축하기 위해 ‘국민건강정보DB 보강 사업’을 추진했습니다. 특히 건강정보DB의 가치를 다양한 관점에서 빠르게 분석하기 위해 ‘SAS 인-데이터베이스(IN-Database)’ 분석 환경을 도입했습니다.


[해결 방법 및 솔루션] DB 내에서 데이터를 가공 및 분석

SAS 인-데이터베이스는 하둡, 오라클, SAP HANA 등 그 어떤 데이터 플랫폼에서도 데이터를 추출하거나 이동하지 않고서도 분석에 필요한 데이터를 데이터베이스 내에서 1차 가공함으로써 대용량 데이터를 효과적으로 처리합니다.
또한 데이터 준비에서 기본 함수 실행, 마이닝 모델 실행까지의 시간을 획기적으로 단축합니다.

이를 구현하기 위해 SAS는 다음과 같이 3단계로 프로젝트를 진행했습니다.

 Step1. 기존의 분석 모형 이관
인-데이터베이스 분석 환경을 구축하기 위해 SAS에서는 먼저, 기존의 분석 모형을 SAS9.2에서 SAS9.5로 이관하는 작업을 했습니다. 국민건강보험공단에 구축된 BMS(Benefits Management System, 부당수급자체분석시스템)와 장기요양 리스크 마트(Risk Mart)는 규칙 기반 모형(업무 기반 모형)과 통계 기반 모형(예측 모형)이 혼재되어 구성되어 있었습니다.

이를 안정적으로 이관하기 위해서는 데이터 및 적재 프로세스의 이행뿐만 아니라, 규칙 기반 모형이 적용된
‘SAS 프로그램’과 통계 기반 모형이 포함되어 있는 ‘예측 모형’을 함께 이관해야 했습니다.

규칙 기반 모형은 SAS 프로그램으로 이관 후, 발췌 리스트 결과를 전후로 비교하여 검증하고, 통계 기반 모형은 모델 매니저(Model Manager)를 통해 모형을 이관한 후, 변수 유형에 따른 빈도 분석과 단변량 분석을 통해 결과를 검증했습니다.

 Step2. 인-데이터베이스 분석 환경 구축
국민건강보험공단은 기존에는 건강정보 빅데이터를 SAS의 서버 환경에서 처리하고 분석했습니다. DB 데이터를 SAS에서 다운로드하고 처리함으로써 시간이 과도하게 낭비됐고, 그로 인해 분석 모델을 적시에 적용할 수 없었습니다.
네트워크 리소스도 필요했으며, 데이터가 DB와 SAS 서버에 중복 저장됐습니다.

그러나 ‘SAS 액세스 소프트웨어(SAS Access Software)’와 ‘SAS 스코어링 액셀러레이터(Scoring Accelerator)’로
SAS 인-데이터베이스 분석 환경을 구축, DB 내부에서 분석 데이터를 처리하여 작업 시간을 최소화하고,
DB와 SAS 데이터의 과도한 중복을 해소할 수 있게 됐습니다. 또한 DB 내에서 SAS 기본 함수와 마이닝 모델을
신속하게 적용함으로써 시간을 획기적으로 단축할 수 있게 됐습니다.

 Step3. 인-데이터베이스 활용 교육
SAS에서는 SAS 인-데이터베이스 분석을 잘 활용할 수 있도록 작업 유형별로 탬플릿을 제공하고, 활용 교육을 실시했습니다.  

기존 분석 VS 인-데이터베이스 분석
기존 분석 (서버 환경에서 분석)인-데이터베이스 분석
DB 데이터의 SAS 다운로드 및 처리 → 과도한 시간 및
네트워크 리소스 소요
DB 내부에서 분석 데이터 처리 → 작업 시간 최소화
데이터의 중복성(DB & SAS 서버)DB & SAS 데이터의 과도한 중복성 해소
분석 모델 적용의 적시성 결여DB 내에서 SAS 기본 함수 및 마이닝 모델 신속한 적용

 

SAS 인-데이터베이스 환경을 위한 주요 솔루션

SAS 인-데이터베이스는 인메모리 기반의 데이터 분석 솔루션으로 디스크가 아닌 메인 메모리에 모든 데이터를 저장하고 처리합니다. SAS에서는 ‘SAS 액세스 소프트웨어(SAS Access Software)’와 ‘SAS 스코어링 액셀러레이터
(Scoring Accelerator)로 SAS 인-데이터베이스 분석 환경을 구축했습니다.

 SAS 액세스 소프트웨어
소스나 플랫폼에 상관없이 데이터를 읽고, 쓰고, 업데이트할 수 있는 소프트웨어입니다. PC파일, 하둡, SAP HANA, Oracle Exadata, 메인프레임 시스템 등 플랫폼이나 데이터 저장 장소에 상관없이 데이터에 빠르게 액세스합니다.

타깃 데이터 소스에 데이터베이스 쿼리, 조인 등 다양한 기능을 추가해 네트워크 트래픽을 줄이고 데이터 액세스 속도를 높입니다. 또한 벌크 로드(Bulk-Load) 유틸리티 지원으로 로드 시간을 단축합니다.

SAS 스코어링 액셀러레이터
데이터베이스 환경에 직접 배포되는 분석 모델로, 모델 스코어링 프로세스를 자동화하여 빅데이터로부터 더욱 빠르게 인사이트를 얻을 수 있습니다. SAS와 데이터베이스 간에 데이터를 이동시키지 않고 스코어링을 수행하므로 스코어링 프로세스의 비용과 복잡성, 시간이 줄어듭니다. 또한 데이터의 이동과 복제가 줄어들어 데이터의 무결성이 보장됩니다.
 

[업무 환경 변화 및 도입 효과] 효과적이고 신속한 대용량 데이터 처리

국민건강보험공단은 SAS 인-데이터베이스 분석 환경으로 대용량 데이터를 효과적으로 처리하게 됐습니다.

먼저, SAS 분석을 위한 ‘데이터 준비’ 단계에서는 데이터 준비 프로세스를 DBMS 영역에 분산하고, 시간이 많이 소요되는 조인 및 요약 등을 DB 어플라이언스 내부에서 실행합니다.

Pass-through SQL을 활용하여 DBMS가 제공하는 함수와 최적화된 SQL 문장을 그대로 활용합니다. SAS 서버에서만 실행하던 분석 작업이 고성능 DB에서 분산 실행됨으로써 DB와 SAS 서버 간 데이터 이동으로 인한 병목현상이 최소화되고, 데이터 처리 시간을 단축하게 됐습니다.

‘기본 분석’ 단계에서는 데이터 합산, 데이터 평균, 리포트 생성, 순위 생성, 빈도분석 등의 기본 분석이 SAS 분석 엔진이 아닌, DB 내부에서 직접 실행됩니다. 과거에는 SAS에서 DB로 전체 데이터를 요청하고, 전체 데이터를 대상으로 SAS에서 통계 분석 결과를 산출했습니다.

그러나 인-데이터베이스 분석 환경에서는 SAS가 구하고자 하는 기본 분석에 대한 SQL을 DB로 전송하고, DB에서 실행된 기본 분석 결과값을 SAS로 전달 받습니다. 이로써 전송하는 데이터 양을 900만 건에서 51건으로 획기적으로 줄이고, 전송 시간도 55초에서 2초로 단축할 수 있게 됐습니다.

‘마이닝 모델 실행’ 단계에서는 SAS E-Miner에서 분석 모델을 생성하고, 이를 자동으로 DB에 적용합니다. 분석 모델(스코어링)은 DB에서 SQL 함수의 형태로 직접 실행되고, DB에 적재된 데이터를 대상으로 DB 내부에서 직접 스코어링을 산출합니다.

이처럼 데이터 준비에서, 기본 분석, 마이닝 모델 실행 시간을 획기적으로 단축하고, 분석의 편의를 높임으로써 연구자료를 신속히 생산할 수 있게 됐습니다.
 

비즈니스 이슈

건강정보DB의 가치를 다양한 관점에서 빠르게 분석하기 위한 ‘SAS 인-데이터베이스(IN-Database)’ 분석 환경 구축
  • 국민건강정보DB 관리의 효율성 개선
  • 노후 전산장비 교체로 신속한 연구자료 생산
  • 건강보험 데이터 수요 증가에 적극 대응

Solution

SAS 인-데이터베이스 분석 환경

Benefits

  • 효과적인 대용량 데이터 처리
  • 데이터 준비, 기본 분석, 마이닝 모델 실행 시간의 획기적인 단축

본 문서에 나오는 결과는 본 문서에 설명된 특정 상황, 비즈니스 모델, 데이터 입력 및 컴퓨팅 환경에 적합하게 되어 있습니다. 각 SAS 고객의 경험은 고유한 것으로, 비즈니스 및 기술적 변수에 따라 달라집니다. 따라서 모든 서술은 비전형적인 것이라는 점을 고려해야 합니다. 실제 절약, 결과 및 성능 특성은 개별 고객의 구성 및 조건에 따라 달라질 수 있습니다. SAS는 모든 고객이 비슷한 결과를 달성할 수 있다고 보증하거나 진술하지 않습니다. SAS 제품과 서비스에 대한 유일한 보증은 해당 제품 및 서비스에 대한 서면 계약의 보증서에 명시되어 있습니다. 본 문서의 어떠한 내용도 추가 보증을 구성하는 것으로 해석될 수 없습니다. 고객은 SAS 소프트웨어의 성공적인 구현에 따라 합의된 계약적 교환 또는 프로젝트 성공 요약의 일환으로 성공 사례를 SAS와 공유했습니다. 브랜드 및 제품 명칭은 각 기업의 상표입니다.