본문 바로가기

전체 글

[AWS 스터디모임] ElasticCache Amazon ElasticCache 1. 개요 Amazon Web Services에서 제공하는 완전 관리형 인메모리 데이터 캐시 서비스. ElastiCache는 관리형 Redis 또는 Memcached를 제공한다. 캐시란? 높은 성능과 짧은 대기 시간을 가진 인 메모리 데이터베이스. 높은 읽기 성능으로 읽기 집약적인 워크로드에 대한 데이터베이스의 부하를 줄인다. 인 메모리 데이터베이스? 기존에 사용하는 Mysql, Oracle 같은 데이터베이스들은 그 데이터가 Disk에 저장되는 형태이다. 인메모리 DB는 그 데이터를 메모리에 저장하여 기존 DB들보다 빠른 속도를 자랑한다. 다만 메모리에 저장되는 만큼 휘발성이 강하여 주 저장소로는 사용하기 힘든 오류가 있다. 2. 사용 예시 (아키텍쳐) 일반적인 아키텍.. 더보기
[AWS 스터디모임] EC2 Instance Storage 0.요약 EC2 인스턴스의 스토리지 옵션들을 정리한다. EBS EBS Volume Type EBS SnapShot EBS Multi Attach EC2 Instance Store AMI Amazon EFS EFS vs EBS 1. EBS 개요 : Elastic Block Store, EC2 스토리지의 가장 중요한 옵션 인스턴스가 실행 중인 동안에 연결 가능한 네트워크 드라이브. 인스턴스 종료 후에도 데이터를 유지할 수 있다. 이를 통해 EBS를 통하여 데이터를 다시 받을 수 있다. 하나에 한 인스턴스만 마운트 할 수 있다. (단 어소시에이트 레벨에서는 예외이다.) CCP Level : 하나의 EBS는 하나의 EC2 인스턴스 Associate Level : 일부 EBS 다중 연결 특정 AZ에서만 생성가능 .. 더보기
[AWS 스터디모임] RDS 실습해보기 - 스터디를 진행하면서 처음 AWS를 사용해본다. 학습한 내용을 바탕으로 간단하게 RDS 인스턴스를 하나 만들어보자. RDS 인스턴스를 만들기위해서는 아래와 같은 작업이 필요하다. 생성 방식, 엔진 옵션 선택 (버전 등) 템플릿(사용 사례) 선택 인스턴스 설정(이름, 암호 등) 인스턴스 클래스 설정(DB 용량 성능) VPC 연결, 보안설정 인증방식 선택 1. AWS에 접속한 뒤 RDS를 검색해서 데이터베이스 생성 버튼을 누른다. 생성 테스트를 위한 것이기 때문에 프리티어 표준으로 간단하게 만들어보겠다. 2. 생성 방식과 엔진 옵션을 선택해야한다. 3. 이후 엔진의 버전과 템플릿을 선택해야한다. 템플릿은 생성 테스트이기 때문에 프리티어를 활용한다. 4. 다음으로는 DB 인스턴스에 대한 설정을 진행한다. D.. 더보기
[AWS 스터디모임] RDS RDS 0. 한 줄 요약 : RDS는 무엇이며, 왜 쓰나요? 0.1. 왜/언제 쓰나요 : Relational Database Service의 약자로 SQL을 쿼리 언어로 사용하는 DB를 위한 관리형 DB 서비스입니다. 데이터 베이스 인프라 및 업데이트들을 AWS 측에서 관리해주고(매니지드 서비스) 데이터베이스의 설치, 운영 그리고 관리 등의 서비스들을 지원하는 AWS의 관계형 데이터베이스 관계형 데이터베이스는 그 구조가 정형화되어 정밀한 조작이 가능한 데이터베이스이다. 많은 양의 데이터를 효율적으로 관리하기 위해 사용합니다. 무한하게 저장소를 늘릴 수 있다는 점이 장점입니다. AWS과 관리하는 데이버베이스를 클라우드에서 사용할 수 있습니다. EC2에 내가 사용하는 데이터베이스를 올리면되는데 RDS를 굳이.. 더보기
인프라 아키텍쳐란? 인프라란? 인프라란 우리말로 표현하면 '기반'이다. 우리의 생활을 지탱하는 하나의 바탕이자 토대란 의미이다. 전문가의 의해 관리되고 있으며 사용자는 그 구조를 이해하지 않고도 사용할 수 있다. 인프라 아키텍쳐 아키텍쳐는 구조라는 의미를 가지는데 인프라 아키텍쳐는 결국 IT 인프라의 구조를 의미한다. 여러 시스템들은 이용 방법이 다 다르지만 IT 인프라 위에 동작하고 있고 비슷한 구조위에서 움직이고 있다. 집약형 아키텍쳐 VS 분할형 아키텍쳐 IT 인프라는 컴퓨터로 구성 가장 기본적인 구성 방식으로 집약형과 분할형 두 방식이 있다. 집약형 주요 업무를 처리할 때 중앙의 한 대로 처리하는 형태 장점 한 대만 있으면 되기 때문에 그 구성이 간단하다. 리소스 관리 등으로 안정성이 높고 고성능이다. 단점 큰 중앙.. 더보기
(Versioning)단일 캐시들을 저장하는 Redis 캐시 서버 개선 시도들 (2) 이전 페이지 : 단일 캐시들을 저장하는 Redis 캐시 서버 개선 시도들 (1) (리스트)단일 캐시들을 저장하는 Redis 캐시 서버 개선 시도들 (1) 문제 상황 캐시 서버를 구현하는 프로젝트를 진행하는 중의 문제가 발생 캐시의 Key 값으로 요청의 Path + QueryString 형태를 사용 캐시의 Metadata 값(Expired Time)은 Path를 기준으로 관리 Path에 대한 Expire yatanox.tistory.com 문제 상황 만료 시간 수정 시 기존 활성화 캐시 처리에 대한 문제가 있었다. 조회 속도를 너무 해치지 않는 선에서 성능을 개선해야한다. 리스트를 사용하여 목록화 시도 캐시들이 한 리스트 캐시에 만료 시간이 묶여서 각기 만료 시간이 관리되지 않기에 실제 캐시들을 따로 운용.. 더보기
(리스트)단일 캐시들을 저장하는 Redis 캐시 서버 개선 시도들 (1) 문제 상황 캐시 서버를 구현하는 프로젝트를 진행하는 중의 문제가 발생 캐시의 Key 값으로 요청의 Path + QueryString 형태를 사용 캐시의 Metadata 값(Expired Time)은 Path를 기준으로 관리 Path에 대한 Expired Time이 변경될 때 기존의 활성화 되어있는 Key들을 찾아서 삭제 혹은 갱신을 해야하거나 Path별 활성화된 캐시들 목록을 조회 해야하는 등의 상황 Redis에서 특정 목록들을 검색할 때 Scans를 이용해서 검색하는데 특정 패턴의 Key들을 조회하는 방식이다보니 기본적으로 전체 조회를 하게된다. 만료시간 수정 한 번을 위해 무수한 캐시들을 전체 조회하는 것은 성능적으로 매우 낭비인 상황 해결 시도 1번 리스트 등의 자료구조를 활용하기 캐시 생성 / 만.. 더보기
[Spring]Redis 연결 (RedisTemplate) 프로젝트 진행 중 캐시 서버 구현을 위해 Redis를 사용해야하는 상황이 발생했다. Redis란? RDBMS와는 다른 Key-Value형태로 이루어진 비관계적, 비정형적 데이터 관리 시스템. 레디스 내부에서 명령어를 처리하는 부분은 싱글 스레드 아키텍처로 구현 Redis를 사용하면 사용자가 다양한 데이터 유형에 매핑되는 키를 저장할 수 있다. 기본적인 데이터 유형은 String으로서, 텍스트 또는 이진 데이터가 이에 해당하며 최대 크기는 512MB. 아래와 같은 것들을 지원한다. Redis는 문자열이 추가된 순서대로 유지되는 Lists of Strings, Sets of unordered Strings 점수에 따라 정렬되는 Sorted Sets, 필드와 값 목록을 저장하는 Hashes 데이터 세트에서 고.. 더보기