경로 매개변수 -> URL의 일부분으로 언제든지 변경 될수 있는 값을 나타내기 위해 사용된다.
/goods 였다면 그 뒤에 /:goodsid 라는 값을 추가해서 요청시 goodsid값을 받아올수있다.
01. 데이터베이스와 MongoDB
저희는 이전 주차에 spa-shop의 상품 등록 API를 구현했습니다. 하지만 이 API에는 한 가지 큰 문제점이 있었는데요. 서버를 종료하거나 재시작할 경우, 등록된 상품 데이터가 모두 사라지는 문제가 있었습니다.
→ 왜 그런 문제가 발생했을까요? 그 이유는, 저희가 데이터를 “인 메모리(In-Memory)”방식으로 저장했기 때문입니다. 이 방식은 데이터를 RAM과 같은 임시 저장소에 보관하여 어플리케이션이 종료될 경우 이 임시 저장소의 데이터 또한 함께 소멸하게 되는것이죠.
만약, 여러분들이 대규모 백엔드 서버를 운영한다고 가정했을 때, 서버에 문제가 생겨 재시작을 해야 할 때마다 모든 사용자 데이터가 초기화된다면, 얼마나 큰 혼란이 생기게 될까요?
이러한 문제를 해결하기 위해 “데이터베이스(Database)”라는 기술이 등장하게 되었습니다. 데이터베이스는 저희가 서비스하는 어플리케이션이 종료된 후에도 데이터가 보존되는 **영속성(Persistence)**이라는 특징을 가지게 됩니다.
2) 데이터베이스 란?
데이터베이스(Database)는 ‘데이터의 집합’이라고 할 수 있습니다. 실제 데이터가 저장되는 저장소의 역할을 수행합니다.
데이터베이스(Database)를 실제로 운영하고, 관리하는 소프트웨어를 DBMS(Database Management System)라고 부릅니다.
“데이터베이스에 저장한다” 라는 말은 DBMS가 설치된 서버에 데이터를 저장한다는 의미입니다.
- DBMS가 설치된 서버 컴퓨터를 데이터베이스 서버(DB 서버)라고 부를 수 있습니다.
- 즉, DB 서버의 모든 데이터는 DBMS가 관리하게 됩니다.
관계형 데이터베이스 - Relational Database (RDB):- 관계형 데이터베이스는 데이터의 형식이 정해져있고, 데이터 간의 관계를 맺어 모순이 없는 데이터를 유지할 수 있도록 도와주는 데이터베이스를 관계형 데이터베이스라고 부릅니다.
- 이런 특성 때문에 은행과 같이 정확하고 일관된 데이터가 중요한 경우에 주로 사용됩니다.
비관계형 데이터베이스 - Non-relational Database (NoSQL):- 데이터의 형식이 고정되어 있지 않고, 유연하게 확장할 수 있는 데이터베이스를 비관계형 데이터베이스라고 부릅니다.
- 이런 유연성 덕분에 SNS 서비스, 빅데이터와 같이 다양한 형식의 데이터를 빠르게 저장하고 검색해야 하는 경우에 주로 사용됩니다.
- 비관계형 데이터베이스는 유연하게 저장되는 만큼 저장되는 데이터를 제대로 관리하지 않으면 데이터베이스에 저장된 데이터를 신뢰할 수 없게 되기도 합니다.
'Daily Logs > TIL (Today I Learned)' 카테고리의 다른 글
9월 4일 Express.js (0) | 2024.09.04 |
---|---|
9월 3일 Module (0) | 2024.09.03 |
8월 30일 node.js (0) | 2024.08.30 |
8월 29일 API (0) | 2024.08.29 |
8월 28일 Node.JS 입문 (0) | 2024.08.28 |