실무에서 약간은 도움 될 기초지식 5 - 아키텍처/DB
시작하기전
- 여지껏 들어봤거나, 듣고 있거나, 앞으로 일하면서 들을 용어들을 설명을 할 것이다.
- 그렇게 깊이 있는 지식이 아닌, 초심자들이 들었을때도 아 ~ 그렇구나~ 라고 끄덕거리게 하는게 목표이니 개념만 쉽게 이해하고 심도있는 내용을 추구하는 사람들은 구글링을 통해 더 깊이 있는 내용을 공부하기 바란다.
서버의 실체
- 스타트업을 창업했다고 예를 들어보자.
- 서버와 클라이언트를 구성한다.
- 한 컴퓨터 안에 웹서버와 DB를 다 둔다.
- 좀 잘된다 싶으면 유저가 많아져서 데이터 저장소를 따로 뺀다
- 이번주 트래픽 터질지도 모른다.
- 얘도 마찬가지
- 그러다 이미지는 따로 저장하자고 한다. 파일 사이즈가 너무 크니까
-
서버 상태도 체크하고 싶다고 상태체크용 서버를 또 둔다.
-
다들 잘 모르는 사실이 있는데.. 우리가 게임을 하다가 갑자기 서버가 멈추거나 죽었을때 개발자들이 열일하고 있을 것 같지?
- ㄴㄴ 그냥 달려가서 재부팅 함
그래서 이 컴퓨터들을 다 산다고?
- ㄴㄴ 옛날에는 그렇게 했지만 요즘은 그렇게 하지 않는다.
- 인터넷 환경. 즉, 클라우드 환경에서 컴퓨터를 산다.
- 이게 우리가 종종 듣는 AWS다.
- Amazon Web Service 이런곳에서 컴퓨터를 빌리는거다.
- 그래서 시간제로 돈을 내거나 트래픽 단위로 돈을 낸다.
- 요즘은 이 클라우드 환경에서 어떻게 잘 엮을것이냐 하는 것도 개발자의 자질 중에 하나다.
데이터베이스
- Q. 방정리는 왜 하는걸까?
- 잘 보관하려고
- 잘 찾으려고
- 정답은 2번일꺼다.
- 데이터베이스는 데이터를 잘 찾게해주는 프로그램이다.
SQL vs NoSQL
- SQL
- 정형화 되어 있음.
- 쉽게 생각해서 표를 먼저 그리고 데이터를 넣는다.
- NoSQL
- JSON형식으로 document를 막 쌓을 수 있다.
요약
- 아키텍처는 매우 복잡하다. 다 알 수가 없다
- 요새는 클라우드에서 컴퓨터를 빌려다가 그 아키텍처를 구성한다.
- DB는 두 종류가 있다. SQL과 NoSQL. 그리고 인덱스를 태워야 빨리빨리 찾는다.
인덱스는 뭐다? 정렬된 순서다.
Leave a comment