SQL vs NoSQL

박찬효·2022년 10월 22일
0

SQL (관계형 DB) ??

SQL을 사용하면 RDBMS에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있습니다.
관계 형 데이터 베이스에는 핵심적인 두 가지 특징이 있습니다

  • 데이터는 정해진 데이터 스키마에 따라 테이블에 저장됩니다.
  • 데이터는 관계를 통해 여러 테이블에 분산됩니다.

데이터는 테이블에 레코드로 저장되는데, 각 테이블마다 명확하게 정된 구조가 있습니다. 해당 구조는 필드의 이름과 데이터 유형으로 정의됩니다. 따라서 스키마를 준수하지 않은 레코드는 테이블에 추가할 수 없습니다. 즉, 스키마를 수정하지 않는 이상은 정해진 구조에 맞는 레코드만 추가가 가능한 것이 관계형 데이터베이스의 특징 중 하나입니다.


출처

하나의 테이블에서 중복 없이 하나의 데이터만을 관리하기 때문에 다른 테이블에서 부정확한 데이터를 다룰 위험이 없어지는 장점이 있습니다.

NoSQL (비관계형 DB) ??

관계형 데이터베이스도 한계점을 노출하게 되었으며 이로 인해새로운 데이터베이스인 NoSQL 이 탄생하게 되었습니다. NoSQL은 기본적으로 SQL와 반대되는 접근방식을 따르기 때문에 지어진 이름입니다.

출처

NoSQL 데이터베이스의 종류는 키-값 데이터베이스,document 데이터베이스, 그래프 데이터베이스 등으로 나뒵니다. 키-값 데이터 베이스는 키와 값으로 구성된 배열구조의 데이터베이스로 NoSQL 데이터베이스중 가장 단순한 구조입니다. document 데이터베이스는 필드와 값의 형태로 구성된 데이터를 JSON 포맷으로 관리하는 데이터베이스로 NoSQL 데이터베이스 중 가장 인기가 높습니다. 그래프 데이터베이스는 노드와 관계로 구성된 데이터베이스로 근접한 객체를 모델링할 목적으로 설계되었습니다.

SQL vs NoSQL 장단점

SQL의 장단점

장점

  • 명확하게 정의된 스키마, 데이터의 무결성 보장합니다.
  • 관계는 각 데이터를 중복없이 한번만 저장합니다.

단점

  • 덜 유연함, 데이터 스키마를 사전에 계획하고 알려야합니다.
  • 관계를 맺고 있어서 조인문이 많은 복잡한 쿼리가 만들어질 수 있습니다
  • 대체로 수직적 확장만 가능합니다..

NoSQL의 장단점

장점

  • 스키마가 없어서 유연하고, 어제든지 저장된 데이터를 조정하고 새로운 필드 추가할 수 있습니다.
  • 데이터는 애플리케이션이 필요로 하는 형식으로 저장이 되고, 데이터 읽어오는 속도가 빠릅니다.
  • 수직 및 수평 확장이 가능해서 애플리케이션이 발생시키는 모든 읽기/쓰기 요청 처리가 가능합니다.

단점

  • 유연성으로 인해 데이터 구조 결정을 미루게 될 수 있습니다.
  • 데이터 중복을 계속 업데이트 해야합니다.
  • 데이터가 여러 컬렉션에 중복되어 있기 때문에 수정 시 모든 컬렉션에서 수행해야 합니다.

참조 자료

profile
개발자가 되기 위한 1인

0개의 댓글