데이터베이스를 다루는 사람들은 어떤 생각을 할까?
내가 최초로 데이터베이스로 실제적인 프로젝트를 수행했던 것은
지난 2006년 9월의 일이다.
그 당시 모 철도 기업에서 운영을 시작하는
관광열차의 발권 프로그램을 제작하는 일이었는데
웹에서 예약 된 DB를 가지고 티켓을 발권하고 그 내역 등을 기억하는
데이터베이스를 만드는 것이었다.
학교 생활을 제외하고는 특별히 DB설계를 해본적이 없던 나는
한빛에서 출간된 이춘식님의 '데이터베이스 설계 구축'을 참고로
나름대로 고민하며 만들었었다.
문제가 발생한 것은 그로부터 한달여가 지난 후 부터였는데
지나치게 길어진 탐색 시간 등의 문제도 그러거니와
심지어 DB가 꼬여버리는 심각한 지경에 이르고 말았다.
도대체 무엇이 잘못된 것 이었을까?
사실 잘못된 부분이 너무 많아서 부끄러울 지경이었다.
1년이 지난 후 해당 프로젝트의 2차 프로젝트를 진행할 때
결국 그 프로그램은 폐기 되었다.
그때 가장 간과 했던 것이 데이터베이스의 성능이었다.
잘못된 정규화와 무결성, PK컬럼, 복잡한 조인으로 인해서
너덜너덜해 질 수 밖에 없는 숙명을 가지고 태어났고
당연히 누적된 피로도로 인해서 DB가 피를 토해버린 것이었다.
시간에 쫓겨 당장 잘 돌아가는 것에만 포커스를 두고 작업하다보니
초보가 할만한 실수는 모조리 해 버린 셈이다.
단순한 데이터베이스의 튜닝에 관한 책이라면
쓸만한 레퍼런스를 찾는데 별 무리가 없을 것이다.
하지만 단순 지식 전달이 아닌 노하우가 담긴 지식을 풀어내는 책은 흔치 않다.
블로그의 포스팅을 읽듯이 본인의 이야기를 편안하게 적어둔
작가의 글을 읽다보면 그 시절의 내 실수들이 떠오른다.
당분간은 데이터베이스를 가지고 작업할 일이 없겠지만
다음엔 같은 실수를 하지 않겠다는 생각을 하면서 마지막 책장을 덮었다.