일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- nodejs
- typeORM
- class
- mongoose
- 자료구조
- Dinosaur
- AWS
- Python
- react
- cookie
- Express
- 정렬
- nestjs
- Sequelize
- Nest.js
- MongoDB
- dfs
- JavaScript
- MySQL
- game
- OCR
- flask
- TypeScript
- GIT
- Bull
- 게임
- 공룡게임
- Queue
- jest
- Today
- Total
포시코딩
Database, MongoDB 본문
데이터베이스(Database)의 개념
단순히 데이터를 잘 저장하고 잘 찾기 위해 만들어진 소프트웨어를 Database Management System(DBMS)이라 부른다.
DBMS가 설치된 서버 컴퓨터를 데이터베이스 서버(DB 서버)라고 부를 수 있다.
흔히 '데이터베이스에 저장한다'라고 말하면 이 DBMS가 설치된 서버에 데이터를 저장한다고 말하는 것
즉, DB 서버의 모든 데이터는 DBMS가 관리하게 된다.
데이터베이스의 종류
관계형 데이터베이스 - Relational Database(RDB)
데이터 형식이 정해져 있고, 데이터 끼리 관계를 맺어 모순이 없는 데이터를 유지할 수 있도록 도와주는것에
집중한 데이터베이스를 관계형 데이터베이스라고 부른다.
모순이 없는 데이터: 무결성과 정합성이 높은 데이터
무결성: 데이터 값이 정확한 상태를 의미
정합성: 어떤 데이터들의 값이 서로 일치하는 상태를 의미
비관계형 데이터베이스 - Non-relational Database(NoSQL)
관계형 데이터베이스에 속하지 않는 모든 데이터베이스를 비관계형 데이터베이스라고 부른다.
비관계형 데이터베이스는 데이터의 형태가 고정되어 있지 않고 유연하게 확장할 수 있지만,
유연한만큼 저장되는 데이터를 제대로 관리하지 않으면 데이터베이스에 저장된 데이터를 신뢰할 수 없게 되기도 한다.
최근 많은 스타트업에서 유연한 설계를 위해 많이 채택되는 데이터베이스 유형.
또한, 분산 처리와 병렬 처리가 가능하고 빅 데이터 처리에 효과적이다.
MongoDB
- 국내, 외 수 많은 개발자들에게서 사용되고 있는 가장 인기있는 비관계형 데이터베이스(NoSQL)중 하나
- 모든 데이터가 JSON형태로 저장된다.
- 복잡한 구조를 쉽게 저장할 수 있는 장점이 있다.
- 무료로 사용 가능
- 스케일을 쉽게 줄이고 늘일 수 있다.
+ 웹 서버와 DB 서버의 관계
웹 서버는 웹 클라이언트가 원하는 데이터와 기능을 제공한다.
DB 서버는 데이터를 최대한 성능 좋게 저장하고 DB 클라이언트가 원하는 데이터를 제공한다.
결국 두가지 서버는 어떤 것을 제공하냐만 다를 뿐, 기본 원칙은 비슷하다.
웹 서버는 DB 서버를 이용하는 DB 클라이언트가 될 수 있다.
정리하자면 브라우저 <-> 웹 서버 <-> DB 서버 [참고]
'CS (Computer Science)' 카테고리의 다른 글
캐시(Cache) (1) | 2023.01.07 |
---|---|
CPU (0) | 2023.01.07 |
API, RESTful API (0) | 2022.12.01 |
랜덤이 정말 랜덤일까? - Web Crypto API (0) | 2022.11.22 |
JIT vs AOT 컴파일 방식 (0) | 2022.11.21 |