웹 서비스는 Front-end 서버, Back-end 서버 그리고 DataBase(DB) 로 이루어져 있습니다.

yarn dev, npm start 등을 이용해 실행시키면서 생성된 포트가 동작하고 있는 컴퓨터를 프론트엔드 서버라고 합니다.

프론트 엔드 서버 프로그램
→ yarn dev를 해서 실행시키면 포트가 생성되고, 해당 포트는 누군가 종료하지 않는이상 24시간 동작합니다. 이처럼 24시간 켜져 있는 포트 번호를 서버 프로그램이라고 합니다.
서버 프로그램은 왜 24시간 켜져 있나요?
→ 접속을 기다리기 때문입니다. 바로 바로 응답을 주려면 24시간 켜져 있어야 합니다.데이터 베이스는 백엔드의 접속을 기다리고 프로트엔드 서버는 브라우저의 접속을 기다립니다.
데이터 베이스란 데이터를 담아두는 저장소입니다.
데이터 베이스에 데이터를 담아두는 방식에는 크게 두 가지가 있는데 이를 SQL, NoSQL 방식이라 지칭합니다

우리가 통신을 위해 사용했던 axios나 apollo-client처럼 백에드에도 데이터베이스와 통신을 도와주는 툴이 있습니다.
이 툴은 담아두는 방식(SQL,NoSQL)에 따라 달라집니다. 따라서 툴은 ORM,ODM 2가지가 있습니다.
ODM : object document mappingORM : object relation mappingSQL방식은 데이터들을 엑셀과 비슷한 표에 정리해두는 방식 입니다. 테이블 내에 row, column으로 나뉘어서 저장됩니다.
SQL방식은 NoSQL방식과달리 각각의 표 사이에 관계성을 부여 할 수 있습니다. 관계성을 부여할 수 있기때문에 mapping해주는 툴을 ORM을 사용합니다.
또한 관계성을 부여하는 데이터베이스를 관계형 데이터 베이스 라고 하며, 대표적으로 Oracle, MySQL, Postgres 이 있습니다.
서로 다른 테이블에서 같은 것(기본키) 을 이용해 서로 관계가 있게하는 DB입니다.
단순히 enter를 치거나 클릭해서 저장하는 것이 아닌 특정한 명령어를 통해서 데이터를 저장하거나 불러옵니다 (DDL, DML, DCL)
NoSQL방식은 서류 봉투에 document를 모아두는 방식입니다.
NoSQL에서는 서류 봉투를 컬렉션이라고 부르며, 통신을 도와주는 툴로는 ODM을 사용합니다.
NoSQL 방식을 사용하는 데이터베이스에는 대표적으로 MongoDB와 FireBase가 있습니다.
