데이터베이스 구축 의뢰, 설계부터 이관과 튜닝까지
우리비엔씨는 전산시스템의 기반이 되는 데이터베이스를 새로 설계하거나, 기존 데이터를 옮기거나, 느려진 시스템을 튜닝해야 하는 기업과 기관의 DB 작업을 맡아 진행합니다. 데이터베이스 의뢰는 크게 설계·구축, 데이터 이관, SQL 튜닝의 세 가지로 나뉘고, 각각 하는 일과 받게 되는 결과물이 다릅니다. 이 글은 어려운 용어를 최대한 빼고, 세 가지 의뢰가 실제로 어떻게 진행되는지 정리했습니다.

관리대장 조회·열람 소프트웨어: 종이 대장을 스캔한 이미지와 엑셀 색인 목록을 데이터베이스로 옮겨, 주소지와 대장 유형으로 바로 찾아 열람합니다(개인정보는 가림 처리)
의뢰 유형 한눈에 보기
| 의뢰 유형 | 이런 경우 | 받게 되는 결과물 |
|---|---|---|
| 설계·구축 | 새 전산시스템을 만들거나, 엑셀로 하던 업무를 DB로 옮기려 할 때 | 설계도(ERD), 테이블·인덱스·뷰·프로시저·함수가 적용된 데이터베이스 |
| 데이터 이관 | 시스템을 바꾸거나, 흩어진 과거 데이터를 한곳으로 모으려 할 때 | 정리·변환되어 새 DB에 적재된 데이터와 이관 결과 검증 |
| SQL 튜닝 | 특정 화면이나 보고서가 눈에 띄게 느려졌을 때 | 원인 분석과 함께 수정·재작성된 쿼리, 조정된 인덱스 |
1. 데이터베이스 설계·구축
데이터베이스 모델러는 건물의 뼈대를 설계하는 사람과 같습니다. 건물이 완공 뒤에도 오래 튼튼해야 하듯, 데이터베이스도 1년 뒤, 10년 뒤까지 같은 성능을 유지하도록 설계해야 합니다. 진행 순서는 다음과 같습니다.
- 요건 취합과 분석: 고객의 요구사항이 빠짐없이 도출되었는지 확신이 들 때까지 묻고 확인합니다.
- 개념·논리·물리 설계: 어떤 모습으로 구축할지 설계도(ERD)를 단계별로 그립니다.
- DBMS 선택: 데이터 규모와 사용 환경에 맞는 데이터베이스 제품을 고릅니다.
- 구현 시나리오 확정: 기본키(PK), 인덱스, 뷰, 프로시저, 함수를 어디에 어떻게 쓸지 구체적으로 정합니다.

설계도(ERD) 예시: 테이블과 컬럼, 테이블 사이의 관계를 한 장에 그려 개발 전에 함께 확인합니다
한 가지 경계하는 것이 있습니다. 모델러가 자기 경험과 방식만 고집해 설계하면, 시스템이 그 사람의 생각 안에서만 돌아가게 됩니다. 만들려는 전산시스템의 목적을 충분히 반영한 데이터베이스여야 프로그램과의 연동이 매끄럽고, 나중에 기능을 추가할 때도 설계도를 쉽게 확장할 수 있습니다.
2. 데이터 이관
과거 데이터를 새 데이터베이스로 옮기는 일은 단순한 복사가 아닙니다. 예전 시스템의 엑셀, 텍스트 파일, 다른 DB에 흩어진 데이터를 추출하고, 새 설계에 맞게 형식과 코드를 바꾼 뒤 적재합니다. 이때 부서나 시스템마다 다르게 쓰던 코드와 이름을 하나의 기준으로 맞추는 데이터 표준과 코드 변환 매핑이 이관 품질을 좌우합니다. 맨 위의 관리대장 열람 소프트웨어도 엑셀 색인 목록과 스캔 이미지 폴더를 지정하면 데이터베이스로 적재하도록 만든 사례입니다.
3. SQL 튜닝
시스템이 느려지는 이유는 여러 가지지만, 적어도 데이터베이스 안에서 문제가 생기지 않도록 해야 합니다. SQL은 일반 프로그래밍 언어와 달리 데이터를 ‘집합’으로 바라보며 써야 하고, 기본키와 인덱스의 조합, DBMS 옵티마이저의 원리를 이해해야 제대로 튜닝할 수 있습니다. 대형 쇼핑몰의 MySQL 운영 시스템을 튜닝했을 때는 이런 순서로 진행했습니다.
- 많은 테이블의 관계를 파악하기 위해 ERD를 거꾸로 재구성
- PK, 인덱스, FK 현황 조사와 주요 테이블의 데이터 건수·속성 파악
- 조건절(Where)과 조인(Join) 분석, 카티션 곱과 인덱스 적절성 점검
- 실행 계획(Execution Plan)을 분석해 쿼리를 수정하거나 다시 작성
몇 시간, 몇 분씩 걸리던 쿼리가 몇 분, 몇 초 만에 끝나는 순간의 기분은 겪어 본 사람만 아는 특권입니다. 이 일을 오래 해 왔지만 그 순간은 여전히 짜릿합니다.
설계·구축 수행 사례
아래는 연구 과제를 위해 설문 문항, 가계도, 검진 결과를 하나의 데이터베이스로 설계하고 입력·통계 프로그램까지 함께 만든 사례입니다. 문항이 많고 조건에 따라 이어지는 질문이 달라지는 설문일수록, 처음 설계가 데이터 품질을 결정합니다.

원폭피해자 코호트 연구 설문 DB 구축: 135개 문항의 설문 입력, 결측 항목 관리, 검진 결과와 통계를 한 시스템에서 다룹니다
자주 묻는 질문
Q. 이미 운영 중인 시스템도 튜닝만 따로 맡길 수 있나요?
네. 느려진 화면이나 보고서를 알려 주시면 해당 쿼리와 테이블 구조, 인덱스, 실행 계획부터 분석합니다. 설계 자체에 원인이 있으면 구조 개선 방안까지 함께 제안합니다.
Q. 데이터가 아주 많아도 이관이 가능한가요?
가능합니다. 우리비엔씨는 한 프로젝트에서 수십억 건 규모의 데이터베이스를 설계·구축한 경험이 있습니다. 대용량일수록 이관 순서와 검증 방법을 미리 정해 두는 것이 중요합니다.
Q. 프로그램 개발 없이 DB 작업만 의뢰해도 되나요?
됩니다. 설계만, 이관만, 튜닝만 따로 맡기셔도 됩니다. 다만 프로그램과 데이터베이스를 함께 설계하면 로직을 SQL과 프로그램 코드 중 어디에 둘지 적절히 나눌 수 있어, 확장성과 유지보수 면에서 효과가 더 큽니다.
이 글을 쓰는 저는 대용량·대규모 프로젝트 경험과 정규 교육 이수를 바탕으로 데이터베이스 모델링과 튜닝을 해 왔습니다. 하나은행 분석CRM, BC카드 OLAP 고도화 같은 금융권 SI 프로젝트에 참여하며 쌓은 경험도 여기에 녹아 있습니다. DB 설계나 이관, 튜닝으로 고민하고 계시다면 편하게 연락 주세요.
함께 보면 좋은 개발 사례
- 잘 구축된 데이터베이스가 느려지는 이유와 SQL 튜닝
- 원폭피해자 분석연구 설문시스템 DB 구축
- SC제일은행 BCRS ETL 구현
- 데이터관리 프로그램 개발, 업무용 DB와 분석용 DB의 차이
작성: 우리비엔씨 대표 이완종 (KOSA 특급기술자)
홈페이지: https://www.wooribnc.com
연락처: 070-4809-7769 // 0 1 0 - 5 1 7 7 - 8 0 5 5
이메일: admin@wooribnc.com // lwjvegas@gmail.com
- KOSA 소프트웨어사업자 등록업체
- KOSA 소프트웨어기술자경력 특급기술자, 정보처리기사
- 가천대학교 가족회사 협약업체
Tags: #데이터베이스구축 #DB설계 #데이터이관 #SQL튜닝 #DB모델링 #쿼리최적화 #DB구축업체 #우리비엔씨


