반응형

전체보기 160

인덱스(4) : 생성, 삭제, 사용, 테스트하기 + 실행계획 보는법

목차  이전 게시물https://lotuus.tistory.com/168 인덱스(3) : 인덱스 종류목차 이전 게시물https://lotuus.tistory.com/167 인덱스(2) : 인덱스가 데이터를 검색하는 방법목차 이전 게시물 https://lotuus.tistory.com/166 인덱스(1) : 사용하는 이유, 정의, 데이터목차  인덱스 왜 사lotuus.tistory.com    MySQL 기준으로 알아보겠습니다.일반적으로 인덱스는 생성과 삭제만 가능합니다. (수정 불가) 생성하기-- B+Tree 인덱스 (기본 인덱스)CREATE INDEX idx_btree ON table_name (column_name);-- 해시 인덱스 (Memory 엔진에서만 사용)CREATE INDEX idx_has..

Backend 2024.07.17

인덱스(3) : 인덱스 종류

목차 이전 게시물https://lotuus.tistory.com/167 인덱스(2) : 인덱스가 데이터를 검색하는 방법목차 이전 게시물 https://lotuus.tistory.com/166 인덱스(1) : 사용하는 이유, 정의, 데이터목차  인덱스 왜 사용해야하나요?문제상황데이터 10억개가 저장되어 있습니다.아래 SQL문을 실행하면 데이터lotuus.tistory.com    다양한 관점으로 인덱스를 분류할 수 있습니다.   물리적으로 정렬하나요?Clustered Index테이블의 레코드를 지정된 컬럼으로 물리적으로 재배열하는 인덱스입니다.테이블당 하나의 클러스터드 인덱스만 가질 수 있습니다.일반적으로 primary key가 설정된 컬럼은 자동으로 Clustered Index로 설정됩니다.⇒ Prima..

Backend 2024.07.17

인덱스(2) : 인덱스가 데이터를 검색하는 방법

목차 이전 게시물 https://lotuus.tistory.com/166 인덱스(1) : 사용하는 이유, 정의, 데이터목차  인덱스 왜 사용해야하나요?문제상황데이터 10억개가 저장되어 있습니다.아래 SQL문을 실행하면 데이터베이스는 어떻게 데이터를 검색할까요?SELECT * FROM Employees WHERE Name = 'Alice';데이터베lotuus.tistory.com   앞에서 인덱스가 없는 경우, Full Table Scan 방식을 이용하여 검색하는 것을 알아봤습니다.그렇다면 인덱스가 있는 경우엔, 어떤 방식을 사용하길래 데이터를 빠르고 효과적으로 검색할 수 있는 것일까요?인덱스를 구현하는 방식은 대표적으로 3가지가 있으며,인덱스를 생성할 때 구현 방식을 설정할 수 있습니다.HashTable..

Backend 2024.07.17

인덱스(1) : 인덱스를 사용하는 이유, 인덱스의 정의, 인덱스에 저장되는 데이터

목차  인덱스 왜 사용해야하나요?문제상황데이터 10억개가 저장되어 있습니다.아래 SQL문을 실행하면 데이터베이스는 어떻게 데이터를 검색할까요?SELECT * FROM Employees WHERE Name = 'Alice';데이터베이스는 Full Table Scan 방식을 이용하여 데이터를 검색합니다. Full Table Scan테이블의 첫번째 행부터 마지막 행까지 모든 행을 순차적으로 검사하는 방법입니다.단점 : 시간이 오래 걸립니다. 해결방법인덱스를 적용합니다.   인덱스란 무엇인가요?책 뒷면의 색인과 매우 유사합니다.💡 인덱스는 데이터를 빠르게 찾기 위해 사용하는 자료구조입니다.  아래와 같은 순서대로 인덱스에 대해 살펴보겠습니다.인덱스가 어떤 데이터를 가지고 있는지인덱스는 어떤 방식으로 데이터를 ..

Backend 2024.07.17

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(6) - 리사이징 로직 작성 및 테스트

목차 이 게시글은 시리즈물입니다! 아래 목차를 먼저 확인해주세요 1. Lambda@Edge란? 2. S3, CloudFront 셋팅 3. CloudFront 쿼리스트링 캐시 셋팅 4. IAM 역할 생성 5. Lambda@Edge 배포 셋팅 및 로그 확인 6. 리사이징 로직 작성 및 테스트 람다 로컬에서 실행하기 serverless framework를 이용하면 람다를 로컬에서 실행할 수 있는데, 함수에 전달되는 event 객체가 비어있는 상태에서 실행되어 에러가 발생합니다. 서버리스의 --path 옵션을 이용하여 로컬의 json파일을 읽어 event 객체에 데이터를 넣어줍시다. 1. 이전 게시글에서 확인한 로그데이터에서 event객체를 그대로 복사하여 OriginResponseEvent.json 파일로 만..

Infra 2023.05.29

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(5) - Lambda@Edge 배포 셋팅 및 로그 확인

목차 이 게시글은 시리즈물입니다! 아래 목차를 먼저 확인해주세요 1. Lambda@Edge란? 2. S3, CloudFront 셋팅 3. CloudFront 쿼리스트링 캐시 셋팅 4. IAM 역할 생성 5. Lambda@Edge 배포 셋팅 및 로그 확인 6. 리사이징 로직 작성 및 테스트 프로젝트 셋팅 serverless framework를 사용하여 람다를 배포할 예정입니다. 이미 존재하는 S3와 CloudFront에 Lambda@Edge를 연결하므로 serverless-lambda-edge-pre-existing-cloudfront 플러그인을 사용합니다. Serverless Framework: Plugins The Serverless Framework Plugin Registry. Search thou..

Infra 2023.05.28

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(4) - IAM 역할 생성

목차 이 게시글은 시리즈물입니다! 아래 목차를 먼저 확인해주세요 1. Lambda@Edge란? 2. S3, CloudFront 셋팅 3. CloudFront 쿼리스트링 캐시 셋팅 4. IAM 역할 생성 5. Lambda@Edge 배포 셋팅 및 로그 확인 6. 리사이징 로직 작성 및 테스트 역할 생성 1단계 : 신뢰할 수 있는 엔터티 선택 신뢰할 수 있는 엔터티 유형 : AWS형 서비스 사용 사례 : Lambda 2단계 : 권한 추가 AWSLambdaExecute를 검색하고 선택한다 AWSLambdaExecute는 클라우드워치와 S3를 읽어올 수 있는 권한입니다. 3단계 : 이름 지정, 검토 및 생성 Lambda@Edge가 수행될 수 있도록 신뢰관계 정책 편집 https://docs.aws.amazon.c..

Infra 2023.05.28

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(3) - CloudFront 쿼리스트링 캐시 셋팅

목차 이 게시글은 시리즈물입니다! 아래 목차를 먼저 확인해주세요 1. Lambda@Edge란? 2. S3, CloudFront 셋팅 3. CloudFront 쿼리스트링 캐시 셋팅 4. IAM 역할 생성 5. Lambda@Edge 배포 셋팅 및 로그 확인 6. 리사이징 로직 작성 및 테스트 CloudFront 캐시 정책 생성 이름 : cache-policy-lambda-edge-image-resize 캐시 키 설정 > 쿼리문자열 : 모두 나머지는 기본값으로 두고 생성 CloudFront 원본 요청 정책 생성 이름 : origin-request-policy-lambda-edge-image-resize 원본 요청 설정 > 쿼리 문자열 : 모두 나머지는 기본값으로 두고 생성 CloudFront 동작 편집 1. ..

Infra 2023.05.28

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(2) - S3, CloudFront 셋팅

목차 이 게시글은 시리즈물입니다! 아래 목차를 먼저 확인해주세요 1. Lambda@Edge란? 2. S3, CloudFront 셋팅 3. CloudFront 쿼리스트링 캐시 셋팅 4. IAM 역할 생성 5. Lambda@Edge 배포 셋팅 및 로그 확인 6. 리사이징 로직 작성 및 테스트 S3 버킷생성 이름 : s3-lambda-edge-image-resize 모두 기본값으로 설정하고 버킷을 생성합니다 CloudFront 생성 보안 > 원본액세스 > 제어 설정 생성 이름 : s3-lambda-edge-image-resize 나머지 기본값으로 두고 생성 배포 생성 원본 원본 도메인 선택 : 위에서 만든 S3선택 (s3-lambda-edge-image-resize.s3.ap-northeast-2.amazon..

Infra 2023.05.28

S3, CloudFront, Lambda@Edge를 이용한 이미지 리사이즈(1) - Lambda@Edge란?

목차 회사 서비스에 도입하기 위해 서치하고 정리했던 내용 올려봅니다 기나긴 삽질의 기록들... Lambda@Edge는 뭔가요? Lambda@Edge는 AWS CloudFront의 기능 중 하나로, CloudFront의 다양한 이벤트에서 실행될 수 있는 람다입니다. AWS CloudFront는 Edge Location(데이터 센터의 전 세계 네트워크)를 통해 콘텐츠를 제공하는데, Lambda는 Region별로 생성할 수 있게 되어있습니다. 그렇다면 전 세계 Region에 똑같은 Lambda를 만들어주어야할까요? 이럴 때 사용하는 것이 Lambda@Edge입니다. 버지니아 리전(us-east-1)에 Lambda@Edge를 만들어두면 AWS가 알아서 해당 람다를 Edge Location으로 복제해줍니다. 따라..

Infra 2023.05.28
반응형