SQL vs No-SQL

kio·2023년 6월 4일
0

CS

목록 보기
7/30

NO-SQL

기존 RDBMS 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하며, 관계형 데이터베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태이다.

특징

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

장점

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

단점

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

종류

  • Key-Value Database
  • Wide-Column Database
  • Document Database
  • Graph Database

결론

SQL과 NOSQL 사이의 선택은 응용 프로그램의 특정 요구에 따라 다르다. SQL 데이터베이스는 구조화 된 데이터 및 엄격한 데이터 일관성 요구 사항이있는 애플리케이션에 적합한 선택이며, NOSQL 데이터베이스는 대량의 비정형 또는 반 구조화 된 데이터를 처리하고 확장 성 및 성능이 높은 응용 프로그램에 더 적합하다.

0개의 댓글