데이터베이스를 다루는 사람들은 어떤 생각을 할까?

내가 최초로 데이터베이스로 실제적인 프로젝트를 수행했던 것은
지난 2006년 9월의 일이다.
그 당시 모 철도 기업에서 운영을 시작하는
관광열차의 발권 프로그램을 제작하는 일이었는데
웹에서 예약 된 DB를 가지고 티켓을 발권하고 그 내역 등을 기억하는
데이터베이스를 만드는 것이었다.

사용자 삽입 이미지

학교 생활을 제외하고는 특별히 DB설계를 해본적이 없던 나는
한빛에서 출간된 이춘식님의 '데이터베이스 설계 구축'을 참고로
나름대로 고민하며 만들었었다.

문제가 발생한 것은 그로부터 한달여가 지난 후 부터였는데
지나치게 길어진 탐색 시간 등의 문제도 그러거니와
심지어 DB가 꼬여버리는 심각한 지경에 이르고 말았다.

도대체 무엇이 잘못된 것 이었을까?

사실 잘못된 부분이 너무 많아서 부끄러울 지경이었다.
1년이 지난 후 해당 프로젝트의 2차 프로젝트를 진행할 때
결국 그 프로그램은 폐기 되었다.

그때 가장 간과 했던 것이 데이터베이스의 성능이었다.
잘못된 정규화와 무결성, PK컬럼, 복잡한 조인으로 인해서
너덜너덜해 질 수 밖에 없는 숙명을 가지고 태어났고
당연히 누적된 피로도로 인해서 DB가 피를 토해버린 것이었다.

시간에 쫓겨 당장 잘 돌아가는 것에만 포커스를 두고 작업하다보니
초보가 할만한 실수는 모조리 해 버린 셈이다.

사용자 삽입 이미지

단순한 데이터베이스의 튜닝에 관한 책이라면
쓸만한 레퍼런스를 찾는데 별 무리가 없을 것이다.
하지만 단순 지식 전달이 아닌 노하우가 담긴 지식을 풀어내는 책은 흔치 않다.
블로그의 포스팅을 읽듯이 본인의 이야기를 편안하게 적어둔
작가의 글을 읽다보면 그 시절의 내 실수들이 떠오른다.

당분간은 데이터베이스를 가지고 작업할 일이 없겠지만
다음엔 같은 실수를 하지 않겠다는 생각을 하면서 마지막 책장을 덮었다.


Posted by 레몬에이드