My Books

My Slides

rss 아이콘 이미지

Search

'2017/01'에 해당되는 글 1건

  1. 2017.01.22 PostgreSQL 성능 이야기 집필이 완료되었습니다. (6)

PostgreSQL 성능 이야기 집필이 완료되었습니다.

NOTICE 2017.01.22 17:56 Posted by 시연아카데미

4개월간의 부단한 연구를 통해 집필 작업을 마무리했습니다. 책 시작부터 끝까지, 같이 고생한 최두원 선생께 감사하다는 말을 먼저 전합니다. 앞으로 교정, 교열, 윤문, 인덱싱, 표지 디자인 작업을 마무리하면, 대략 3월 중순 이전에는 세상의 빛을 볼 수 있을 것 같습니다.



책 제목은?


책 제목은 "PostgreSQL 성능 이야기"로 정했습니다. 제목에 "이야기"를 넣은 이유는, 비록 딱딱한 IT 서적이지만 독자들이 쉽게 읽을 수 있는 (물론, 이해하는 것과는 별개이지만) IT 서적을 집필하고 싶다는 필자의 희망 사항을 대변한 것입니다. 아직은 미흡하지만, 언젠가는 이야기를 읽듯이 흥미진진하게 읽을 수 있는 IT 서적을 집필하고자 합니다.



무슨 내용이고 어떻게 집필했나?


이 책은 PostgreSQL 성능을 논할 때 필요한 대부분의 내용을 다루고 있습니다. 성능을 논하려면 DBMS 아키텍처, 버퍼 매니지먼트, 옵티마이저 동작원리, 액세스 방식, 조인 방식, 서브 쿼리, 쿼리 재 작성, 히스토그램 및 인덱스 활용 등에 대한 단편적인 지식들을 성능 관리라는 하나의 틀안에서 상호간에 연결된 상태로 이해해야 합니다.


필자는 이러한 주제에 대한 자료를 수집한 후, 소스분석과 테스트를 병행함으로써 실용성을 가미한 정확한 지식을 제공하려고 노력했습니다. 그리고 집필 과정에서는 독자의 입장에서 “왜? 이런 내용을 알아야할까? 라는 자문을 통해, 내용의 깊이를 조정

했습니다.


가령, PostgreSQL의 버퍼 매니지먼트 기법을 정확히 이해하면, 다른 DBMS를 익힐때 도움이 됩니다. 이러한 부분은 소스 레벨에서 정확하게 분석을 수행했습니다.


반면, 동작 원리의 핵심을 이해하는 것이 중요한 부분들이 있습니다. 특히 Vacuum은 PostgreSQL MVCC 특성때문에 필요한 오퍼레이션입니다. 이처럼, PostgreSQL에 국한된 내용은 핵심 위주로 다뤘습니다.  하나 하나의 디테일한 부분에 매몰되면 실제 중요한 큰 흐름을 놓칠 수 있기 때문입니다.


책의 전체 목차는 아래 첨부 파일을 참조하시면 됩니다.


PostgreSQL 성능 이야기 - 목차.pdf




누가 읽으면 좋은가?


저자의 입장에서는 많은 사람이 읽으면 좋겠지만, 이 책은 PostgreSQL 경험이 1~2년인 분들과 ORACLE에 익숙하면서 PostgreSQL의 전반적인 성능 부분을 알고 싶은 분들께 권합니다.


PostgreSQL 전문가들이 읽기에는 내용이 쉽고, 입문자들이 보기에는 매우 어려울 수 있기 때문입니다.


그 외에, 동작 원리에 관심이 있으신 분들도 읽어보시길 권합니다.


버퍼 매니저, Hybrid 해시 조인, Skew 데이터 처리를 위한 HistoJoin, Right 해시 조인, NL 조인 성능 향상을 위한 Bitmap Index Scan, Frequency, Height-Balanced 히스토그램 및 Top-N Freq, Hybrid 히스토그램 기법, Subquery Collapse, Lateral 인라인 뷰를 이용한 JPPD 구현 등의 동작 원리에 대한 내용을 매우 심도 깊게 정리했습니다.



시연 아카데미의 궁극적인 목표는?


아인슈타인의 명언 중에 "지식보다 중요한 것은 상상력이다" 라는 문구가 있습니다.


저는 “상상력”의 다른 말을 “통찰력”이라고 생각합니다. 시연 아카데미의 궁극적인 목표는 독자들의 통찰력 향상에 도움이 되는것 입니다.


혹자는 튜닝 전문가를 예술가라고 칭하기도 하고, 튜닝을 통해 극적인 성능 개선을 이룬 경우에, "예술이다"라고 표현하기도 합니다. 이는 드라마틱한 성능 개선을 의미하는 것뿐만 아니라, IT에 대한 상상력을 통해 남들이 접근해보지 않는 방식을 적용한 결과를 의미하는 것이기도 합니다.


이처럼, 전문가가 되기 위해서는 실무적인 경험을 통한 필드의 지식도 필요하지만, 동작 원리와 현상에 대한 끊임없는 문제 제기를 통한 맥락의 이해 및 이를 통한 입체적인 사고가 가능해야 합니다 즉, 단편적인 지식과 현상들의 파편을 큰 맥락 내에서 입체적으로 분석할 줄 아는 사고를 키우는데 도움이 되도록 하는 것. 이것이 제가 하고 싶은 일입니다. (너무 거창하죠? :)



앞으로 출간될 "PostgreSQL 성능 이야기"가 이러한 목표의 신호탄이 되길 희망합니다. 많은 관심 부탁드립니다.


김 시연 올림.


2017.1.22

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License


 

티스토리 툴바