-
-
MySQL 시스템 관리와 프로그래밍 : 자바 PHP 펄 C 파이썬 - 개정판
George Reese 외 지음, 서환수 옮김 / 한빛미디어 / 2002년 10월
평점 :
품절
“MySQL에서 rollback이 되지 않는 다는 사실을 알고 기절하는 줄 알았다.” “트랜젝션도 지원되지 않는 MySQL을 오라클이나 인포믹스, MS-SQL 등과 비교한다기 보다는 MS-Access 정도와 비교해야 하지 않겠느냐.” 오라클에 익숙한 사람들이 MySQL에 대해 위와 같이 말하는 경우를 많이 들어보았을 것이다. 물론 MySQL은 많이 사용되는 기본적인 기능을 보다 빠르게 실행하기 위해 상용 DBMS가 지원하고 있는 여러 기능들을 지원하지 않는 다는 것을 알고 있지만, 가끔 그 일부 기능들에 대해 아쉬움을 갖게 되는 것도 당연한 이치라고 할 수 있겠다.
하지만 웹 서비스를 구축하는데 있어서 MySQL은 가장 가볍고, 사용하기 편리하며, 좋은 성능(특히 가격 대비 성능)을 낸다는 것에 다른 이견이 있는 사람이 없을 것이다. (물론 트랜젝션도 지원이 된다. ^^;;) 한편, 이 책을 선택한 이유는 내가 너무 MySQL을 편식하고 있다는 생각을 하게 되었기 때문이다. MySQL을 처음 접하게 된 것이 A.P.M을 통해서였기 때문인지 MySQL을 PHP프로그래밍을 위한 DBMS로만 이용해 왔고, 이 이상도 그 이하도 아니라고 생각하게 된 것 같다.
MySQL은 대부분 소개되기를 독자적인 DBMS라기 보다는 A.P.M, 즉 리눅스 환경에서 아파치, PHP와 함께 웹사이트를 구축하는데 있어서 빠질 수 없는 조합으로 알려지게 된 것 같다. 실제로 많은 웹 프로그래머들이 MySQL을 따로 배우거나 별도의 책을 구해 공부하기 보다는 PHP책에 함께 소개된 내용으로 공부하게 된다. 그에 반해 이 책은 MySQL을 A.P.M환경의 DBMS 파트로서가 아니라, 그 자체를 소개하고 있다.
책은 크게 4부로 나누어져 있다. 1부에서는 MySQL의 기본적인 소개와 설치, SQL 등의 개념 등으로 구성되어 있고, 2부는 MySQL 관리 부분으로써 퍼포먼스 튜닝과 보안, 데이터베이스 설계에 대해 언급하고 있다. 3부는 이 책을 선택하게 된 주된 이유라 할 수 있는 MySQL 프로그래밍에 관한 부분으로 구성되어 있는데, 펄과 파이썬, PHP, C API, 자바 등의 프로그래밍에 있어서 MySQL을 활용하는 방법에 대해 설명되어 있다. 4부는 레퍼런스에 해당하는 부분으로 SQL의 기본 문법과 MySQL 데이터 유형, 연산자와 함수, MySQL PHP API 레퍼런스, C 레퍼런스, 파이썬 DB-API에 관한 부분으로 구성되어 있다.
MySQL을 처음 접하는 사용자라면 1부부터 차근차근 읽어 나가는 것이 도움이 되겠지만, 어느 정도 MySQL을 사용해 본 사람이라면, 3부부터 읽어 나가도 무방하다는 생각이다. 그런데 한편으로 책의 타깃이 참 애매모호하다. MySQL을 어느 정도 알고 있는 사람들한테는 책의 절반에 해당하는 1.2장이 별로 의미가 없을 것이며, 또 여러 가지 애플리케이션 제작 환경에 대해 궁금해 하는 독자들을 상대하기엔 부제에 해당하는 :자바, PHP, 펄, C, 파이썬 부분에 해당하는 3,4장이 좀 빈약하다는 느낌을 지울 수가 없었다. 결국 나는 오라클이나 기타 여느 DBMS와 C, 자바, 파이썬, 펄 등에 대해 어느 정도 기본이 있는 사람이 MySQL을 처음 접하고자 할 때, MySQL의 가능성을 살펴보는데 필요한 책이라는 결론을 내렸다.
국내에는 MySQL을 주제로 출판된 책이 많지 않다. 그도 그럴 것이, MySQL만 가지고 어떤 의미를 가지기 보다는, PHP와 함께 웹에서, Java나 파이썬, C와 함께 애플리케이션을 위한 DB로써 활용되기 때문이다. 그리고 그와 관련된 내용은 MySQL을 통해 배우기 보다는 해당 프로그래밍 언어를 통해 MySQL로 접근하는 형태로 안내되고 있기 때문이 아닐까. 약간은 수박 겉핥기 식의 Wrox의 Beginning시리즈는 보는듯한 아쉬움이 있으나, 나름대로 MySQL에 대해 정리해 볼 수 있는 기회가 된 것 같다.