NoSQL이란?

woong·2023년 2월 26일
0

면접 질문

목록 보기
8/8

NoSQL이란?

비관계형 데이터베이스를 말한다.
즉, 관계형 데이터 모델을 지양하며 대량의 분산된 데이터를 저장하고 조회하는데 특화되었으며, 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소를 말한다.
NoSQL은 기존 RDBMS 형태의 관게형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하며, 관계형 데이터베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태이다.

특징

  1. 데이터 간 관계를 정의하지 않는다.
  • RDBMS는 데이터 관계를 외래키 등으로 정의하고 JOIN 연산을 수행할 수 있지만, NoSQL은 JOIN 연산이 불가능하다.
  1. 대용량 데이터를 저장 가능.
  • 페타바이트 급의 대용량 데이터 저장 가능.
  1. 분산형 구조
  • 여러 곳 서버에 데이터를 분산 저장해 특정 서버가 장애 나더라도 데이터 유실, 서비스 중지가 발생하지 않는다.
  1. 고정되지 않은 테이블 스키마를 갖는다.
  • RDBMS와 달리 테이블의 스키마가 유동적이다. 데이터를 저장하는 칼럼이 각기 다른 이름과 다른 데이터 타입을 갖는 것이 가능하다.

cf) 스키마란?

장단점

장점

  1. 저렴한 비용으로 분산 처리와 병렬 처리 가능
  2. 비정형 데이터 구조 설계로 설계 비용 감소
  3. 빅 데이터 처리에 효과적
  4. 가변적인 구조로 데이터 저장 가능
  5. 데이터 모델의 유연한 변화 가능

단점

  1. 데이터 업데이트 중 장애가 나면 데이터 손실 가능
  2. 많은 인덱스 사용 시 충분한 메모리 필요. 인덱스 구조가 메모리에 저장되기 때문
  3. 데이터 일관성이 항상 보장되지 않음

참고
https://code-lab1.tistory.com/53

profile
꾸준한 성장을 지향합니다

0개의 댓글