- NoSQL은 "Not Only SQL"의 약자로, 관계형 데이터베이스(RDBMS)와는 다른 방식으로 데이터를 저장하고 관리하는 데이터베이스 시스템을 총칭하는 용어입니다.
- 분산형 구조를 통해 데이터를 여러 대의 서버에 분산해 저장하고, 분산 시에 데이터를 상호 복제해 특정 서버에 장애가 발생했을때에도 데이터 유실이나 서비스 중지가 없는 형태입니다.
NoSQL 도입이유
2000년대 중반 이후 인터넷과 모바일 기술의 발달로 인해 본격적으로 도입되었다.
관계형 데이터베이스의 한계:
- 확장성 부족: 웹 애플리케이션 등 급격하게 성장하는 데이터량을 처리하기 어려움
- 유연성 부족: 변화하는 데이터 구조에 적응하기 어려움
- 성능 저하: 복잡한 쿼리 처리 시 성능 저하 가능성
- 높은 비용: 고성능 하드웨어 및 유지 관리 비용 부담
새로운 데이터 유형의 등장:
- 비정형 데이터: JSON, XML 등 구조화되지 않은 데이터 증가
- 대용량 데이터: 빅데이터 시대 도래
새로운 애플리케이션의 등장:
- 웹 애플리케이션: 사용자 프로필, 게시글, 상품 정보 등 다양한 데이터 저장 필요
- 모바일 애플리케이션: 앱 설정, 캐싱 데이터 저장 필요
- IoT: 센서 데이터 저장 및 처리 필요