PostgreSQL·MongoDB 각각 써보며 선택 기준 체득
SQL과 NoSQL의 핵심 차이는 스키마를 어떻게 다루느냐에 있다고 봅니다. SQL은 스키마를 먼저 정의하고 데이터를 넣는 방식이라 정합성이 강하지만 유연성이 낮습니다. NoSQL은 스키마가 유연해서 데이터 구조가 자주 바뀌는 환경에 맞습니다. 프로젝트에서 PostgreSQL(SQL)과 MongoDB(NoSQL)를 각각 써봤습니다. PostgreSQL은 트랜잭션이 필요한 주문 데이터에 썼고, MongoDB는 구조가 자주 바뀌는 사용자 활동 로그에 썼습니다.
어느 쪽을 고를지 기준은 트랜잭션 일관성과 쿼리 패턴이라고 봅니다. JOIN이 많고 집계가 복잡하면 SQL이 낫고, 쓰기 속도가 중요하고 구조 변경이 잦으면 NoSQL이 낫습니다. 한계는 대규모 분산 환경에서의 NoSQL 운영은 아직 경험해보지 못했습니다.