※ 혼자 공부를 하기 위해 정리한 글이며 참고 자료에 있는 글들을 인용했습니다. 쿠팡의 경우 2022년 쿠팡의 경우 2018년 대비 매출이 4배, 그에 따라 활성 사용자의 규모 역시 급성장했다. 1800만 명이 넘는 사용자들에게 새로운 서비스를 안정적으로 제공하기 위해 복잡한 데이터 네트워크 및 데이터 시스템을 개발하고 유지관리해야 했으며, 네트워크와 시스템의 복잡도 그리고 처리해야 할 데이터의 양은 빠른 속도로 증가했다고 한다. 해결책 = 자사의 이커머스 애플리케이션과 데이터베이스 사이에 코어 서빙 레이어 도입 → 데이터베이스의 가용성을 높이면서 고객에게 데이터를 지연시간 없이 전달할 수 있게 됨. 마이크로서비스 쿠팡의 제품 상세 페이지를 확인해보면, 하나의 제품에는 여러 종류의 관련 데이터가 존재한다..
대규모 트래픽을 처리하기 위한 방법으로 고려해 볼 수 있는 물리적인 방법으로는 Scale Up과 Scale Out이 있다. Scale Up은 고성능 CPU, 메모리 확장, SSD 등 서버의 스펙을 높이는 수직 확장 방식이고 Scale Out은 비슷한 스펙의 서버를 여러대로 증설하여 로드밸런싱을 통한 병렬처리가 가능한 수평 스케일업 아키텍처다. 하지만 나는 실무에서 이런 물리적인 방법만으로는 한계가 명확할 것이라고 생각했다. 그래서 실무에서는 어떻게 대규모 트래픽을 처리하였는 지 찾아보기로 했고 네이버와 쿠팡의 경우를 확인할 수 있었다. ※ 혼자 공부를 하기 위해 정리한 글이며 참고 자료에 있는 글들을 인용했습니다. 네이버의 경우 네이버의 메인 페이지의 트래픽은 평소에도 많은 편이지만 사회적으로 주목 받는..
전반적인 개념을 알 수 있는 영상이다. https://www.youtube.com/watch?v=iNvYsGKelYs index? index란, 추가적인 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상하기 위한 자료구조이다. 특정 컬럼에 index를 생성하게 되면 해당 칼럼의 데이터들을 오름차순으로 정렬하여 저장한다. index를 쓰는 이유 위에서 언급했듯이 index는 추가적인 저장공간을 필요로 하고, DB가 하나 더 생기는 것과 마찬가지이므로 관리를 해줘야 하며 굳이 필요하지 않은 상황에 쓰게 된다면 오히려 성능이 저하될 수도 있는 단점들을 갖고 있다. (원본 테이블에서 데이터의 삽입, 수정, 삭제가 이루어진다면 인덱스도 수정되어야 하므로 수정이 자주 이루어지는 테이블보다는 검색이 자주 ..
프로세스와 스레드를 알아보기 전에 먼저 CPU가 어떻게 작동하는지 확인해 보면 좋다. https://youtu.be/WGKHEIpXy5c https://www.youtube.com/watch?v=Fg00LN30Ezg 프로세스 프로그램이란 '어떤 일을 수행하기 위해 만들어진 명령 모음'이다. 즉, 명령의 모음이 파일로 빌드되어 보조 기억 장치에 저장되어 있는 정적인 상태라고 할 수 있다. ☞ 여러 가지 음식 재료가 냉장고 안에 보관되어 있는 상태 사용자가 프로그램 실행 명령을 내리면 CPU는 보조 기억 장치에서 해당 프로그램을 꺼내 메인 메모리에 올려놓고 코드를 해석하며 작업을 시작하는데, 이처럼 프로그램이 메인 메모리로 올라와 실행되고 있는 상태를 프로세스라고 한다. ☞ 냉장고에서 음식 재료를 꺼내 어떤..