Data Engineering 9

[databricks]Change Data Capture(CDC), Change Data Feed(CDF)

Change Data Capture (CDC) CDC (Change Data Capture)는 데이터 소스에서 발생하는 삽입, 수정, 삭제 같은 변경 사항을 감지하고대상 시스템에 이를 반영하는 방식이다. CDC 이벤트 종류삽입 (Insert): 새로운 레코드 추가수정 (Update): 기존 레코드 변경삭제 (Delete): 기존 레코드 제거CDC Feed? CDC 피드는 레코드의 전체 데이터 + 메타데이터를 포함한 변경 이벤트다.여기에는 다음 정보가 포함됨:변경된 데이터 레코드변경 유형 (insert, update, delete)버전 번호 또는 타임스탬프 → 변경 순서를 나타냄Delta Lake에서의 CDC 처리 방법CDC 처리는 MERGE INTO 문을 통해 삽입, 수정, 삭제를 한 번에 처리할 수 있..

[databricks] Slowly Changing Dimensions(SCD)

Slowly Changing Dimensions (SCD) Slowly Changing Dimension의 약자이다.시간 흐름에 따라 차원 테이블이 변경되는 것을 관리하는 전략데이터 웨어하우스 및 레이크하우스 설계에서 필수이다.SCD 유형별 정리유형설명데이터 예시과거 이력Type 0변경 불가 (정적 테이블 전용)국가 코드, 통화 등유지 안함Type 1덮어쓰기 (기존 값 덮어씀)이메일 변경 등유지 안함Type 2이력 보존 (새 레코드 추가)주소 변경, 가격 추적 등유지함 SCD Type 1 예시변경 전:Product IDProduct NamePrice1Product A102Product B203Product C30변경 후:Product IDProduct NamePrice1Product A502Product..

[databricks] Delta Table 제약 조건 추가 및 위반처리

Delta 테이블에 제약 조건 추가ALTER TABLE orders_silver ADD CONSTRAINT timestamp_within_range CHECK (order_timestamp >= '2020-01-01');제약 조건 이름: timestamp_within_range조건: 2020년 이후의 타임스탬프만 허용 제약 조건 확인DESCRIBE EXTENDED orders_silver; 테이블 속성에 아래와 같은 내용이 포함된다.Table Properties: [delta.constraints.timestamp_within_range=order_timestamp >= '2020-01-01'] 조건을 위반하는 데이터 삽입 시도INSERT INTO orders_silver VALUES ('1', '..

[databricks] Struct Streaming Deduplication

구조화된 스트리밍에서 중복 제거(Deduplication) Databricks 기반 데이터 파이프라인에서는 중복 데이터 제거가 중요하다.특히 멀티 레이어 아키텍처(Bronze → Silver → Gold)에서는 다음과 같이 처리한다:브론즈 레이어에서 중복을 제거하지 않는 이유이유설명데이터 보존브론즈는 원본 데이터를 그대로 저장하는 공간이다.문제 추적문제가 발생했을 때, 원본 데이터를 통해 재처리할 수 있어야 한다.재처리 유연성중복 제거는 Silver 레이어에서 필요 시 적용해야 유연하다. 실버 레이어에서 중복 제거를 수행하는 이유이유설명정제된 데이터 제공비즈니스 분석이나 ML용으로 신뢰할 수 있는 데이터를 제공해야 한다.쿼리 성능 향상중복이 제거되면 쿼리 성능도 향상된다.스토리지 절약불필요한 중복 데이터..

[databricks] Singleplex , Multiplex

Ingestion Pattern 데이터를 외부 시스템에서 데이터를 가져오는 방식에 대한 패턴을 말한다.외부시스템으로는 쉽게 source data 로 kafka, log , loT 센서등이 해당할 수 있겠다.즉, 데이터를 수집할 것인데 어떻게 수집해서 저장할 것인가에 대한 패턴을 말한다.해당 패턴에 대해 2가지가 있다. Singleplex원본 데이터가 그대로 테이블에 맵핑되는 형식을 말한다.즉 , source data = table 이 되는 형식으로 1:1 mapping 된다.구조가 명확하여 단순하고 일관성을 지녀 일괄 처리가 유용하나, 스트리밍의 경우 작업 수가 많아진다. Multiplex다수의 원본 데이터가 하나의 테이블에 매핑되는 형식을 말한다.즉, M:1의 형태를 이루게 된다.주로, kafka ..

03.AWS EC2 (Elastic Compute Cloud)

EC2란?EC2는 AWS에서 제공하는 가상 서버(Instance) 서비스로, 필요에 따라 컴퓨팅 리소스를 유동적으로 할당할 수 있다.서버를 직접 구매할 필요 없이, 필요한 만큼만 사용하고 비용을 지불하는 온디맨드 방식으로 운영된다.VPC 내에서 생성되고 , 서브넷이 필요하다.  EC2의 주요 개념EC2 인스턴스 유형EC2 인스턴스는 다양한 용도로 최적화된 여러 유형이 있으며, 사용 목적에 따라 선택해야 한다.유형 용도 특징범용 (General Purpose)웹 서버, 애플리케이션 서버CPU, 메모리, 네트워크 성능의 균형 잡힘 (ex: t3, m5)컴퓨팅 최적화 (Compute Optimized)데이터 분석, 고성능 웹 서버높은 CPU 성능 제공 (ex: c5, c6g)메모리 최적화 (Memory Opt..

02-1.VPC endpoint

VPC Endpoint VPC와 AWS서비스를 프라이빗 네트워크 연결을 하기 위한 서비스 (=> 외부 인터넷을 거치지 않는다)즉 , VPC endpoint가 필요한 이유는 VPC와 AWS 서비스를 프라이빗하게 연결하기 위해서 필요하다.프라이빗 연결이 필요하지 않다면 사용하지 않아도 되는 부분. AWS 서비스는 public 한 공인 IP를 가지고 있는 AWS 서비스들이 있다.ex) S3 , ColudWatch , Cloudfront , DynamoDB , API Gateway위와 같은 서비스들은 퍼블릭한 서비스이기 떄문에 VPC 내부에서 S3와 같은 서비스에 연결하기 위해서는 외부 인터넷을 경유해야한다.문제는 외부 인터넷을 경유할 때 데이터가 노출 될 수 있다는 점이다. => 많은 기업들은 이를 꺼려한다...

02. VPC(Virtual Private Cloud)

VPC(Virtual Private Cloud) ? 말 그대로 사용자 정의로 구성된 가상의 프라이빗 클라우드 네트워크를 의미.VPC 의 설정으로 네트워크를 제어한다.클라우드 환경을 퍼블릭과 프라이빗의 논리적으로 독립된 네트워크 영역으로 분리할 수 있게 해준다.VPC는 리전단위로 생성이 가능하다. VPC의 구성 요1.서브넷 (Subnet) 서브 네트워크(Subnetwork)의 준말로  IP 네트워크의 논리적인 영역을 부분적으로 나눈 하위 망을 의미한다.AWS 의 VPC 도 서브넷을 이용하여 네트워크를 분리할 수 있다.즉 , IP 주소범위를 세분화 하여 만든 네트워크 영역을  의미한다.퍼블릭 서브넷 - Public subnet인터넷 연결이 가능하다. 외부 리소스 배치.프라이빗 서브넷 - Private sub..

01. AWS IAM

📌 IAM이 필요한 이유 클라우드 환경에서는 여러 사용자와 서비스가 AWS 라우터에 접근 해야 한다.그러나 모든 사용자에게 권한을 부여하면 보안 위험이 커짐따라서 사용자마다 적절한 권한을 부여하여 최소 권한 원칙(Least Privilege)을 준수 해야 한다.AWS IAM을 사용하면 접근 제어를 통해 보안을 강화할 수 있다.  📌 IAM의 주요 개념 IAM 사용자 (User)AWS 리소스에 접근할 수 있는 개인 사용자 로그(사람 또는 구성)IAM 그룹 (Group)다양한 IAM 사용자를 공유할 권한을 부여 할 수 있음IAM 정책 (Policy)JSON 형식의 권한 설정 문서, 사용자/그룹/역할(Role)에 부여하여 접근 제어 가능IAM 역할(Role)특정 AWS 서비스나 외부 사용자가 AWS 리소스..

728x90