자바 스프링 입문 강의를 들으면서 머리가 안돌아가서 답답할때 CS특강이 있어서 편안한 마음으로 들었다. 중간에 집중력이 떨어져서 til을 쓰기 위해 강의 자료를 보고 다시 공부하다시피 작성하는 중이다.
**DB기초**
DB란 무엇인가??
- 한마디로 정의하면 '데이터의 집합'이라고 할 수 있다.
DBMS
- 데이터베이스를 관리하고 운영하는 소프트웨어. 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 한다. ex)은행의 예금계좌
- MySQL, MariaDB, PostgreSQL, Oracle, ...
DBMS의 분류
- 계층형
- 방형
- 관계형줄여서 RDBMS. MySQL뿐 아니라 대부분의 DBMS가 이 형태로 사용됨. RDBMS의 데이터베이스는 table이라는 최소단위로 구성.
SQL : DBMS에서 사용하는 언어
- 관계형 DB에서 사용되는 언어. 일반적인 프로그래밍 언어와는 조금 다른 특성.
SQL VS NoSQL
SQL
: 데이터를 엑셀과 같이 정해진 틀(스키마)에 따라 테이블에 저장
장점
- 명확히 정의된 스키마, 데이터 무결성.
- 각 데이터를 중복없이 한번 저장
단점
- 덜 유역. 스키마를 사전에 계획하고 알려야함, 후에 수정이 어려움.
- 조인문이 많으 복잡한 쿼리가 만들어질 수 있음
- 대체로 수직적인 확장만 가능
제품 :MySQL, PostgreSQL, Oracle, ...
NoSQL
: 데이터를 자유롭게 다양한 형태로 저장.
장점
- 스키마가 없어 유연함. 저장된 데이터를 조정하고 새로운 필드 추가 가능
- 데이터를 애플리케이션을 필요로 하는 형식으로 저장됨-> 데이터 읽어오는 속도 빨라짐.
- 수직 및 수평 확장 가능 -> 애플리케이션이 발생시키는 모든 일기/ 쓰기 요청 처리가능
단점
- 유연성으로 인해 데이터 구조결졍을 미루게 될 수 있음
- 데이터 중복을 계속 업데이트 해야 함
- 여러 컬렉션에 중복되 있기 때문에 수정 시 모든 컬렉션에서 수행해야 함
제품 : Firestore, MongoDB, Redis, ...
'스파르타 부트캠프(spring)' 카테고리의 다른 글
[내일배움캠프_Spring] 자바 Spring 입문_221212 (0) | 2022.12.13 |
---|---|
[내일배움캠프_spring] 주간회고 WIL - 5주차 (0) | 2022.12.12 |
[내일배움캠프_Spring] 자바 SQL기초_221208 (0) | 2022.12.09 |
[내일배움캠프_Spring] 자바 MVC_221207 (1) | 2022.12.08 |
[내일배움캠프_Spring] 자바 Spring 입문_221205 (0) | 2022.12.06 |