IT Study/데이터베이스 및 데이터 처리 32

🗂️ ERD(Entity-Relationship Diagram) 작성법과 개체 간 관계 이해

1. ERD 개요ERD는 데이터베이스 설계 초기 단계에서 사용되는 다이어그램 표현 도구 현실 세계의 업무 프로세스를 구성하는 주요 개체(Entity), 이들 간의 관계(Relationship), 그리고 속성(Attribute)들을 시각적으로 표현함 논리적 데이터 모델링의 핵심 산출물로, 이후 관계형 데이터베이스로의 전환 기반이 됨 정보시스템의 데이터 구조를 명확히 정의함으로써 설계 오류 방지와 사용자·개발자 간 의사소통 도구로 사용됨 2. ERD 구성 요소 정의(1) 개체(Entity)현실 세계에서 식별 가능한 사물이나 개념 유형 개체(사람, 상품 등), 무형 개체(계약, 주문 등)로 분류됨 강한 개체: 독립적으로 존재 가능, 기본 키 보유 약한 개체: 다른 개체의 존재에 의존, 외래 키와 ..

🧰 트랜잭션(Transaction)의 ACID 원칙과 락(Lock) 이해

☐ 트랜잭션(Transaction) 개요데이터베이스 상에서 하나의 논리적인 작업 단위를 의미함 사용자의 업무 수행 중 하나의 작업을 수행하는 최소 실행 단위임 일반적으로 SQL의 BEGIN ~ COMMIT / ROLLBACK 블록에 해당함 데이터의 일관성과 무결성을 보장하기 위한 기초 개념임 예시: 계좌 이체 시 A 계좌에서 출금하고 B 계좌로 입금하는 작업은 하나의 트랜잭션으로 구성됨 ☐ 트랜잭션의 4대 특성: ACID 원칙▷ A: 원자성(Atomicity)트랜잭션 내 모든 작업이 전부 성공하거나 전부 실패해야 함 중간 작업의 부분 완료는 허용되지 않음 트랜잭션 실패 시, 모든 작업은 이전 상태로 복구됨 (Rollback 메커니즘 활용) 예시: A→B 이체 중 A의 출금은 성공했으나 B의..

🗂️ 정규화(Normalization)와 반정규화(Denormalization)의 목적과 차이

1. 정규화(Normalization)와 반정규화(Denormalization)의 개념정규화(Normalization)데이터베이스 설계 단계에서 데이터 중복을 제거하고 이상(anomaly)을 방지하기 위해 릴레이션을 작은 논리적 단위로 분해하는 과정임무결성과 일관성을 유지하며, 삽입·삭제·갱신 이상을 최소화하려는 목적을 가짐수학적 이론(함수 종속성, 정규형 등)에 기반하여, 제1정규형(1NF) ~ 제5정규형(5NF) 또는 BCNF 등의 단계로 진행함반정규화(Denormalization)정규화된 데이터를 다시 사용성과 성능 관점에서 통합하거나 중복을 허용하는 과정임데이터 조회의 효율성을 위해 정규화로 인해 분해된 테이블을 의도적으로 조인(JOIN) 없이도 사용 가능하게 결합함성능, 가용성, 응답 속도 개선..

🧰 데이터 압축 알고리즘 정리

1. 데이터 압축 알고리즘 개요데이터 압축이란 데이터 표현에 필요한 비트 수를 줄이는 기술을 의미함 저장공간 절약, 전송 속도 향상, 비용 절감 등의 목적을 가짐 무손실 압축(Lossless)과 손실 압축(Lossy)으로 구분됨 무손실 압축: 원본 데이터 완전 복원이 가능함 (예: 텍스트, 실행 파일 등) 손실 압축: 일부 정보 손실을 허용함 (예: 이미지, 음성, 영상 등) 알고리즘에 따라 사전 기반, 통계 기반, 변환 기반 방식 등으로 분류 가능함2. 무손실 압축 알고리즘2.1 런렝스 인코딩(Run-Length Encoding, RLE)연속된 동일한 값을 하나의 값과 반복 횟수로 표현함 데이터에 반복 패턴이 많을수록 압축 효율 증가함 예시: AAAAABBBCC → 5A3B2C 이미지에서..

🗂️ 데이터 프라이버시 보호를 위한 Synthetic Data 생성 기술

1. 서론개인정보 보호 규제가 강화되고 데이터 활용에 대한 사회적 요구가 증가함에 따라 프라이버시 보호와 데이터 유용성 간의 균형이 중요 이슈로 대두됨 원본 데이터를 그대로 사용하는 경우 개인 식별 위험이 존재하며, 데이터 익명화 방식은 정보 손실 문제로 인해 한계 존재 이에 대한 대안으로 Synthetic Data(합성 데이터) 기술이 주목받고 있음 합성 데이터는 실제 데이터를 기반으로 통계적 특성을 모방한 가상의 데이터를 생성하여, 개인정보 유출 없이 데이터 분석, 모델링, 테스트 등에 활용 가능함2. 합성 데이터(Synthetic Data)의 개념합성 데이터란 실존하지 않지만 원본 데이터와 유사한 통계적 패턴 및 분포를 가지도록 생성된 인공 데이터를 의미함 통계적 합리성을 유지하면서 개인 식..

🗂️ 데이터 일관성 및 거버넌스를 위한 Policy-as-Code

1. 문제 배경디지털 전환 가속화와 데이터 기반 의사결정 확대에 따라 조직의 데이터 활용 증가 다수의 애플리케이션, 서비스, 사용자 간 데이터 생성 및 소비 구조 복잡화됨 데이터 품질 저하, 무분별한 접근, 규제 미준수 등의 문제 지속 발생 일관된 정책 적용 및 거버넌스 확보가 조직 전체의 신뢰성과 효율성에 핵심 과제로 대두됨 기존 수동적 정책 적용 방식의 한계 극복을 위한 자동화된 정책 관리 방식 필요 이에 따라 코드 기반 정책 정의 및 실행 방식인 Policy-as-Code 개념이 등장함 2. Policy-as-Code 개념 정의정책(Policy)을 사람이 아닌 기계가 읽고 실행할 수 있는 형태의 코드로 정의함 인프라, 애플리케이션, 데이터 접근 및 거버넌스 등에 대한 규칙을 선언적 언어..

🗂️ 데이터 레이크하우스 아키텍처 (Delta Lake, Iceberg)

1. 개요데이터 레이크하우스는 기존 데이터 레이크의 유연성과 데이터 웨어하우스의 관리 및 성능을 통합한 아키텍처구조적, 비구조적 데이터를 단일 플랫폼에서 관리하고 분석할 수 있는 최신 데이터 관리 접근 방식데이터 레이크의 데이터 저장 자유도를 유지하면서 ACID 트랜잭션, 스키마 관리, 데이터 품질 확보를 지원하는 것이 핵심대표적 기술로 Delta Lake와 Apache Iceberg 존재2. 데이터 레이크하우스 등장 배경1. 기존 데이터 아키텍처 한계데이터 웨어하우스 한계구조화된 데이터 중심, 비구조화 데이터 관리 곤란스키마 변경 시 높은 비용과 긴 작업시간 소요확장성 제한, 비용 증가 문제 발생데이터 레이크 한계자유로운 데이터 저장 가능하나 데이터 관리 미흡일관성 부족, 품질 및 신뢰성 문제 발생데이..

🗂️ 데이터 옵스(DataOps)

1. 개요데이터 옵스(DataOps)란 데이터 분석과 데이터 관리 전반에 DevOps 및 Agile 기법을 적용하여 데이터 파이프라인의 품질, 속도, 협업을 개선하려는 방법론임 데이터 과학자, 데이터 엔지니어, 비즈니스 사용자 간 협업을 강화하고, 데이터 흐름의 자동화 및 모니터링을 통해 민첩한 데이터 운영 환경을 구축하는 것이 목표임 2014년경 Lenny Liebmann이 최초로 제안하였으며, 이후 데이터 기반 의사결정의 중요성이 증가함에 따라 실무 및 산업 현장에서 확산됨 2. 등장 배경기존의 데이터 분석 환경은 분석 주체, 인프라 관리, 품질 검증, 배포 절차 등이 분리되어 있어, 전체적인 데이터 흐름이 느리고 오류에 취약함 DevOps가 소프트웨어 개발의 민첩성을 확보했듯이, 데이터 분석..

🗂️ 벡터 DB(Vector Database)

1. 벡터 DB 개요고차원 공간에서의 유사도 기반 검색을 위한 특화된 데이터베이스 시스템 일반적인 키-값 또는 관계형 데이터베이스와 달리, 벡터 형태로 표현된 비정형 데이터(이미지, 오디오, 자연어 등)를 효율적으로 저장 및 검색할 수 있도록 설계됨 최근 인공지능, 특히 대규모 언어모델(LLM), 멀티모달 학습, 검색 강화 생성(RAG: Retrieval-Augmented Generation) 등의 활용 확산에 따라 활용도 급증 중 2. 벡터 표현 및 유사도 검색 개념벡터(Vector): 고정 길이의 실수 배열로, 단어 임베딩(Word2Vec, GloVe), 이미지 특징 벡터(CNN Output), 문장 임베딩(BERT, SBERT), 음성 피쳐 등으로 생성됨 유사도 측정: 주로 코사인 유사도(C..

🗂️ 관계형 데이터베이스(RDBMS)

1. 관계형 데이터베이스 개요관계형 데이터베이스(Relational Database)는 1970년 E.F. Codd가 제안한 관계형 모델(Relational Model)을 기반으로 하는 데이터 저장 및 관리 체계 데이터를 테이블(릴레이션, Relation) 형식으로 표현하며, 각 테이블은 행(Row, Tuple) 과 열(Column, Attribute) 로 구성됨 데이터 간의 관계를 명시적 구조 없이, 키를 통해 논리적으로 연결하는 방식 사용자가 데이터를 조작할 때 관계를 직접 구성하지 않아도 되며, 관계형 연산을 통해 간접적으로 연결하여 처리 가능함 2. 관계형 데이터베이스의 구성 요소릴레이션(Relation) 데이터를 테이블 형태로 표현 중복 없는 튜플 집합으로 구성되며, 순서가 없음 각..