PostgreSQL 공식 사이트에 가면 오른쪽에 "PostgreSQL VS MySQL" 라는 눌러보게 되는 링크가 있네요 ㅎㅎ
http://www.postgresql.org/about/news.691
꽤 공신력 있는 테스트 결과로 보입니다.
결과는 PostgreSQL 8.2가 압도적으로 빠르다는거!!
http://tweakers.net/reviews/657
그래프는
누가 MySQL이 빠르답니까? ㅋㅋㅋ
저 그래프를 가지고
PostgreSQL이 빠르다고 이야기하는 것은
별로 타당하지 않습니다.
데이타베이스의 처리 속도가 빠르다를 이야기하려면,
현재 데이터베이스에 접속해 있는 사용자 수와 데이터베이스에 저장되어있는 자료수와 처리하는 자료수와, 그 사용자들의 질의 빈도수를 모두 함께 고려해야합니다.
어떤 처리 결과를 뽑아 낼 때도 그 시스템이 백그라운드에서 어떤 다른 작업을 하고 있을 때, 그 데이터베이스가 얼마나 영향을 받는지도 함께 고려되어야합니다. 실재 서비스에서는 데이터베이스 전용서버라고 할지라도, OS가 기본적으로 처리하는 백그라운드 작업이 있고 그것이 데이터베이스에 영향을 분명히 주기 때문입니다.
그래서, 최소한 주기적인 몇번의 조사 결과에 대한 평균값을 처리 결과로 산정해야함에 바람직합니다.
(제가 보기에는 최소한 2주 정도의 시간대별 테스트는 해야할 것같더라구요.)
개인적으로는 요즘 제가 경험해보지 못하는 방대한 자료량을 가지고, PostgreSQL 쪽으로 우째 움직여보려고 시도하고 있으니, 솔직히 계속 Oracle의 유혹을 떨처버릴 수가 없습니다. ^^
오라클이 많이 느리죠. MySQL 보는 눈에 비하면, 하지만, 그만큼 비싼 만큼 값어치를 하는 것은 사실이더라구요.
데이터베이스가 빠르다를 떠나, '좋다'라는 표현을 쓸 때는 정말 빠르다는 별로 의미가 없다는 것을 요즘 세삼 느끼고 있습니다. ^^
기업내 대외비라서 자료구조를 공개하지는 못하겠지만, 지금까지 쌓인, 버릴 수 없는 자료가 4천만에 육박하네요. -.-
참고로 DSN 자료는 약 8백만입니다.
벤치마크 프로파일링이 정확하게 기술되어있지않아 100% 제대로 된 벤치마크는 아니라고 생각합니다.
하지만 이 벤치마크에서 흥미있는 부분은 절대적인 수치가 아니라 벤치마크 결과 그래프의 모양일 것 같습니다.
MySQL이 이전부터 지적받아온 멀티프로세서(멀티코어) 환경에서 Mysql과 InnoDB의 성능문제가 그대로 나타나고 있지요. 동시 연결수의 증가에 따른 급격한 성능 저하를 보여주고 있습니다.
반면, PostgreSQL은 동시연결수가 증가해도 적정한 스레시홀드를 유지한다는 점이 높이 평가할만 하다고 보여지네요. 이 벤치마크와 관련하여 몇몇 포스트를 읽어보면 요즘 대세인 멀티코어 환경에서 PostgreSQL의 성능을 입증한 결과로 보고있습니다.
결론적으로, 제 생각을 덧 붙이자면 어플리케이션에 따라 또는 구현 방법에 따라 PostgreSQL은 MySQL보다 느릴수도 있고 빠를 수도 있습니다. 하지만 위 벤치마크에서 보여주듯이 Postgresql은 대규모(?) 환경이나 대용량 데이터 환경에서 충분한 성능과 확장성을 보여주고 있다고 봅니다.