본문 바로가기
CS/데이터베이스

NoSQL(비관계형) 데이터베이스

by KDGdev 2023. 2. 17.

 NoSQL(비관계형) 데이터베이스


NoSQL 데이터베이스란 SQL을 사용하지 않고 이름 그대로 데이터들 간의 관계가 없는 데이터베이스입니다.

 

스키마가 유연하여 변경될 수 있고 대용량의 데이터를 저장할 수 있는 특징을 가지고 있습니다.

 

대표적으로 MongoDB와 redis가 있습니다.

 

  • MongoDB: NoSQL 데이터베이스에서 가장 많이 사용한다고 볼 수 있습니다.
  • redis: 오픈 소스 기반의 비관계형 데이터베이스이고 Key를 통해 빠르게 결과를 가져올 수 있습니다.

 

관계형 데이터베이스의 장단점은 다음과 같습니다.

 

  • NoSQL 데이터베이스의 장점
    • 유연합니다. 언제든지 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있습니다.
    • 읽어오는 속도가 관계형 데이터베이스보다 빠릅니다.
    • 관계형 데이터베이스는 수직정 확장만 가능한 것에 비해 NoSQL 데이터베이스는 하드웨어의 수를 늘리는 수평적 확장이 가능합니다.
  • 단점
    • 데이터가 중복되어 있는 경우가 상대적으로 많아 UPDATE 하는 경우 모든 컬렉션에서 수행해야 하기 때문에 번거롭고 느립니다.
    • 명확한 데이터 구조가 필요한 경우에 사용하지 못합니다.

 

다음은 NoSQL 데이터베이스를 사용하기 좋은 환경입니다.

 

  • 데이터 구조를 명확하게 정의할 수 없거나 구조가 변경/확장될 수 있는 경우
  • 데이터의 변경보다 읽기를 주로 할 경우.
  • 많은 양의 데이터를 다뤄야 할 경우

 

'CS > 데이터베이스' 카테고리의 다른 글

조인(Join) 알고리즘 - 중첩 루프 조인(Nested Loop Join)  (0) 2023.03.01
인덱스의 정의  (0) 2023.02.27
관계형 데이터베이스  (0) 2023.02.14
트랜잭션  (0) 2023.02.08
데이터베이스 정규화  (1) 2023.02.01