본문 바로가기
Work/책 정리

[리뷰] 오라클 레벨업 - 한빛미디어

by ★용호★ 2017. 2. 5.

큰 규모의 회사에는 이미 데이터베이스에 대한 기반이 갖춰져 있기 때문에 쿼리를 잘 작성하는 것 외에 크게 신경쓸 부분이 없었고, 쿼리 마저도 비효율적인 경우에는 이를 튜닝해줄 DBA들이 있었기 때문에 크게 문제될 부분이 없었습니다. 하지만 스타트업에서 일하고 있는 현재로써는 이러한 모든 작업을 본인이 수행해야 하고, 제대로 모르는 채로 사용하게 되면 서비스 시에 큰 문제가 될 수도 있을 것이라는 부담감을 항상 가지고 있습니다. 그래서 저의 실력을 한단계 레벨업하고 싶다는 생각을 가지고 있던 찰나에 이런 제 생각에 딱 들어맞는 책을 발견하게 되었습니다.




이 책의 목차만 봐도 최고의 DBA 들이 서비스에서 겪었던 문제들을 해결해 나가는 꿀팁들과 유용한 툴들을 소개하고 있다는 것을 한눈에 알 수 있었습니다. 책 제목처럼 Oracle에 대한 내용이 대부분이지만 그 외의 데이터베이스를 사용하더라도 도움이 될 수 있는 이론이 포함되어있습니다. 간략하게 각 장에 대한 내용을 살펴보겠습니다.


1장 성능관리 Tips에서는 개발 중에 무심코 지나칠 법한 문제들에 대해 사전에 발견할 수 있는 팁들을 제공합니다. 예를 들어 쿼리에 대한 효율을 알아보기 위해 실행 계획을 확인하는 방법과 인덱스를 효율적으로 사용하는 방법들, 그리고 Oracle에서 제공하는 SPM 이라는 툴을 사용하여 실행 계획을 관리하고 이를 통해 성능을 향상시키고 유지시킬 수 있는 방법들을 소개하고 있습니다.


2장 트러블 슈팅 Tips에서는 실제 서비스에서 발생할 수 있는 문제들과 이를 해결하기 위한 꿀팁들을 알려줍니다. 개인적으로 2장의 내용이 가장 좋았고, 항상 체킹하기 위해 자세히 정리를 해두었습니다. 2장을 읽고 나니 이렇게 발생할 수 있는 문제들이 많은데 이에 대한 방안 없이 서비스를 런칭했다면 어떻게 감당할 수 있었을까 하는 생각이 들 정도로 간과한 부분들이 많이 있었습니다. 아직 사내에서는 Oracle이 아닌 MariaDB를 사용하고 있기 때문에 AWR이나 ASH와 같은 Oracle의 툴들을 활용할 수 없다는 점이 너무 아쉬웠습니다. 만약 Oracle을 사용하고 계시다면 이와 같은 툴들에 대한 사용방법을 숙지한다면 서비스에 정말 큰 도움이 될 것이라고 생각합니다.


3장 아키텍쳐 Tips에서는 Oracle의 조금 더 심화적인 내용을 다룹니다. 이 장은 내용 자체도 어렵지만 여기서 등장하는 여러 전문 용어들과 이니셜들에 대한 이해 없이 읽어나가면 더 어려움을 느끼게 될 것입니다. 용어 설명이 간략히 적혀있는 경우도 있지만 대부분 따로 설명없이 진행을 하고 있기 때문에, 반드시 모르는 용어들은 검색을 통해 이해를 한 후 다음 내용을 진행하실 것을 추천합니다. 예를 들어 SGA나 PGA라는 용어의 의미를 모른 채로 해당 섹션을 읽다보면 무슨 소리를 하는지 통 알아들을 수가 없습니다. 하지만 용어를 정확히 알고나서 읽으면 큰 무리없이 읽어나가실 수 있을 것이라고 생각합니다.


4장 개발-운용 관련 Tips에서는 Oracle에서 제공하는 툴에 대한 소개가 주를 이룹니다. 이 장의 내용을 볼 수록 Oracle을 사용하고 싶다는 충동이 일어났었고, 여기서 소개하는 툴에 대해서만 숙지를 해도 문제없이 서비스를 할 수 있겠다는 생각이 들었습니다. SQL*Plus의 기능을 자유자재로 사용할 수 있다면 성능 향상과 문제 해결에 큰 도움이 될 것 같았지만 명령어로 모든 것을 수행해야 하기 때문에 진입장벽은 조금 높을 것 같다는 생각이 들었습니다. Enterprise Manager와 같은 툴은 UI를 제공하고 자세한 모니터링이 가능하기 때문에 정말 매력적인 툴이라고 생각합니다.


개발 환경에서 서비스를 대비하여 데이터베이스를 테스트 해보는 것은 쉽지 않은 일이라고 생각합니다. 이에 대한 Oracle의 테스트 방법을 5장 시스템 테스트 Tips에서 제공하고 있습니다. Oracle 에서는 효율적인 시스템 테스트를 위해서 SPA와 DB Replay와 같은 솔루션을 제공합니다. SPA는 SQL을 분석, 리포팅하고 DB Replay는 데이터 베이스 시스템 전체를 분석, 리포팅합니다. 이를 통해 이 장에서는 테스트를 하는 절차들과 어떻게 이 기능들을 사용하여 테스트하고, 자동화하고, 성능을 향상 시킬 수 있는지 설명하고 있습니다.


마지막으로 6장 데이터마이닝 Tips에서는 데이터를 분석하여 시각화 하기 위해 Oracle의 R이라는 것을 사용하고, 이에 대한 팁을 제공합니다. 이 장에서는 데이터베이스에 데이터를 저장하고, 이를 R을 통해 수집하고, 각종 알고리즘을 사용하여 분석 후 그래프를 그리기까지 예제 스크립트를 통해 독자가 따라할 수 있도록 순서대로 진행을 합니다.


이와같이 이 책 ORACLE 레벨업에서는 최고의 DBA들이 전하는 100가지 꿀팁을 소개하고 있습니다. 개인적으로 이 책을 소장하여 의문점이 생길 때마다 살펴보고 또 다른 팁을 발견하면 블로그 포스팅을 통해 공유할 예정입니다. 책을 읽으신 다른 분들도 여러 팁들을 공유해서 서로 발전할 수 있는 기회가 되었으면 좋겠습니다.

댓글