오라클의 눈으로 알티베이스를 보다
연구이야기/도서이야기☆

오라클의 눈으로 알티베이스를 보다

2013년 초반은 더욱더 빠른 속도로 제 곁에서 떠나는 것 같습니다.

아마도  나름대로 바쁘게 시간을 보냈기 때문인 것 같기도 합니다. 점점 더 여유가 사라지는 것 같아 아쉽기도 합니다만, 지금은 여유(?)를 부릴 때가 아닌 것 같습니다. "급할수록 돌아가라."라는 속담도 있지만, 여유는 시간이 좀 더 지난 후에 가져야 할 것 같습니다.


책을 읽는 것을 좋아하지만, 한동안 여러 가지 요인으로 말미암아 책을 읽지 못했습니다. 

많은 시간을 할애하지 못해 꽤(?) 오래 걸리긴 했지만, 틈틈이 읽은 책이 한 권 있습니다. 책의 제목은 '오라클의 눈으로 알티베이스를 보다.'입니다. 교수님께서 한국데이터베이스진흥원에서 개최한 연수 프로그램에 참석하셔서 받으셨는데, 이미 소지하고 계셔서 제게 선물로 주셨습니다. 책의 소개를 살펴보니, 대중적으로 많이 활용하고 잘 알려진 오라클을 기반으로 하여, 새로운 알티베이스를 소개하는 접근 방법이 마음에 들어서 읽게 되었습니다. 


The Book INSIDE

[제목] 오라클의 눈으로 알티베이스를 보다

[평점] ★★★★


[저자] 김수남, 김한도, 김태식, 서현석, 정영균 

[링크] 도서소개 | 미리보기


영진.com(영진닷컴) | 2012-04-10

반양장본 | 224쪽 | 223*152mm (A5신) | 314g | ISBN(13) : 9788931442489



대담형식으로 이해를 돕다

'오라클의 눈으로 알티베이스를 보다'의 구성은 신선합니다. 

대화를 중재하는 중재자를 중심으로 오라클 전문가와 알티베이스 전문가가 참석하여, 대담하는 형식으로 오라클과 알티베이스에 대한 지식을 전달합니다. 물론 이 책과 유사한 형식으로 구성한 책들이 시중에 많이 출판된 상태라고 알고 있습니다만, 두 데이터베이스를 비교하는데 이와 같은 전달(접근) 방법을 선택한 것에 대해 상당히 만족합니다.


대화 내용을 의도에 맞게 편집했겠지만, 독자에게 전달하고자 하는 내용을 쉬우면서도 명료하게 전달하고 있습니다. 

실제 글을 작성하거나 프레젠테이션을 했던 기억을 상기시켜보면, 자신이 알고 있는 지식을 쉬우면서도 명료하게 전달하기가 쉽지 않음을 한 번쯤은 느껴보셨을 것입니다. 하지만 해당 분야 전문가의 강연을 들어보면, 그 분야의 지식이 부족해도 프리젠터가 전달하고자 하는 내용을 이해할 수 있습니다. 이 차이가 무엇일까요? 아마도 명확히 이해하고 있느냐, 그렇지 못하느냐에 대한 차이일 것으로 생각합니다[각주:1].


필자는 '오라클의 눈으로 알티베이스를 보다'에서 다루는 주제가 결코 가볍다고 생각하지 않습니다. 

하지만 오라클/알티베이스 데이터베이스 시스템의 전문가가 대담형식으로 오라클과 알티베이스 데이터베이스 시스템의 특성과 장·단점, 그리고 유사한 점과 차이점 등을 전달하는데, 독자가 이해하기 쉬우면서도 자연스럽게 정리할 수 있도록 도와줍니다. 필자는 책을 읽으면 읽을수록 감동했습니다. 독자에게 전달하는 방법은 다양하지만, DBMS의 대표격인 오라클과 비교하여 이야기 형식으로 지식을 전달하는 접근 방법은 매우 좋은 선택으로 보입니다. 


PartⅠ. 아키텍처 이야기

'오라클의 눈으로 알티베이스를 보다.'의 첫 번째 주제는 DBMS의 아키텍처 구조입니다.

오라클과 알티베이스의 아키텍처는 태생 자체가 다르므로, 아키텍처 구조에 큰 차이가 있습니다. 디스크 기반 구조와 메모리 기반 구조가 같을 수는 없겠지요. 하지만 알티베이스가 In-Memory DBMS(Main Memory DBMS) 구조에서 메모리와 디스크 기반의 하이브리드 방식을 채택하면서 유사한 부분도 있습니다.


오라클과 알티베이스 아키텍처 구조의 특징과 유사점, 그리고 차이점 등을 설명하고 있습니다. 

오라클을 기본적으로 설명한 후 알티베이스 구조를 설명하기 때문에, 오라클 아키텍처에 대해 이해하고 있는 사람에게 알티베이스 아키텍처 구조를 좀 더 쉽게 이해할 수 있도록 구성했습니다. 실제로 이와 같은 구성이 필자가 각 DBMS에 관해 이해하는 데 커다란 도움이 되었습니다.


오라클 아키텍처와 알티베이스 아키텍처에 관해 이야기를 시작하면 책 한 권으로도 부족할 것입니다. 그러므로 이 공간에서 각 DBMS 아키텍처를 주제로 논의하는 것은 적절하지 않을 것 같습니다. 만약 필요하다면 다음에 시간을 만들어보겠습니다.


PartⅡ. DBMS 관리

'오라클의 눈으로 알티베이스를 보다.'의 두 번째 주제는 DBMS 관리입니다. 일반적으로 DBA 관련 업무가 되겠지요.

과거에는 Multi Version Concurrency Control(MVCC)을 오라클에서만 지원했었지만, 최근에는 대부분의 상용 DBMS에서 MVCC 방식을 지원하고 있습니다. 알티베이스도 MVCC 방식을 지원하는데, 특이하게도 메모리와 디스크 레벨에서의 지원 방식이 다른 부분이 있습니다. 


제가 이 챕터에서 가장 인상 깊었던 부분은 MVCC입니다. 필자는 MVCC 방식이 Undo 세그먼트를 활용하는 오라클 방식만 알고 있었는데, 이 책을 통해 MVCC가 대표적으로 두 가지 방식으로 제공하는 것을 알게 되었습니다. 기존에 제가 알고 있는 방식을 In-place MVCC라고 하며, 다른 방식은 Out-place MVCC라고 합니다. Out-place MVCC는 데이터가 변경될 때, 변경된 최신의 데이터를 기존 위치에 덮어쓰지 않고, 새로운 위치에 입력한 후 연결하는 방식입니다. In-place와 Out-place MVCC에 관해 여러분은 알고 계셨나요?


이외에도 다양하고 깊이 있는 내용을 다루고 있습니다. 분량이 적어 대략의 이론들을 소개하는 수준이긴 하지만, 개념은 충분히 이해할 수 있으리라 판단됩니다.


PartⅢ. DBMS 튜닝

이 책의 마지막 주제는 개발자와 튜너의 주요 업무인 데이터베이스 튜닝과 성능 관리에 대해 소개하고 있습니다.

오라클과 알티베이스 모두 Rule based Optimizer(RBO)와 Cost based Optimizer(CBO)를 지원하며, 기본 모드로 CBO로 설정되어 있습니다. 그러나 통계정보를 수집하는 방식은 크게 다른데, 오라클은 통계정보를 DBA 또는 운영자가 명령을 내려 수집하는 반면에, 알티베이스는 실시간으로 업데이트합니다. 각각의 방식은 장단점이 존재하며, 어느 방식이 우수하다고 판단하기는 어렵습니다. 트레이드 오프 관계이니까요.


이외에도 간단한 튜닝 기법에 대해 소개하고 있으며, 추가로 백업과 복구에 대한 내용도 다루고 있습니다. 개인적인 의견으로 백업과 복구는 DBMS 관리 영역에 포함되는 것이 더 좋았을 것 같습니다. 


마치면서

'오라클의 눈으로 알티베이스를 보다.'는 오라클을 잘 이해하고 있는 사람이 알티베이스를 효과적으로 이해하는데 도움을 줄 수 있는 책입니다. 물론 이 책에서 오라클과 알티베이스에 대한 모든 내용을 다루지는 못하지만, 중요한 영역과 필수 기술들에 대해서 최대한 다루려고 노력한 흔적이 보입니다. 앞으로 이런 서적이 많이 소개되어 국산 DBMS에 대한 관심이 증대되고, 시장 점유율이 높아지길 기대합니다. 


개인적으로 국산 DBMS의 성공을 응원합니다. 

대표적인 국산 DBMS로 알티베이스, 티베로, 큐브리드, 카이로스가 있습니다. 아직 시장 점유율은 미미하지만, 체계적으로 지원하고 응원을 보내준다면 발전하는 속도가 더 빨라질 것으로 예상합니다. 국산 DBMS에 대한 많은 응원 부탁드립니다.

  1. 물론 연습 시간과 기술 요소 등의 차이도 있을 것입니다. [본문으로]