오라클 튜닝 에센셜 저자의 글

개념을 충실하게 담은 얇은 책을 쓰고 싶었습니다. 처음부터 너무 어렵거나 두꺼워서 끝까지 읽 기어려운책보다는기본을익힐수있는책을내놓고싶었습니다.부담없이읽을수있는책을 목표로 썼으므로 이 책은 튜닝을 처음 접하는 분이라도 빠르게 읽을 수 있습니다.

튜닝을 공부하기 좋은 책은 시중에 이미 많이 나와 있습니다. 그렇지만 처음 시작할 때 너무 어렵고 분량이 많아 공부에 어려움을 호소하는 분들을 많이 보았습니다. 튜닝은 개발자나 DBA 처럼 경력 초반에 바로 실무에 진입하기 어려운 직종입니다. SQL이나 DBMS를 다루는 직종에 종사하면서 튜닝을 조금씩 경험해 보다가 튜너가 되는 케이스가 가장 많습니다.

SQL문 한두 개를 튜닝하기 위해 튜너를 찾는 경우는 매우 드문 일입니다. 이런 경우 개발자나 DBA가 튜닝 업무를 맡게 됩니다. 이 책은 튜너가 아닌 다른 직종에 있으면서 튜닝을 접해야 하는 분에게 권하고 싶습니다.튜너가 되기 전에 튜닝 감각을 익힐 수 있도록 눈높이를 맞춰 보았습니다.

본격적인 서문에 앞서 글 하나를 소개하겠습니다.

그때 시트콤 ‘루이’를 즐겨 봤는데 기억에 남는 에피소드가 하나 있어요.극 중 루이는 삼류 스탠드업 코미디언으로 카지노에서 코미디 쇼를 합니다.카지노 손님을 위해 도박장 한쪽에 마련된 무료 공연인지라 관객의 집중도는 떨어집니다. 도박으로 돈을 잃은 이들을 잠시 웃겨주어 기분 전환을 시킴으로써 다시 도박장 으로 돌려보내려는 카지노의 계산 속이겠지요.
쇼에 대한 호응은 확실히 유료 관객이 좋습니다. 본전을 건지려면 공연에 몰입해야 하거든요.

멍하니 딴 생각을 할 거라면 굳이 비싼 돈을 내고 입장할 필요가 없습니다. 반면 공짜 손님은 반응이 별로 없어요. 재미없으면 언제든지 일어나 미련 없이 나갑니다, 다시 룰 렛이나 한판 해야지 하고.
루이가 열심히 개그를 하는 도중에 어떤 손님이 일어나 나갑니다.“지금 제 쇼 안 보고 도박하러 가시는 거예요, 가면 또 잃을 텐데? 여기 호텔 주인이 도널드 트럼프잖아요. 트럼프와 여러분 중 누가 더 부자예요? 왜 힘들게 일해서 번 돈을 카지노에 바치나요? 트럼프는 여러분이 도와주지 않아도 이미 백만장자인데 말이죠.”결국 루이는 호텔 매니저에게 불려갑니다

“어이, 어이. 즐기러 온 사람들에게 그런 조크를 하면 어떡해?”
“사람들이 제 쇼에 집중을 안 하잖아요.” “그사람들이여기에자네쇼보러왔어,게임즐기러온거잖아.그런사람들의흥을꼭깨야해?”

루이는 순간 자존심이 팍 상합니다.

“아, 됐어요. 제가 그만둘게요. 그럼 되잖아요.”

홧김에 일을 때려치우고 나오는 루이.
나오다 대극장에서 어떤 노장 여성 코미디언 쇼를 보게 됩니다. 할머니 코미디언이나이 60에도 무대에서 펄펄 나는 모습을 보고 감동한 그는 대기실로 찾아갑니다. “선배님, 존경합니다.”
이런저런 이야기를 나누다가 자신은 오늘 일을 때려치웠다고 말해요. 노장 코미디언 조앤 리버스와 루이의 대화가 다음과 같이 이어집니다.

조앤: 그만뒀다고?
루이: 네.
조앤: 왜?
루이: 상황이 하도 거지 같으니까요.
조앤: 그래도 그만두진 말아야지. 잘리는 거야 할 수 없지만. 스스로 때려치우진 말아야지. 무조건 버텨야지, 아무리 힘들어도.
루이: 버티면 언젠가 상황이 좋아질까요?조앤 리버스가 루이를 잠시 바라보더니 이렇게 말합니다.
“상황이 좋아질 거라고 말해주고 싶은데 그렇지는 않을 거야. 대신 네가 더 나은 사람이 될 거야.”

시트콤을 보다가 순간 멍해졌습니다.‘상황은 더 좋아지지 않는다. 그러나 포기하지 않고 버틴다면, 너는 더 나은 인간이 될 것이다.’‘나 이제 때려치울 거야!’ 하고 물러나면 나의 한계가 거기까지라고 인정하는 것입니 다. 그러나 버티는 자에게는 한계가 없습니다. 아무리 힘들어도 더 나은 인간이 되는 그 날까지 버텨야겠어요.

이 글은 『영어책 한 권 외워봤니?』(김민식, 위즈덤하우스)의 프롤로그에 나와 있는 일부 내용을 발 췌한 것입니다.

튜닝이라는 주제는 어렵습니다. 첫째, 튜닝을 하기 위해 알아야 하는 내용이 만만치 않습니다. 인덱스,조인방식,소트등튜닝을위한지식과병목현상을판단하기위해해독해야하는실행 계획에 이르기까지 공부해야 할 주제가 한둘이 아닙니다. 하지만 현실은 튜닝 이전에 SQL을 능 숙하게 다루는 것도 그리 간단한 문제가 아닙니다.

둘째, 느린 SQL 문을 접하기 어렵습니다. 이 버거운 주제를 버티는 분이라 하더라도 공부하면 서 만나는 예제를 직접 실습해 보면 별로 느리지 않습니다. 가끔은 ‘이렇게 빠른 SQL을 왜 튜닝 하지?’라는 의문이 생기게 됩니다.

셋째, 충분한 양의 데이터를 확보하기 어렵습니다. 대용량 테이블에서 인덱스 없이 SQL을 실 행했을 때 얼마나 느린지 인덱스를 만들고 나서 얼만큼 빨라졌는지 체험해 보기 힘듭니다. 숫자 로 느끼는 30초와 실제 실행을 해 보고 기다리는 30초의 느낌은 다를 것입니다. 반복해서 실행해야 하는 경우라면 30초의 시간이 얼마나 지루한지 느껴본 사람만 알 것입니다.

많은 분들이 튜닝을 공부하기 어려운 점으로 뽑은 세 가지를 정리하여 책으로 엮어 보았습니 다.우선버틸수있도록양을줄였습니다.이책은독자여러분에게많은것을알려주기위한책 이 아닙니다. 조금은 덜 중요한 것들을 빼는 작업이 더 어려웠습니다. 두꺼운 책을 버티는 분들 이 그 다음으로 힘들어 하는 내용은 책을 통해 느린 SQL문을 접하기 어려운 점입니다. 튜너에게 는 실행계획에서 제공하는 수치만으로 성능이 개선됐는지를 파악하는 게 어렵지 않습니다.

하지만 튜닝 입문자에게는 수치 감소만으로 성능 개선을 파악하는 게 쉽지 않습니다.
이 책에서는 실습을 할 수 있도록 충분한 양의 데이터를 제공합니다. 실습하기 위한 스크립트 를 실행하면 1500만 건의 주문 테이블과 3500~3800만 건의 주문상품 테이블을 만나볼 수 있게 됩니다. 현장에서 SQL문을 접하기 어려운 경우에도 누구나 쉽게 SQL문을 실습할 수 있도록 데 이터를 구축하였습니다. 책에서 제공하는 실습 환경을 바탕으로, 이 책의 주제는 아니지만 다양

한SQL구문또한활용할수있을것이라고자부합니다.
마지막으로 책을 출간하는 과정에서 도와주신 많은 분들께 감사를 전합니다. 우선 주말마다 집에 없어 많이 힘들었을 저의 소중한 아내 혜정 씨에게 감사하다고 말하고 싶습니다.아내 덕분에 이 책도 출간할 수 있었고 IT분야에서 제가 이만큼 성장할 수 있었다고 확신합니다.어린시절 아빠와의 추억이 너무나도 부족했을 두 아들 근영, 규현에게도 감사합니다.

출판을 위한 조언을 아끼지 않은 위즈덤마인드의 김기창 대표, 네이버 카페 ‘데이터와 사람들’ 서윤식 대장, 동양미래대학교 김희숙 교수께도 감사드립니다. 부족한 원고를 좋은 품질의 책이 될 수 있도록 바쁜 시간에도최선을 다해 도와준 마기열 수석, 이재광 책임, 임수진 과장, 최우임 주임, 이영석 사원께 감사를 드립니다.이 분들이 부족한 원고를 수차례씩 읽고 피드백을 주셨기 때문에 더 좋은 책이 나올 수 있었습니다.

자 이제 버티러 갈 시간입니다. 지금부터는 여러분의 차례입니다. 더 나은 사람(?)이 되는 그 날까지 버티길 간절히 바랍니다.

2019.9. 박찬권

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다