분류 전체보기

    [그림으로 공부하는 IT인프라 구조] 3장 정리

    1. 프로세스와 스레드 프로세스 및 스레드는 프로그램 실행 파일 자체가 아니라 OS상에서 실행돼서 어느 정도 독립성을 가지고 동작하는 것. 프로세스 및 스레드가 활동하려면 메모리 공간이 필요한데, 이것은 커널에 의해 메모리상에 확보된다. 프로세스 vs 스레드 프로세스는 전용 메모리 공간을 이용해서 동작하는 반면, 스레드는 다른 스레드와 메모리 공간을 공유하고 있는 운명 공동체이다. 프로세스는 개별 처리 독립성이 높은 반면, 독자 메모리 공간을 가지기 때문에 생성 시 CPU 부하가 스레드와 비교해서 높아진다. 2. OS 커널 OS에서 커널은 심장이자 뇌이며 척수이다. 커널은 다양한 역할을 갖지만, 가장 중요한 것은 뒤에서 무슨 일이 벌어지는지 은폐하면서도 편리한 인터페이스를 제공하는 것이다. (이러한 이유..

    [그림으로 공부하는 IT인프라 구조] 1장, 2장 정리

    1장. 인프라 아키텍처를 살펴보자 1-1. 설계와 트레이드오프 아키텍처나 설계 요소에는 반드시 장점과 단점이 공존한다. 장점만 있다면 가장 좋은 것을 취하면 되지만, 단점은 가장 영향력이 적은 것으로 선택하는 것이 어렵기 때문에 반드시 취사선택해야 할 상황이 발생한다. 1-2. IT 인프라의 구성 방식 집약형 아키텍처 분할형 아키텍처 A. 집약형 아키텍처 대형 컴퓨터 (범용 장비, 호스트, 메인 프레임으로 불림)를 이용해서 모든 업무를 처리하는 형태. 시스템 아키텍처라는 관점에서는 하나의 컴퓨터로 모든 처리를 하기 때문에 집약형이라고 할 수 있다. 구성이 간단하나, 확장성에 한계가 존재. B. 분할형 아키텍처 여러 대의 컴퓨터를 조합해서 하나의 시스템을 구축하는 구조. 개별 컴퓨터의 안정성이 낮아도 괜찮..

    [Real MySQL] 6장(2) 실행 계획 - MySQL의 주요 처리 방식

    들어가기 앞서서 MySQL 엔진에서 부가적으로 처리하는 작업은 대부분 성능에 미치는 영향력이 큰데, 안타깝게도 모두 쿼리의 성능을 저하시키는 데 한몫하는 작업이다. 풀 테이블 스캔 실행 조건 MySQL 옵티마이저는 다음과 같은 조건일 때 주로 풀 테이블 스캔을 선택한다. 테이블의 레코드 건수가 너무 작은 경우 (일반적으로 테이블이 페이지 1개로 구성된 경우) WHERE 절이나 ON 절에 인덱스를 이용할 수 있는 적절한 조건이 없는 경우 인덱스 레인지 스캔을 사용할 수 있는 쿼리라도, 옵티마이저가 판단한 조건 일치 레코드 건수가 너무 많은 경우. 리드 어헤드 InnoDB 스토리지 엔진은 특정 테이블의 연속된 데이터 페이지가 읽히면 백그라운드 스레드에 의해 리드 어헤드 작업이 자동으로 시작된다. 리드 어헤드..

    [Real MySQL] 3장(2). 아키텍처 - InnoDB 스토리지 엔진 아키텍처

    2. InnoDB 스토리지 엔진 아키텍처 InnoDB는 MySQL에서 사용할 수 있는 스토리지 엔진 중에서 거의 유일하게 레코드 기반의 잠금을 제공하고 있어서 높은 동시성 처리가 가능하고 안정적이며 성능이 뛰어나다. InnoDB 스토리지 엔진의 특성 프라이머리 키에 의한 클러스터링 프라이머리 키 값의 순서대로 디스크에 저장된다는 뜻 프라이머리 키에 의한 레인지 스캔은 상당히 빨리 처리될 수 있음 잠금이 필요 없는 일관된 읽기 MVCC 기술을 이용해 락을 걸지 않고 읽기 작업을 수행. 외래 키 지원 외래 키에 지원은 InnoDB 스토리지 엔진 레벨에서 지원하는 기능으로, MyISAM이나 Memory 테이블에서는 사용할 수 없음. 여러 가지 제약사항 탓에 실무에서는 잘 사용하지 않기 때문에 그렇게 필수적이지..

    [클라우드 인프라와 API의 구조] 11. 멀티 클라우드

    A. 멀티클라우드 개념 멀티 클라우드란? 여러 개의 클라우드를 조합해서 사용하는 방식 멀티 클라우드를 도입하는 이유? 특정 클라우드에 종속되지 않도록 여러 클라우드 시스템을 상호 운영하기 위해 단일 클라우드의 취약점 보안 ex) 2018년에 발생한 AWS 서울 리전 장애는 단일 클라우드에만 의존하는 것이 위험하다는 인식을 확산시키고 멀티 클라우드에 힘을 실어준 대표적인 사건. 여러 클라우드 중 우수한 컴포넌트들을 조합해서 최적의 클라우드 환경을 만들기 위해 ex) 어떤 클라우드는 DB가 우수하고 어떤 클라우드는 챗봇에 강하다는 등. B. 멀티 클라우드를 구성하기 위해 고려해야할 사항들 클라우드 간의 네트워크 접속 방식 각 클라우드 환경이 서로 다른 데이터 센터에 위치하기 때문에 둘 사이에 네트워크가 연결..