포시코딩

Database, MongoDB 본문

CS (Computer Science)

Database, MongoDB

포시 2022. 12. 13. 14:21
728x90

데이터베이스(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 서버 [참고]

728x90

'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