jinsusong / CS-Study

CS
3 stars 5 forks source link

MySQL과 PostgreSQL의 차이점 #88

Open jinsusong opened 1 year ago

SW-H commented 1 year ago

https://www.integrate.io/ko/blog/postgresql-vs-mysql-the-critical-differences-ko/

developer-sora commented 1 year ago

간단한 동작을 구현하는 서비스는 MySQL 복잡한 쿼리를 요구하고, insert 위주의 대규모 서비스인 경우에는 PostgreSQL

dupyo commented 1 year ago

PostgreSQL은 Update 시 과거 행을 삭제하고, 변경된 데이터를 가진 행을 추가해야 하기에 MySQL보다 성능이 좋지 않음.

jinsusong commented 1 year ago

https://uminoh.tistory.com/32

결국 가장 큰 차이는 MVCC(다중 버전 동시성 제어)에 있다고 본다. 내가 이해한 바로는 postgreSQL은 MySQL과 달리 데이터 행마다 git 처럼 버전관리가 진행되고 있다. 그래서 가지는 이 점은 동시성 제어에 있어 성능우위를 가진다. MySQL은 로킹(Lock)을 통해 동시성을 제어하지만, postgreSQL은 동시에 데이터 작업이 진행되더라도 일단 모든 동작을 기록해두고 가장 마지막 작업 결과가 최종 값으로 인지하게 하는 것이다. 또 다른 장점은 로킹에 의해 병목이 생기지 않기 때문에 postreSQL이 속도 우위를 가진다는 점이다. 단, 단점은 Update 시 과거 행을 삭제하고, 변경된 데이터를 가진 행을 추가해야 하기에 MySQL보다 성능이 좋지 않고, postgreSQL은 버전 관리 중인 데이터들 중 필요없는 데이터들을 날리는 Vacuum 작업이 주기적으로 필요하다