본문 바로가기

반응형

데이터 엔지니어링

(4)
Batch 와 Streaming Batch Processing 배치 (Batch) == 일괄 배치 프로세싱(Batch Processing) == 일괄 처리 많은 양의 데이터를 정해진 시간에 한꺼번에 처리하는 것 한정된 데이터 특정 시간 일괄 처리 실시간 보장이 없을때 데이터를 한꺼번에 처리할 수 있을때 무거운 처리를 할때 (ML) Streaming Processing 실시간으로 쏟아지는 데이터를 계속 처리하는 것 이벤트가 생길 때 마다, 데이터가 들어올때마다 처리 물론 streaming 도 batch 처럼 사용할 수 있음 불규칙적으로 데이터가 들어온다는 가정을 진행해보면 1. 이벤트가 안들어올때 (오랫동안) 2. 여러개의 이벤트가 한꺼번에 올떄 이렬경우 불규칙으로 데이터가 들어오므로 처리하는 데이터가 각각 마다 달라지기 때문에 리소스 ..
예전 -> 현재 로 오면서 데이터를 다루는 행위의 변화 Modern data engineering architecture 과거에는 클라우드의 발전이 많이 되지 않았고 데이터가 나올 곳이 정해져 있기 때문에 다음과 같은 3가지가 대표적이였다 1. 컴퓨팅 파워와 용량이 너무 비쌋음 2. 용도가 정해져 있었음 ( 데이터의 종류와 쓰임새가 복합적이지 않았음) 3. 데이터가 나올 곳이 정해져 있었다 그래서 data warehouse라고 해서 한번 만들면 잘 변환하지 않았음 즉 과거에는 데이터의 변동이 별로 없었기에 스키마를 미리 만들고 한번 만들면 잘 변경하지 않았기 떄문에 효율적인 데이터베이스 모델링이 중요했었음 그렇기 떄문에 (ETL 메타) E 추출 (Extract) T 변환 (Tranform) L 저장 (Load) 으로 주로 진행을 하였음 하지만..!! 현대 사..
2. Log Extraction Architecture 1. 파일을 이용한수집 application에서는 로그를 파일로만 남기고 별도로 로그 파일을 읽는 프로세스를 만들어서 전송하는 방식 장점 application과 log extract가 관심사 분리(SOC)가 가능함 아키텍처 상으로 역할과 동작이 구별되니 유연성이 높아짐 컨테이너 환경을 이용해서 application과 extaction 리소스를 분리하면, 수집기 때문에 application에 부담을 주지 않음 단점 application, log extraction를 별도로 관리해야 함 application은 정상인데 log extaction이 비정상일 경우 application의 이상으로판단될 수 있음 아무래도 하나의 server에다가 몰빵을 했기 때문에 부분적 삑사리도 전체적인 관계성이 나타날 수 있음 ..
1. Log란 ? 일단 로그의 의미는 무엇일까..? 일단 로그란.. --> 컴퓨터가 수행하는 도중 유의미한 내용을 남기는 기록을 말한다 통상 파일로 남기는 기록을 말함 (물론 형식에 종속되지 않음 ) 그냥 사람들이 파일로 많이 저장할 뿐이지 그러면 로그의 내용을 어떤 걸 넣을 수 있나 일단 필수적으로 시간이 꼭 들어가야 한다 why? 그래야 언제 어느 시간에 기록을 알 수 있기 때문이다. 1. 로그를 남긴 시간 2. 로그 레벨 (심각성의 정도) 이건 모든 시스템의 로그 규격이 정해져 있는 건 아님 TRACE : application에서 어떤 상황이 일어나는지 상세한 내용을 보고 싶을 때 남김 라이브러리 내부 동작을 주로 남기는 경우가 많음 ex) spring boot initialization, serivece disco..

반응형