http://techdocs.postgresql.org/techdocs/mysql2postgresql.php
언제가 제가 한 번 써야지 했던 글이 윗글에 있었군요.
주위에서 "왜 빠른 MySQL을 포기하고, PostgreSQL로 바꾸어야하는가?"에 대한 이야기를 많이 듣습니다.
그때마다 저는 아주 오래전 이야기를 꺼집어냅니다.
쓰기편했던 M$동네를 떠나서 까만색화면에 흰글자밖에 없었던 리눅스라는 놈으로 옮겨갔던 그 시절의 이야기를.
(물론 지금은 제가 리눅서라고 불리기를 강력히 거부하고, 또 누구도 저더러 리눅서라고도 안하지만 -.-)
전혀 연관성이 없는 이야기 같지만, 저에게 있었어는 MySQL에서 PostgreSQL로 옮겨간 이야기는 리눅스를 시작하던 때와 비슷합니다.
도데체 OS라는 놈이 뭘까? 왜 사람들은 리눅스에 관심을 가질까? 이것처럼
도데체 SQL이라는 놈이 뭘까? 왜 사람들은 빠른 MySQL 나누고 PostgreSQL 이야기를 그것도 Oracle도 아닌 많이 사용하지도 않는 그 낯선 RDBMS를...
윗 영어 문서 모두를 그대로 옮겨두면 좋겠지만, 귀찮아서...
아무튼 글의 요지는 제가 말하고 싶었던 것과 크게 다르지 않습니다.
PostgreSQL은 비교적 충실히 SQL 표준 규약이라고 하는 ANSI SQL을 지킵니다. 또한 지금까지 제가 보아 왔던 PostgreSQL 놈은 그렇게 해왔습니다. Oracle의 그 편한 outer join도 포기(?)하고, ANSI 구문을 따르며, case when, null 과 empty stirng 의 관계, limit, offset 구문, string concat 구문..
또한, RDBMS의 특징인 "관계" 문제에 있어서도 MySQL과 비교도 안될 정도의 많은 기능이 있습니다. (그 "관계"를 속도 때문에 무시했던 MySQL도 요즘은 많이 관심을 가지더군요)
또한 DB 설계 및 구현과 응용 프로그램을 함께 개발하는 사람들의 공통된 생각 - 제가 알고 대부분 사람들의 생각입니다, 물론 제가 알지 못하고 있는 더 많은 사람들의 생각은 어떨지는 모르겠지만 -
"DB에서 할 수 있는 모든 일은 DB에서 하고 응용 프로그램으로 넘겨주라!" 이 관점에서도 PostgreSQL놈은 그 몫을 톡톡히 해냅니다. - 물론 Oracle하고 비교하면 비교도 안될 정도로 미약한 수준이지만 -
----
여기까지 그 영문의 요지이고,
제가 마음에 들어하는 것 중에 하나가,
PostgreSQL은 MySQL보다 눈에 보이는 것이 초라하다는 것.
어느 기업의 대대적인 지원을 받고 있는 것도 아니고,
거대한 사용자 층을 가지고 있는 것도 아니여서,
문제가 발생 되었을 때, 즉각 대처하지도 않고,
카리스마 넘치는 리더가 있어, 새로운 사용자를 쉽게 만들지도 못하는,
마치 위태위태하는 프로젝트처럼 움직입니다.
하지만!!!
그렇기 때문에,
표준이 아니다 싶으면 과감하게 표준으로 바꿉니다.
설계/구현 단계에 있어 기본 이론적 바탕이 충실합니다.
(다들 서로 자신만의 표준을 만들어가고 있는 시점에,
PostgreSQL놈은 자신의 것을 내세우기 보다는 ANSI SQL 구문이
이러니까 우리도 이렇게 간다...는 식입니다)
또한 순수한 오픈소스로 운영될 가능성이 다른 것들보다 큽니다.
또한 새로운 구현에 대한 도입이 빠릅니다.
이렇게 이야기 하니까 꼭 약장사 같은데,
사용자나 개발자가 중급자 이상의 어느정도 SQL 구문을 마음대로 만지는 경지에 도달하면 PostgreSQL 놈은 그 자신의 은근한(?) 매력을 보여줍니다. :)
|