본문 바로가기
Node.js

NoSQL

by 오늘만 사는 여자 2021. 9. 20.
728x90
반응형

nosql
not only sql
스키마 없이 데이터를 표현하는 것이 주된 표현이다.


일반적인 특징
* 정확한 스키마가 없다.
* 디비의 종류에 따라 그 특징이 매우 다르다.

장점
* 높은 수평 확장성
* 초기 개발의 용이점
* 스키마 설계의 유연성

수직 확장(vertical scaling)
* 한 인스턴스의 가용자를 키워 더 로드를 감당한다.
* 어디까지나 한 인스턴스를 키우는 것이기 때문에 확장이 제한된다.

수평 확장(horizontal scaling)
* 더 많은 인스턴스를 만들어서 더 큰 로드를 감당한다.
* 수평 확장이 가능한 구조이고 운영 비용만 감당할 수 있다면, 많은 로드를 감당할 수 있다.

* 단점
* 표준의 부재
* SQL에 비해 약한 query capability
* data consistancy를 애플리케이션 레벨에서 보장해야 함.

nosql 디비의 종류
* Key-Value
* Document
* Graph

Key-Value
* Redis, NWS DynamicDB
* 모든 레코드 key-value=의 페어이다.
* value는 어떤 값이든 될 수 있다.
* noSQL 디비 가장 단순한 형태

Document -based
* DynamoDB,Couch DB
* 각 레코드가 하나의 문서가 된다.
* 문서는 디비에 따라 xml, yaml, json, bson등을 사용
* 문서의 내부적 구조가 있기 때문에 쿼리 최적화, 활용성 높은 api가 제공된다.

Graph-based
* Neo4j, AWS Nepture
* 그래프 이론을 바탕으로, 디비를 그래프로 표현이다* 
* 그래프는 model과 관계, 그리고 property로 일어진다.
* 관계가 first-class-citizen이기 때문에 관계 기반 문제에 유리하다고 하다.


728x90
반응형

'Node.js' 카테고리의 다른 글

웹소켓을 통한 실시간 인터랙션 구현  (0) 2021.09.26
MongoDb  (0) 2021.09.20
NoSQL  (0) 2021.09.20
Express  (0) 2021.09.15
리팩토링 프로젝트  (0) 2021.09.15

댓글