[Spring Boot] NoSQL

이홍준·2023년 6월 29일
0

Spring Boot

목록 보기
2/11
  1. NoSQL이란?

    • Not Only SQL
    • 비관계형 데이터 베이스
  2. RDBMS vs NoSQL

    RDBMSNoSQL
    스키마 정의필수선택
    ACID제공완화
    확장성수직적수평적
  3. SQL과 NoSQL 용어 비교

    SQLMongoDBDynamoDBCassandraCouchbase
    테이블컬렉션테이블테이블데이터 버킷
    문서항목문서
    컬럼필드속성컬럼필드
    기본 키ObjectId기본 키기본 키문서 ID
    인덱스인덱스보조 인덱스인덱스인덱스
    보기보기글로벌 보조 인덱스구체화된 보기보기
    중첩된 테이블 또는 객체포함 문서
    배열배열목록목록목록
  4. NoSQL 종류

    1. Key-Value: 가장 유연한 유형이다. App이 값 필드에 저장된 모든 데이터를 제약없이 완벽하게 제어할수 있음. ex) Redis, Memcached, DynamoDB 등등
    2. Document: 비정형 대량 데이터를 저장, 검색, 관리하기 위함(JSON, XML 등등). ex) MongoDB
    3. Graph: 데이터를 노드 및 노드간의 연결을 보여주는 관계로 구성됨. 풍부하고 완전한 데이터 표현을 지원함. ACID 지원, 클러스터링에는 적합하지 않다. ex) SNS, 예약 시스템, 사기 감지
    4. Column-family: 테이블, 행, 열 형식으로 데이터를 저장 및 관리함. 열 형식을 사용하는 App에 광범위하게 배포되어 스키마 없는 데이터를 수집. ex) HBase, Cassandra, Hypertable
  5. 장점

    1. 유연성: 비교적 유연한 스키마를 제공해서 빠르고 반복적인 개발을 가능하게 해줌, 비정형 데이터에 이상적임
    2. 확장성: 고성능의 강력한 서버대신 분산형 하드웨어 클러스터를 이용해 확장하도록 설계(수평적)
    3. 고성능: 특정 데이터 모델 및 액세스 패턴에 대해 최적화되어 관계형 DB를 통해 유사한 기능을 충족하려고 할때보다 뛰어난 성능을 얻게 해줌.
    4. 고기능성: 각 데이터 모델에 맞춰 특별히 구축된 뛰어난 기능의 API와 데이터 유형을 제공함.
    5. 가용성: 여러 서버, 데이터 센터, 클라우드 리소스 전반의 데이터를 자동으로 복제함. 사용자의 위치와 상관없이 대기시간 최소화.

※ 참조

profile
I'm a web developer.

0개의 댓글