본문 바로가기
데이터베이스

MySQL과 Postgresql의 차이

by 흰색남자 2023. 2. 20.

둘 다 RDBMS라는 점은 동일하지만 프로세스를 다루느냐, 쓰레드를 다루느냐에서 차이가 나옵니다.

PostgreSQL은 프로세스 기반, MySQL은 쓰레드 기반으로 작동합니다. 

  1. PostgreSQL

PostgreSQL은 각각의 연결을 처리하기 위해 새로운 프로세스를 생성합니다. 이렇게 함으로써 각각의 연결이 서로 영향을 주지 않도록 보장할 수 있으며, 안정적으로 작동할 수 있습니다. 각각의 프로세스는 독립적인 메모리 공간을 가지고 있기 때문에 안정적으로 데이터를 보호할 수 있습니다. 또한 PostgreSQL은 WAL(Write Ahead Logging)이라는 기술을 사용하여 데이터의 일관성을 유지할 수 있습니다. 이러한 이유로 PostgreSQL은 안정적인 대규모 데이터베이스 처리에 적합합니다.

  1. MySQL

MySQL은 각각의 연결을 처리하기 위해 새로운 쓰레드를 생성합니다. 이렇게 함으로써 각각의 연결이 동시에 처리될 수 있으며, 이에 따른 성능 향상을 기대할 수 있습니다. 쓰레드 기반으로 작동하므로 PostgreSQL과 달리 각각의 쓰레드는 같은 메모리 공간을 공유하며, 이로 인해 락 경합(lock contention)이 발생할 가능성이 있습니다. 따라서, MySQL은 대규모 데이터 처리보다는 작은 규모의 데이터 처리에 적합합니다.

따라서, PostgreSQL과 MySQL은 각각의 특성에 따라 프로세스 기반 또는 쓰레드 기반으로 작동하도록 설계되었습니다.

'데이터베이스' 카테고리의 다른 글

Delete vs Truncate  (0) 2023.04.26
postgresql's sequence obejct  (0) 2023.03.28
LSM Tree ( Log Structured Merge Tree )  (0) 2023.01.29
DBA 면접 질문 (2) 21 ~ 40  (0) 2023.01.19
DBA 면접 질문 ( 1 ) 1~20  (0) 2023.01.19