대용량 처리를 위한 MySQL 이해
대용량 서버를 구축하기 위해서는 어떤 것들을 알아야할까 Spring, MySQL, MongoDB, Redis, Kafka, MSA, ... 서버 개발자의 핵심은 데이터다. 대용량 시스템이 어려운 이유는 결국 많은 양의 데이터에서 시작된다. 어떻게 많은 양의 데이터를 안정적으로 삽입, 갱신, 조회할 것이냐? 정규화, 인덱스, 트랜잭션, 동시성 제어 웹의 기본 아키텍처 클라이언트 서버 데이터베이스 웹의 요구 사항이 점점 복잡해짐 클라이언트 웹 서버 웹 애플리케이션 서버 데이터베이스 웹 서버, 웹 애플리케이션 서버는 왜 나누어져 있을까? 태초에는 웹 서버만 있는 형태에서 웹의 복잡도가 증가함에 따라... 관심사의 분리 / 관측 가능한 시스템 / 효율적인 리소스 사용 대용량 시스템의 모습 왜 데이터베이스가 병목..
2023. 5. 25.
[인프런] 5월 수강 일기 (기출로 대비하는 개발자 전공 면접[CS완전정복])
지난 4월부터 디프만에서 기출로 대비하는 개발자 전공면접[CS 완전정복] - 개발남노씨 스터디를 참여하면서 5월에 수강 하였던 일기를 작성해보려고 합니다. 커리큘럼 1.자료구조 2.운영체제 3.데이터베이스 4.네트워크 5.모의면접 커리큘럼은 총 5가지의 섹션으로 나누어져 있으며, 4월에 자료구조 파트를 끝내고 5월부터 운영체제, 데이터베이스, 네트워크, 모의면접을 진행했습니다. 운영체제 해당 강의에서 운영체제 파트는 꼭 필요한 Process, Thread, DeadLock, Memory 관리 기법, 가상 메모리 등등 꼭 알아야 할 필수 내용들을 잘 정리해주셔서 이해하기 쉬웠습니다. 데이터베이스 데이터베이스의 경우는 Key에 관한 기본적인 개념들, 관계형 데이터베이스에서의 관계, outer join과 in..
2023. 5. 23.