8.10 요약 및 더 알아보기
이제 NoSQL과 관계형 데이터베이스의 차이를 요약해 보겠습니다.
▼ 표 8-1 관계형 데이터베이스와 NoSQL 비교
구분 |
관계형 데이터베이스 |
NoSQL |
레코드 구조 |
테이블 안의 모든 레코드가 동일한 데이터 구조(필드)를 가져야 한다. |
컬렉션 안의 모든 도큐먼트가 서로 다른 데이터 구조(트리)를 가져도 된다. |
중요하게 여기는 것 |
데이터의 원자성과 일관성을 중요하게 여긴다. |
데이터의 가용성(데이터 액세스 요청을 신속하게 응답)과 수평 확장성을 중요하게 여긴다. |
질의 기능 |
질의에서 할 수 있는 기능이 풍부하며 문법이 표준화되어 있다. |
질의 기능이 상대적으로 적고 표준이 없다. |
게임 서버 개발에서 NoSQL 사용 역사는 관계형 데이터베이스보다 훨씬 짧습니다. NoSQL에 관계형 데이터베이스에 비해 일방적인 장점이나 단점이 있지는 않습니다. 따라서 관계형 데이터베이스를 NoSQL이 갈아 치워 버릴 수 있는 상황은 아닙니다. 그렇다고 NoSQL이 게임 개발에서 불필요한 것도 아닙니다.
게임 개발에서 NoSQL은 관계형 데이터베이스와 혼용할 때가 많습니다. NoSQL은 게임 플레이어의 데이터를 저장하는 용도로 간혹 쓰입니다만, 게임 플레이어 데이터보다는 주로 로그 분석이나 통계 분석 등 용도로 활용됩니다. 어떤 개발 프로젝트에서는 데이터베이스 설계를 확정하기 전까지 NoSQL을 사용하여 개발을 더 빠르게 유도하기도 합니다. NoSQL을 어떤 용도로 활용하면 좋을지는 여러분 창의에 달려 있습니다. 아직 NoSQL 역사는 짧으니만큼 여러분이 발굴해 보기 바랍니다.