작성: 2024.12.15
이번 학기에 데이터관리에 대한 매우 유익한 수업을 듣게 되었습니다. 이에 대한 감상을 공유하고자 합니다.
과목의 이름은 "생의학 데이터분석"으로, 생물 및 의학분야의 데이터를 SQL을 사용하여 데이터베이스 시스템을 구축하고 이를 활용하는 내용을 다루었습니다.
실제 취직한 BI 연구원 분들이 단순 유전체 분석을 넘어서 프런트엔드, 백앤드 개발까지 폭넓게 수행하는 것을 지켜보면서, 저 역시 데이터 관리 및 활용에 대한 중요성을 깨달았습니다.
# 데이터베이스관리를 왜 배워야 할까?
1) 시간이 지나면서 서서히 알게 됩니다 😂
연구 초기에는 엑셀과 같은 도구로 간단하게 데이터 정리가 가능합니다. 그러나 시간이 지나고 수집된 데이터가 커지면서 연구자 간 데이터 버전에서 혼동이 오고, 관리의 필요성을 느끼게 됩니다.
수업 종강 날에 교수님께서 해주신 말씀이 기억에 남습니다.
"연구를 하다 보면 결국 데이터를 전산화하라는 압력이 들어오게 됩니다. 미리 배우는 것이 좋다"고요.
2) 커리어 개발
최근 BI분야 채용 공고에서도 SQL 및 데이터베이스 관리 능력을 요구하는 경우가 등장하였습니다. 회사에서 요구한다는 것은 배우면 연구실에서도 요긴하게 써먹을 수 있다는 걸 뜻합니다.
# 데이터베이스 관리 시스템이란?
DBMS(Database Management System)는 단순히 데이터를 저장하는 것 이상으로 체계적으로 저장하고 관리하며, 필요할 때 효율적으로 검색할 수 있게 하는 소프트웨어입니다. 여기에는 MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database 등의 프로그램이 상용됩니다.
흔히 데이터의 무결성, 보안성, 그리고 효율성을 보장한다고 합니다.
예시를 통해서 자세히 알아봅시다.
1) 무결성
예를 들어 환자 10명이, 개인당 10개의 샘플이 채취되었다고 할 때, 한 사람의 데이터를 중복으로 10개를 기입할 필요는 없습니다. 그저 환자 데이터와 샘플 데이터를 나누고, 샘플 데이터에는 환자 코드만 입력하는 것이 가장 간단한 방법일 것입니다.
2) 보안성
데이터베이스 관리자를 두어, 데이터베이스의 수정을 막을 수 있습니다.
3) 효율성
무결성의 예시처럼, 환자의 샘플 데이와 임상 데이터 모두 필요할 때, 간단한 쿼리 문으로 환자 코드를 기준으로 두 데이터를 합친 다음 출력하여 저장할 수 있습니다.
# 어떤 경우에 써야 하나요?
일단 데이터베이스 구축이 필요한지 살펴봅시다.
제 기준에서는 데이터가 1,000개 이상이라면 만들 필요가 있다는 생각이 듭니다.
또한 데이터가 중복으로 여러 테이블에 산발적으로 저장되어있다면 데이터베이스 관리가 필요합니다.
# 어떻게 활용하나요?
수업 중에는 생물학 데이터베이스를 손쉽게 불러와서 간단한 통계분석을 수행하는 방법을 진행하였습니다.
ChEMBL( https://www.ebi.ac.uk/chembl/ )의 데이터베이스를 쓴다고 가정해 봅시다.
원하는 단백질화 결합하는 물질이 binding site개수에 따른 결합력 차이가 있는지 알아보고자 합니다.
우리는 1) 홈페이지를 접속해서 2) 타겟 물질을 검색하고 3) 기타 속성을 선택한 다음 4) 데이터를 다운로드합니다.
그러나 ChEMBL 데이터베이스를 서버에 구축하였을때,
1) 데이터베이스를 열고 2) SQL문을 통해서 조건에 맞는 데이터를 빠르고 추출할 수 있습니다.
# 비전공자를 위한 DBMS 활용 방법
기존에 엑셀에 익숙하다면, Excel의 Power pivot 기능을 추천드립니다. 대부분의 데이터베이스 관리 시스템을 사용할 수 있습니다.
SQL언어를 쓰지 않아도 관계형 데이터 관리와 분석이 가능합니다.
조금 더 큰 데이터를 다룬다면?
MySQL을 추천드립니다. 유료화에 대한 걱정이 있지만, 가장 배우기 쉽고 사용하기 쉬운 DBMS 중 하나입니다.