NoSQL 개요

TopOfTheHead·2026년 2월 26일

데이터베이스

목록 보기
1/13

RDBMS vs NoSQL :
일관성 / 무결성을 중시하는 경우 rdbms를 사용하고, 대규모 비정형 데이터 처리 시 NoSQL 사용

NoSQL ( Not only SQL DB ) : redis , elastic search , Mongo DB

Schema 없이 다양한 Data Type데이터를 처리하는 비관계형 데이터베이스 시스템

ACID가 아닌 BASE 원칙을 중시하여 일관성보다 속도 / 가용성을 중시
대용량 비정형 데이터 처리에 적합

Amazon DynamoDB, Amazon MemoryDB 등이 존재


NoSQL 특징

  • 대부분 ANSI로 통일된 SQL을 사용하지 않으므로 RDBMS와 달리 각 NoSQL DB에 따라 Data Access 구문의 차이 존재
    Query가 복잡하지 않으나 간단한 처리만 가능

  • Schema의 개념이 없으므로 정해진 테이블 구조 없이 데이터의 저장이 가능하며 유연성이 좋음

  • 수평확장이 용이하여 확장성이 좋으므로 클라우드 환경에 적합
    RDBMS와는 달리 여러 DB서버수평 확장 및 분산하여 저장이 가능
    클라우드 환경에서 다량의 데이터를 실시간 처리해야하며 여러 서버에 데이터를 분산하여 저장해야하므로 RDBMS수평확장에 불리하므로 NoSQL을 사용

  • 다양한 Data Type( ex. JSON, Key-Value )등 의 데이터 모델을 지원
    API를 사용해 NoSQL에 접근하여 저장, 검색데이터변환의 필요성이 감소.

BASE 원칙
ACID에 비해 훨씬 유연한 원칙
RDBMS에 경우 ACID에 의해 Commit시 즉각적으로 확정이 되나, NoSQL의 경우 BASE에 따라서 업데이트를 하더라도 즉각 반영되지않고 여유롭게 확정

  • B : Basically Available :
    가용성을 중심으로 처리하는 방식으로 언제나 접근 가능한 상태로 유지
    데이터를 다수 저장장치에 저장 및 접근가능하도록 유지

  • A , S : Soft state :
    DB 상태 를 고정되지않고 느슨하고 유연하게 원하는 상태로 수렴하도록 설정
    ▶ 잠깐의 불일치 상태가 발생할 수 있음.

  • E : Eventually Consistent :
    일관성이 바로 확보되지는 않아도 시간이 지나면 결국 일관된 상태수렴

NoSQL 데이터데이터 모델

  • Key-Value type :
    Key-Value 형태로 하나의 에 하나의 Value데이터를 저장하는 구조
    ▶ 가장 단순하고 빠름

    ex) Redis, Amazon DynamoDB

  • Document type
    JSON Format으로 문서를 저장하는 구조
    Key-Value를 확장한 형태로서 하나의 문서를 저장

    ex) Mongo DB, Couch DB, Firestore

  • Column type
    컬럼 단위로 저장하는 구조
    ▶ 하나의 에 여러개의 <컬럼이름, 컬럼값>으로 구성된 데이터를 저장

    분석통계에 강점

    ex ) HBase, Cassandra

  • Graph type

    데이터노드로서 노드 관계를 정의하여 저장
    SNS, 추천 시스템에 유용

    ex ) Neo4j, ArangoDB
profile
공부기록 블로그

0개의 댓글