목록Data Engineering/BOOK (11)
새발블로그
1) 사라지지 않는 데이터 엔지니어링 수명 주기조직이 데이터를 새로운 방식으로 활용하면, 그 요구를 해결하기 위한 새 시스템/워크플로가 필요해진다.데이터 엔지니어링은 여전히 시스템의 디자인·설계·구축·유지관리의 중심에 있다.결과적으로 “더 높은 작업 수준(추상화된 도구 위에서 더 큰 문제를 푸는 일)”로 이동한다.2) 복잡성의 감소와 사용하기 쉬운 데이터복잡성 감소는 “특정 기술/데이터 크기”에 덜 의존하게 되는 흐름.SaaS/관리형 서비스 덕분에 빅데이터 시스템의 내부를 깊이 몰라도 일정 수준의 활용이 가능해짐.예시로 등장한 흐름클라우드 웨어하우스/분석: 구글 BigQuery, Snowflake확장형 빅데이터 처리: Amazon EMR 등서버리스 플랫폼: AWS Lambda, Google Cloud F..
1) 사람(People)1-1. 부정적인 사고의 힘부정적인 사고는 재앙적 시나리오를 먼저 고려하게 하고, 예방 행동을 유도한다.핵심 실천: 다운스트림에서 실제로 필요한 경우에만 민감한 데이터 수집→ “일단 다 모으자”가 사고의 시작.1-2. 항상 편집증적인 자세 유지항상 주의를 기울인다.특히 자격 증명(credential)을 요청받을 때는 의심부터 한다.→ “왜 지금 이걸 요청하지?”를 자동으로 떠올리는 습관.2) 프로세스(Process)2-1. 보여주기식 보안 vs 습관화된 보안기업 고객은 대개 규정준수(내부 규정, 법률, 표준 기관 권고사항)를 요구한다.하지만 진짜 강한 보안은 “체크리스트”가 아니라 습관화다.보안은 간단하고 효과적이어야 습관이 된다.예: 한 달에 1번 이상 보안 교육 + 정책 검토 ..
1) 데이터 서빙의 일반적인 고려사항1-1. 신뢰(Trust)최종 사용자가 데이터를 비즈니스의 신뢰 가능한 표현으로 받아들여야 한다.데이터 품질 실현데이터 검증: 재무정보/고객 상호작용/매출 등을 정확히 나타내는지 분석·확인데이터 관찰 가능성(Observability): 데이터와 프로세스에 대한 지속적 뷰→ “서빙 단계만”이 아니라 데이터 엔지니어링 수명 주기 전체에 적용 또한 신뢰는 “데이터 자체”뿐 아니라 “운영 약속”으로도 쌓인다.최종 사용자·업스트림 이해관계자와 SLA/SLO 협의SLA 예: 데이터는 안정적으로 사용 가능하고, 고품질이어야 한다.1-2. 사용사례는 무엇이고, 사용자는 누구인가데이터는 행동으로 이어질 때 효과가 극대화된다.사용사례를 정할 때 던질 질문은 다음과 같다:이 데이터는 어떤..
1) 쿼리(Query)1-1. 쿼리란?쿼리: 데이터를 검색하거나, 그 데이터에 대한 작업을 수행하는 것CRUD 관점에서 다양한 언어 계층이 존재데이터 정의 언어(DDL)데이터 삽입 전에 필요한 DB 객체를 정의CREATE, ALTER, DROP 등데이터 조작 언어(DML)데이터 조회/삽입/갱신/삭제SELECT, INSERT, UPDATE, DELETE, COPY, MERGE데이터 제어 언어(DCL)누가 무엇에 접근 가능한지GRANT, DENY, REVOKE트랜잭션 제어 언어(TCL)트랜잭션 확정/되돌림COMMIT, ROLLBACK1-2. 쿼리 수명 주기(Query Lifecycle)SQL이 실행될 때 DB 내부에서 보통 이런 흐름을 탄다.SQL 파싱/검증객체 존재 여부, 권한 보유 여부 확인바이트코드(또..
1) 데이터 수집이란1-1. 정의데이터 수집(Data Ingestion): 데이터를 한 장소에서 다른 장소로 옮기는 프로세스원천 시스템 → 스토리지로 이동하며, 수집은 그 사이 “중간 단계”에서 발생1-2. 데이터 수집 vs 데이터 통합수집: A → B 로 “이동”통합: 서로 다른 데이터를 결합해 “새 데이터셋 생성”1-3. 수집은 ‘시스템 내부 수집’과 다르다시스템(앱) 내부에서 로그를 쌓는 것과 달리, 데이터 엔지니어링에서 수집은:데이터 파이프라인의 일부이며이 시점부터 데이터 엔지니어가 파이프라인을 적극적으로 설계하기 시작한다.여기서 등장하는 대표 패턴들:ETL(전통적)ELT(새로운 패턴)역 ETL(확립된 관행이지만 새로운 명명도 많음)데이터 공유(수집/이동의 또 다른 형태)2) 수집 단계의 주요 엔..
1) 데이터 스토리지의 구성요소1-1. 스토리지 “추상화” vs 스토리지 “시스템”저장 이야기를 할 때 가장 먼저 구분해야 한다.스토리지 추상화(Architecture/Layer)데이터 레이크데이터 레이크하우스데이터 플랫폼클라우드 데이터 웨어하우스-> “사용 패턴(저장/쿼리/변환/거버넌스)”을 규정하는 큰 틀스토리지 시스템(Implementation)HDFS(하둡 분산 파일 시스템)캐시/메모리 기반 스토리지관계형 DB객체 스토리지(S3 등)스트리밍 스토리지(카프카 등)-> “실제로 데이터를 담고 전달하는 기술”1-2. 스토리지의 기본 구성요소(물리/논리)스토리지 성능은 결국 아래 구성요소의 조합으로 결정된다.HDD / SSD / RAM네트워킹CPU직렬화(Serialization)압축(Compression..
데이터는 어떻게 생성될까?책에서 데이터는 사실과 수치의 비조직적이고 맥락 없는 집합으로 출발한다. 이 데이터가 “의미 있는 정보”가 되기 전에, 먼저 생성 형태부터 다르다.아날로그 데이터 vs 디지털 데이터아날로그 데이터: 음성, 수화, 종이 글, 악기 연주처럼 연속적·물리적 형태디지털 데이터:아날로그를 디지털로 변환해서 생성되거나디지털 시스템(앱, DB, 로그, 센서)의 기본 산물로 생성됨원천 시스템(Source System) 유형원천 시스템은 데이터 엔지니어링 수명주기의 “출발점”이며, 각 유형은 데이터의 형태/속도/품질/스키마를 다르게 만든다.1) 파일과 비정형 데이터파일은 바이트 시퀀스이며, 가장 보편적인 데이터 교환 매개체다.현업에서 자주 보는 소스 파일 형식:ExcelCSVTXTJSONXML특..
왜 기술 선택이 데이터 엔지니어링 수명 주기 전체에 걸쳐 중요한가데이터 엔지니어링에서 기술 선택은 특정 단계(수집·저장·변환·서빙)에 국한되지 않는다.한 번 선택한 기술은운영 방식,팀의 생산성,비용 구조,미래 확장 가능성까지 수명 주기 전체에 장기적인 영향을 미친다. 따라서 기술 선택은 “최신인가?”가 아니라 “우리에게 맞는가?”의 문제다.1 팀의 규모와 역량을 먼저 고려하라카고-컬트 엔지니어링의 위험소규모 데이터 팀이대기업의 최첨단 스택이나 복잡한 아키텍처를 그대로 모방하는 것은 카고-컬트 엔지니어링의 전형적인 사례다.문제점운영·유지 불가디버깅 불가능팀 역량 대비 과도한 복잡성현실적인 선택소규모 팀, 기술 성숙도가 낮다면→ 관리형 도구 + SaaS 적극 활용팀이 이미 익숙한 기술과 워크플로를 우선 선택..