SQL
- 관계형 데이터베이스
- 쿼리문(Insert, select, update, delete ...)
- 트랜잭션, 프로시져(stored function, view ...) 를 이용한 복잡한 로직 처리
- MySQL, Oracle, PostgreSQL 등..
NOSQL
- 비관계형 데이터베이스 : documents, graph database, key-value store
- 유연함
- 저장 or 조회 성능이 빠르다
- scale up 또는 scale down 이 쉽다 -> sharding 과 같은 방법으로 horizontal scaling 이 가능. (SQL 은 Vertical scaling 만 가능)
- 비즈니스 로직에 집중할 수 있다
- 스키마가 정해져있지 않으므로, 다른 구조의 데이터를 같은 컬렉션에 추가할 수 있다. 따라서 Join 개념이 없다.
- MongoDB, Redis, Cassandra, Amazon DynamoDB 등..
선택
결국 SQL은 고정되고 안정적인 방식이고, NOSQL 은 유연하고 각 제품별로의 특징을 가지고 있다. 따라서 필요에 따라 알맞은 제품을 선택해서 사용하면 된다.
좋은 자료
https://gyoogle.dev/blog/computer-science/data-base/SQL%20&%20NOSQL.html
SQL과 NOSQL의 차이 | 👨🏻💻 Tech Interview
SQL과 NOSQL의 차이 웹 앱을 개발할 때, 데이터베이스를 선택할 때 고민하게 된다. 보통 Spring에서 개발할 때는 MySQL을, Node.js에서는 MongoDB를 주로 사용했을 것이다. 하지만 그냥 단순히 프레임워크
gyoogle.dev
'DB' 카테고리의 다른 글
데이터베이스 스키마 설계에 대한 가이드 (0) | 2023.05.06 |
---|---|
제약조건(Constraint) (0) | 2023.05.04 |
(필기)Index , B tree, B+ tree (0) | 2023.04.16 |
Oracle vs MySQL vs MSSQL (0) | 2023.03.10 |
DataSource, Connection Pool, HikariCP (0) | 2023.03.01 |