SQL과 NoSQL은 관계·질의·일관성의 비용을 교환한다

같은 데이터도 어떤 질문을 자주 하고 어디까지 함께 확정해야 하는지에 따라 모델이 달라진다.

SQL 관계

정규화 + JOIN

중복을 줄이고 다양한 관계 질의를 조합

SQL 일관성

transaction

여러 행의 제약과 변경을 한 원자 경계로 보호

NoSQL 읽기

query-shaped data

자주 읽는 모양으로 중첩·복제해 조회 단순화

NoSQL 일관성

aggregate boundary

한 문서·파티션 안의 변경을 강하게 보장

핵심NoSQL은 관계가 없는 저장소가 아니라 관계를 애플리케이션과 데이터 중 어디에 비용으로 둘지 선택하는 방식이다.