← 질문 목록
#390깊이 0
RDBMS 대신 NoSQL을 도입하는 판단 기준은 무엇인가?
데이터베이스
데이터 구조의 비정형성과 수평 확장 필요성에 따라 결정한다.
| 기준 | RDBMS | NoSQL |
|---|---|---|
| 스키마 | 고정적이고 엄격함 | 유연하고 비정형적임 |
| 확장 방식 | 수직 확장(Scale-up) | 수평 확장(Scale-out) |
| 데이터 관계 | 외래키로 관계 정의 | 비정형 데이터로 자체 내장 |
데이터 스키마가 자주 바뀌거나 정해지지 않았다면 NoSQL이 유리하다. RDBMS는 테이블 구조를 바꿀 때 서비스 중단이나 성능 저하가 일어난다. NoSQL은 문서나 키-값 형태로 데이터를 자유롭게 넣는다.
단순 읽기와 쓰기량이 대규모로 증가할 때도 NoSQL을 고른다. 대다수 NoSQL은 데이터를 여러 서버에 분산 저장하는 아키텍처를 가진다. 하드웨어를 늘려 처리량을 늘리기가 RDBMS보다 쉽다.
데이터의 정합성과 트랜잭션 보장이 최우선이라면 RDBMS를 쓴다. NoSQL은 분산 환경의 특성상 최종 일관성을 지원하는 경우가 많다. 금융 거래처럼 실시간으로 완벽한 일관성이 필요하면 비용이 커진다.