프로젝트를 하다보면 SQL은 뭐니까~ NOSQL은 뭐라서 ~~ .... 이런 이야기를 많이 하는데 속으로 뭔지 몰라서 멍하니 있었다. 이번 기회에 제대로 잡아보자.
SQL | NoSQL | |
관계 | 관계형 DB (RDB) | 비관계형 DB |
스키마 | SQL을 사용, 스키마를 미리 정해둔다. | 구조화되지 않은 데이터를 위한 동적 스키마 |
확장방식 | 수직적 확장 | 수평적 확장 |
데이터 형식 | 테이블 기반 | 문서, key-value, 그래프 기반 |
유지비용, DB복잡도 | 높다 | 낮다 |
DB예시 | MySQL, MariaDB, Oracle | MongoDB, Redis |
SQL과 NoSQL의 주요 차이점은 ?
- 테이블간의 관계 여부
- SQL : 테이블이 구성되고 테이블은 특정 구조를 가지며 테이블끼리 연결된다. 따라서 SQL은 특정 방식으로 액세스해야 하는 데이터를 저장할 때 유용하다.
- NoSQL : 특별한 구조가 없고, 관계가 설정되어 있지 않아서 특정 방식으로 액세스할 필요가 없는 데이터를 저장할 때 적합하다.
- 확장 방식의 차이
- SQL : 수직 확장이 가능해 서버에 기능을 추가하며 확장할 수 있다.
- NoSQL : 수평 확장을 해서 더 많은 서버를 추가하며 확장된다.
데이터베이스 예시
- SQL 기반 DB
- Mysql : 소규모 기업과 웹 애플리케이션에서 널리 사용되는 DB. 우리가 아주 흔하게 사용할 수 있다.
- NoSQL 기반 DB
- MongoDB : 사용하기 쉬운 매우 인기 있는 NoSQL DB이다. MongoDB는 또한 매우 유연하여 광범위한 데이터 유형을 저장할 수 있습니다. 그들은 빅 데이터를 처리할 수 있습니다.
- Redis : Redis는 캐싱에 자주 사용되는 인메모리 데이터베이스입니다. Redis는 빠르고 많은 애플리케이션에 사용할 수 있습니다.
'CS 개념 > DB' 카테고리의 다른 글
상향식 모델링 VS 하향식 모델링 (0) | 2024.04.11 |
---|