본문 바로가기

반응형

데이터엔지니어

(8)
Part 1 - [Chapter 2] . 데이터 엔지니어링 수명 주기 (2) 2.1.3 데이터 저장 데이터를 저장할 공간이 필요하다, 스토리지 설루션을 선택하는 것은 나머지 데이터 수명주기에서 성공을 거두기 위한 열쇠이면서, 다음과 같은 다양한 이유로 데이터 수명 주기에서 가장 복잡한 단계의 하나다 첫째, 클라우드의 데이터 아키텍처는 종종 여러 스토리지 설루션을 활용함 둘째, 복잡한 변환 쿼리를 지원하는 데이터 스토리지 설류션은 순수하게 스토리지로만 작동하는 경우가 거의 없으며 많은 설루션이 복잡한 쿼리를 지원한다 심지어 객체 스토리지 설루션도 Amazon S3 Select와 같은 강력한 쿼리 기능을 지원할 수 있다 셋째, 저장은 데이터 엔지니어링 수명 주기의 한 단계이지만 변환 및 서비스 제공과 같은 다른 단계에서도 자주 관여한다 둘쨰가 참 흥미로운데 이게 보면 대표적으로 S3..
Chapter 2. 클라이언트에서 데이터 가져오기: 데이터 수집 우리가 다루는 첫 번째 단계인 수집 단계(Collection tier)는 우리의 스트리밍 시스템으로 데이터를 입수하는 지점이다. 수집 단계를 강조한 스트리밍 데이터 아키텍처는 다음 과 같다. 2.1 일반적인 통신 패턴 오늘날, 클라이언트에서 생성되는 데이터를 시스템에 입수하기 위해(또는 수집 단계에서 서버가 직접 데이터를 Pulling 하기 위해) 몇 안되는 프로토콜을 사용한다 만물 인터넷의 등장으로 다양한 통신 패턴들이 존재하겠지만. 다음과 같은 몇 가지 통신 패턴 중 한 가지 패턴을 선택하여 통신하는 것이 일반적이다. 요청/응답 패턴 (Request/response pattern) 발행/구독 패턴 (Publish/subscribe pattern) 단방향 패턴 (One-way pattern) 요청/확인..
Part 1. 데이터 엔지니어링 기반 구축하기 (2) 1.1.3 데이터 엔지니어의 진화 역사는 그대로 반복되지 않지만, 그 흐름은 분명 반복된다 (이거 너무 멋있는거 같아) 호홓 1980 ~ 2000년 까지 : 데이터 웨어 하우징에서 웹으로 데이터 엔지니어의 탄생은 1970년대 까지 거슬러 올라가는 데이터 웨어하우징에 뿌리를 둔다. 비지니스 데이터 웨어하우스 business data warehouse라는 용어는 1980년대에 형성 되었으며, 1989년에 이르러 빌 인먼이 데이터 웨어하우스 라는 용어를 공식적으로 만들었음 데이터 웨어하우징은 시장에 출시되는 대량의 데이터를 처리하고 전례 없는 막대한 양의 데이터를 지원하고자, 다수의 프로세서를 사용하는 새로운 대규모 병렬 처리(MPP[Massively Parallel Computer]) 그리고 데이터베이스로 ..
Part 1. 데이터 엔지니어링 기반 구축하기 (1) 1. 1 데이터 엔지니어링 이란? 데이터 엔지니어링이라는 용어에 수많은 정의가 존재한다 데이터 엔지니어링은 회사의 조직 내의 다른 전문가가 데이터를 사용할 수 있도록 만드는 일련의 작업이다. 대규모의 데이터를 수집 및 저장하면서 추가 분석을 수행할 수 있는 데이터를 준비하기 위한 시스템을 설계하고 구축하려면 데이터엔지니어와 같은 전담 전문가가 필요하다 간단하게 말해서 조직의 데이터 인프라를 구축하고 운영해 분석가와 과학자가 추가 분석을 수행할 수 있도록 준비하는 것 데이터 엔지니어링 의 유형 1. 첫 번째 유형은 SQL 중심이다 데이터의 작업 및 기본 저장소는 관계형 데이터 베이스에 있음 2. 빅데이터 중심 데이터 작업 및 기본 스토리지는 하둡 카산드라 HBase 와 같은 빅데이터 기술에 기반함 2.1 ..
신뢰할 수 있고 확장이 가능하며 유지보수하기 쉬운 어플리케이션 (2) 신뢰성 누구나 어떤 것을 신뢰하거나 신뢰하지 않는다는 의미가 무엇인지 직관적인 개념을 가지고 있다 application은 사용자가 기대한 기능을 수행한다 시스템은 사용자가 범한 실수나 예성치 못한 소프트웨어 사용법을 허용할 수 있다 시스템 성능은 예상된 부하와 데이터 양에서 필수적인 사용 사례를 충분히 만족한다 시스템은 허가되지 않는 접근과 오남용을 방지한다 이 모든 것이 "올바르게 동작함" 을 의미하는 경우 무언가 잘못되더라도 지속적으로 올바르게 동작함을 신뢰성의 의미로 이해할 수 있다 잘못될 수 있는 일을 결함(fault) 이라 부른다 그리고 결함을 예측하고 대처할 수 있는 시스템을 내결함성(fault-tolerant) 또는 탄력성(resilent)라고 한다 여기서 내결함성이라는 용어를 살펴보고 가야..
(빅데이터 처리 분석)뉴욕 택시 데이터를 수집해보자 3탄 전편을 보시려면 이쪽으로 오세요..!! 1탄 https://sky-develop.tistory.com/23 (빅데이터 처리 분석)뉴욕 택시 데이터를 수집해보자 1탄 미국 택시데이터를 분석하여 코로나 전 후 택시 유동량을 관찰 분석하는 조그마한 프로젝트를 진행하려고 한다.! 일단 데이터를 다운로드 사이트는 요기 있다.. https://www.nyc.gov/site/tlc/about/tlc-trip sky-develop.tistory.com 2탄 https://sky-develop.tistory.com/24 (빅데이터 처리 분석)뉴욕 택시 데이터를 수집해보자 2탄 전편 못 보신 분들 이 링크로 전편을 확인해 주세요..! https://sky-develop.tistory.com/23 (빅데이터 처리 분석)뉴욕..
(빅데이터 처리 분석)뉴욕 택시 데이터를 수집해보자 2탄 전편 못 보신 분들 이 링크로 전편을 확인해 주세요..! https://sky-develop.tistory.com/23 (빅데이터 처리 분석)뉴욕 택시 데이터를 수집해보자 1탄 미국 택시데이터를 분석하여 코로나 전 후 택시 유동량을 관찰 분석하는 조그마한 프로젝트를 진행하려고 한다.! 일단 데이터를 다운로드 사이트는 요기 있다.. https://www.nyc.gov/site/tlc/about/tlc-trip sky-develop.tistory.com 데이터 수집 이후 데이터의 칼럼을 먼저 해석을 해보았다 그래야 무엇을 분석해 볼지 명확지니깐! 칼럼의 내용은 다음과 같았다 총 컬럼 개수는 24개였으며 내용은 다음과 같다 약간의 스크롤 압박이 있으니 양해 부탁드립니다. 'hvfhs_license_num' :..
신뢰할 수 있고 확장이 가능하며 유지보수하기 쉬운 어플리케이션 (1) 오늘날 애플리케이션은 계산 중심이 아닌 데이터 중심이다 애플리케이션의 성능은 computing power 가 아닌 데이터의 양, 복잡도 변화 속도, 신선도이다. 일반적으로 데이터 중심 애플리케이션이 공통으로 필요한 기능은 다음과 같다. 데이터를 저장, 수집, 찾을 수 있게 해주는 [데이터베이스] 읽기 속도가 빠르지만 그만큼 자원이 많이 드는 [캐시] 사용자가 키워드로 데이터를 검색하거나 다양한 방법으로 필터링할 수 있게 제공[검색 색인] 비동기 처리를 위해 다른 프로세스로 메시지 보내기 [스트림(실시간 처리)] 주기적으로 대량의 누적된 데이터를 분석 [배치(일괄 처리)] 이러한 기능을 개발자들이 생각없이 적재적소를 빠르게 할 수 있는 이유는 뭔가? 시스템 추상화가 잘되어 있어서 그렇다.. 우리가 뭘 만들..

반응형