AWS DEA(Data Engineering Associate) 자격증 준비하면서 봤던 강의 내용을 포스팅하려고 합니다. AWS Skill Builder에서 제공해주는 DEA-C01 Standard Exam Prep Course 강의 내용을 기반으로 작성했으며 자격증 준비단계에서 개념잡기에 좋을만한 내용들을 포함했습니다. 1. 데이터 엔지니어링 수명 주기 본격적인 데이터 통합 및 변환에 대한 포스팅 이전에 기본으로 돌아가서 먼저 데이터 엔지니어링 수명 주기에 대해 이야기해 보겠습니다. 수명 주기에는 데이터 생성, 저장, 수집, 변형 및 제공 단계가 있습니다. 수집 전의 처음 두 단계를 살펴보겠습니다. 1.1 생성데이터가 발생하는 위치, 즉 소스 시스템 입니다. 예시로는 다음과 같습니다.사물 인터넷(IoT..
Sorted Set 1. 특징 unique string 데이터(member)를 score 정보로 정렬된 형태의 집합으로 저장할 때 씁니다. 같은 score 정보를 가진 member가 여러개 있다면, 문자열순(lexicograpically)으로 정렬합니다. Ranking: 높은 score 순으로 실시간 정렬을 가진 자료가 필요할 때 쓸 수 있습니다. Sliding-Window를 가진 Rate Limiter를 구현할 수 있습니다. 2. Commands ZADD 새로운 member를 score 값과 함께 추가한다. 이미 존재하는 member라면 score를 업데이트 한다. ZRANGE 주어진 Range에 해당하는 member들을 리턴한다. ZRANK 주어진 member의 rank를 리턴한다. Ranking은 ..
이전 글 Redis의 String형식에 이어서 이번에는 List와 Set형식에 대해 알아보고 실습해보겠습니다. Redis의 LIST 실습 1. Lists 특징 지정한 Key에 리스트를 저장할 수 있습니다. 왼쪽(Left)이 Head, 오른쪽(Right)이 Tail입니다. 리스트에 들어갈 수 있는 최대 갯수는 2^32 - 1 (4,294,967,295)개 입니다. Stack, Queue 등을 구현하는데 사용합니다. 2. Comands LPUSH 새 원소를 Head에 추가한다. RPUSH 새 원소를 Tail에 추가한다. LPOP Head의 원소를 지우고 리턴한다. RPOP Tail의 원소를 지우고 리턴한다. LRANGE 특정 길이, 개수 만큼 원소를 리턴한다. (ex. 리스트의 처음부터 마지막 까지의 원소를..
해당 글에서는 Redis의 자료 형식이 어떤것이 있는지 살펴보고 명령어를 cli환경을 통해서 실습 해보겠습니다. Redis의 Key Redis의 모든 자료구조는 Key-Value형식이며, 저장과 조회는 key를 기준으로 합니다. Key는 binary sequence로 binary-safe합니다. 즉, string이나 어떤 파일을 binary로 변환한 값이나 상관없이 key로 설정할 수 있습니다. (앞에서부터 byte단위로 비교 합니다.) key 설계와 관련해서 다음과 같은 것을 고려해야합니다. 너무 긴(큰) key값 피하기 (Avoid Long Key) key의 길이(크기)가 크다면, 메모리를 더 많이 차지할 뿐만 아니라, key 비교 연산 등에서도 비용이 많이 듭니다. key의 크기는 1K(1024by..
해당 글에서는 Redis에 대해 본격적으로 사용해보기 전에 Cache/CacheDB란 무엇이고 다양한 CacheDB중에 왜 Redis를 사용하는지를 알아보겠습니다. Cache란? Cache 란, 미래의 사용 될 데이터를 빠르게 조회할 수 있는 곳(물리적 장소 또는 소프트웨어로 구현된 위치)에 두고서 사용하는 것을 말합니다. 보통 원본 데이터는 다른 곳에 있고 그것으로부터 copy된 데이터가 Cache에 존재합니다. 주요 개념 Cache hit: 조회하는 데이터를 Cache에서 찾을 때 Cache miss:조회하는 데이터를 Cahe에서 찾지 못했을 때 Hit ratio(rate): access시도 횟수 대비 cache hit의 비율. 이 값이(상대적으로) 높으면 캐시가 Cost-Effective하다. 캐시..
1.1 RDBMS의 정의 (Relational Database Management System)Relational Model(관계형 모델)을 기반으로한 데이터베이스를 의미하며, RDB를 이용할 수 있는 총제적인 시스템을 말한다. RDB 기능 뿐만 아니라 Transaction, Stored Procedure같은 기능들을 제공한다. Relational Model은 다음과 같은 특징을 가진다.데이터를 row와 column으로 구성된 테이블 형태로 표현한다.각 row는 구분할 수 있는 unique key를 가지며 PK(Primary key)라고 한다.row의 unique key를 이용해서 다른 테이블의 row로 연결될 수 있다.다른 테이블은 해당 row를 연결(link)할 수 있는 키를 column으로 가질 수..