DB

이후띵·2022년 2월 8일
1

Node.js

목록 보기
10/10

Not Only SQL.

  • 스키마 없이 데이터를 표현하는 것이 주된 특징인 일련의 데이터베이스들을 의미한다.

특징

  • 정해진 스키마가 없다.(정해진 데이터가 들어가야할 틀이 없다.)
  • 데이터베이스의 종류에 따라 그 특성이 매우 다르다.(RDBMS가 비슷비슷한 것과 다름)

장점

  • 높은 수평 확장성
  • 초기 개발의 용이성 (틀을 만드는 작업이 필요없어서 편하다)
  • 스키마 설계의 유연성 (새로운 데이터를 새로운 데이터 틀에 맞게만 넣으면된다.)

수직 확장

  • 한 인스턴스의 가용자원(CPU, memory, storage)를 키워 더 큰 로드를 감당한다.
  • 어디까지나 한 인스턴스를 키우는 것이기 때문에 확장이 제한적이다.

수평 확장

  • 더 많은 인스턴스를 만들어 더 큰 로드를 감당한다.
  • 수평 확장이 가능한 구조이고, 운용 비용만 감당할 수 있다면, 이론적으로 얼마나 많은 로드라도 받아낼 수 있다.

단점

  • 표준의 부재 : 한 데이터베이스에서 다른 데이터베이스로 넘어갈때 migration이 거의 불가능.
  • SQL에 비해 약한 query capability (단순한 쿼리들만 가능하다.)
  • data consitency를 어플리케이션 레벨에서 보장해야 함.

NOSQL 데이터베이스 종류

  • Key-Value: Redis, AWS DynamoDB (NoSQL DB의 가장 단순한 형태)
  • Document-based: DynamoDB, CouchDB
  • Graph-based: Neo4j, AWS Neptune
profile
이후띵's 개발일지

0개의 댓글