1. 웹의 기본 아키텍처 1-1. 3 tier 아키텍처 기본이었던 3tier 아키텍처 이다. 먼저 클리이언트가 서버로 요청을 보낸다. 서버는 비즈니스 로직을 수행하고 데이터베이스로에게 요청을 보내 응답을 받는다. 서버가 받은 데이터를 클라이언트에게 보낸다. 그런데 웹의 복잡도가 증가함에 따라 웹의 아키텍처가 발전하게 됐다 1-2. n tier 아키텍...
01. MySQL을 학습하는 이유 DB랭킹 2위 MySQL 뿐 아니라 현재 1 ~ 4위가 모두 관계형 DB 관계형DB는 아직까지도 가장 범용적으로 사용됨 백엔드 개발자는 높은 확률로 관계형 DB를 실무에서 다루게 될 것 물론 다른 데이터베이스를 몰라도 되는것은 아니다. 서로 단점을 보완하고 상호보완적이기 때문이다. 따라서 하나의 DB를 깊게 학습하고 다른...
간단한 토이프로젝트로 SNS모델링을 진행하며 학습한 내용입니다. 1. 데이터 정규화 1-2. 데이터 정규화 **관계형 데이터베이스에서 중복을 최소화하기 위해 데이터를 구조화 하는것 ** 보통 3차 정규형까지 사용하며 차수가 높아질수록 만족시켜야할 제약이 늘어남 장점 중복을 제거하고 한 곳에서 관리 저장공간 최소화 데이터 정합성 유지하기가 유리함 데이...
01. 데이터베이스 성능 핵심 1-1. 컴퓨터 구조 다음 장표는 가장 기본이 되는 컴퓨터 구조의 장표이다 CPU가 데이터를 가져오거나, 저장하기 위해서는 I/O 입출력 버스를 통하게 된다. 1-1-1. 데이터를 저장하기 위한 용도로 사용하는 장치 ![](https://velog.velcdn.com/images/sunsik08/post/b298b...
01. 조회 최적화를 위한 Index 이해 > * Note : * 인덱스는 정렬된 자료구조 인덱스의 핵심은 탐색범위를 최소화 하는 것 인덱스도 데이터의 주소값을 가진 테이블 인덱스가 없는 데이터베이스의 탐색 나이가 제일 어린 사람의 데이터를 찾고 싶다면 1 ~ 4 까지 모든 데이터를 다 찾아봐야한다. 인덱스가 있는 데이터베이스의 탐색 인덱스(나이순으...
01. 캘린더 작성 > TABLE 캘린더 작성 코드는 contents만 받아서 작성할 수 있도록 간단히 구현했다. 인가처리를 구현하지 않음 후에 날짜별로 내가 쓴 캘린더 갯수를 조회 하기 위해 작성함 1-1. 300만건 Insert SpringbootTest를 이용한 bulk Insert 진행 > PostServiceCode VALUES에 Arra...
페이지네이션 스마트폰 시대 -> 화면 작아짐 -> 데이터 사이즈는 커지는 중 수 백, 수 천, 수 만개가 넘는 게시물들을 하나의 화면에 노출할 수 없다 => 많은 양의 데이터를 어떻게 노출 시킬 것 인가 페이지네이션 하나의 페이지에서 데이터를 받는다. 1번 페이지, 2번 페이지 ... n번 페이지 offset 기반 스크롤 인스타그램, 페이스...