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