좋은 책이라고 소문만 듣다가 드디어 읽게 되었다.
아래 걸어둔 저자의 글 또한 공감할 부분이 많다.
앞에 베타리더, 추천사, 책에 대한 안내 등이 꽤 길어 공을 많이 들였겠다 생각이 들었다.
이 책은 '데이터 엔지니어링 수명주기'에 대해 주로 다룬다.
클라우드에 대해서도 짚고 넘어가는데 온프렘으로 회귀하는 경우도 있다.
대부분 보안 문제로 인해 온프렘, private cloud를 고려하게 되는데 나 또한 public cloud가 거시적으로는 이기지 않을까 생각한다. 지금이야 문제가 생기겠지만 최근 주목받는 양자컴퓨팅 같은 게 보안에서 혁신을 가져온다면 또 다른 해결책을 주지 않을까?
현업에서 논의할 만한 부분도 굉장히 많기 때문에 DE라면 내용을 자세히 훑는 걸 추천한다.
1. 데이터 엔지니어링 수명 주기
생성 -> 저장(수집, 변환, 서빙) -> 분석, 머신러닝, 역ETL
드러나지 않는 요소 : 보안, 데이터 관리, 데이터옵스, 데이터 아키텍처, 오케스트레이션, 소프트웨어 엔지니어링
2. 데이터 엔지니어의 진화
1980-2000 : 데이터 웨어하우징에서 웹으로
-비즈니스 데이터 웨어하우스(BDW)
-1989년 Bill Inmon이 '데이터 웨어하우스'라는 용어 공식 사용
-BI 툴과 데이터 모델링 기법 개발됨
-MPP(대규모병렬처리) 데이터베이스로 확장성 있는 분석의 첫 시대를 엶
-BI엔지니어, ETL 개발자, 데이터 웨어하우스 엔지니어 등 등장
1990년대 중반 : 인터넷 주류(AOL, 야후, 아마존)
- 닷컴 열풍-> 웹 애플리케이션, 백엔드(서버, 데이터베이스, 스토리지) 엄청난 발전
2000년대 초 : 현대 데이터 엔지니어링의 탄생
-닷컴 열풍 무너지고 생존자만(야후, 구글, 아마존)
-모놀리식 관계형 데이터베이스가 한계에 다다르며 시스템 불안정
-데이터 증가를 처리할 최신화된 접근 방식 필요
-차세대 시스템은 비용 효율적, 확장성과 가용성, 안정적 필요
-서버, RAM, 디스크 등 범용 하드웨어 가격 저렴
-서비스 분산하고 분리하기 시작 -> 빅데이터 시대 시작
-2003년 구글 : 파일시스템(file system)에 대한 논문 발표
-2004년 : 맵리듀스 논문 발표
-2006년 : 야후 아파치 하둡 개발 후 오픈소스화
-기업 데이터가 테라바이트, 페타바이트 규모로 증가하며 빅데이터 엔지니어 시대 개막
-아마존 : EC2(탄력적 컴퓨팅 환경), S3(무한 확장 가능한 스토리지 시스템), DynamoDB(확장성이 뛰어난 NoSQL DB)
2000년대와 2010년대 : 빅데이터 엔지니어링
-하둡 생태계의 오픈소스 도구 빠르게 발전
-배치 컴퓨팅, 이벤트 스트리밍 등 실시간 빅데이터 분석이 가능해짐
-하둡, 피그, 하이브, 드레멜, HBase, 스톰, 카산드라, 스파크, 프레스토
-기존 엔터프라이즈 지향적이고 GUI 기반인 데이터 도구 -> 맵리듀스 출현으로 코드 우선 엔지니어링 유행
-2000년대 후반과 2010년대에 데이터 도구 폭발적으로 증가하며 빅데이터 엔지니어 탄생
-'Big Data Hype'의 열풍 : 몇 기가를 처리할 때도 하둡 사용?
-누가 가장 큰 데이터를 보유하는가?
2010년대 : 데이터 수명 주기를 위한 엔지니어링
-'빅데이터' -> '데이터' 엔지니어링
-하둡, 스파크, 인포매티카 등 모놀리식 프레임워크의 저수준 세부 정보를 사용하는 경향-> 변경
-분산, 모듈화, 관리, 고도로 추상화된 도구로 이동
-데이터를 어떻게 활용할 것인가?
-CCPA, GDPR 등 파이프라인 설계시 개인정보보호, 익명화, 데이터 가비지 수집 및 규정 준수에 관심 가져야 함
-견고한 데이터 기반 필요(수집, 이동/저장, 탐색/변환)
3. 데이터 성숙도
3-1. 데이터로 시작하기(임시 데이터 요청)
: 확실한 데이터 기반이 없다면 ML은 성급함, 적절한 데이터 아키텍처를 정의해야 함, 조기 성과 vs 기술 부채 고민해야 함.
3-2. 데이터로 확장하기(공식 데이터 요청 관행)
: 확장성 있는 데이터 아키텍처, 데브옵스, ML 지원 시스템 구축, 주요 병목은 배포와 관리에서 나타나므로 쉬운 솔루션 선택 해야 함
3-3. 데이터로 선도하기
: 셀프서비스 분석과 ML수행 가능, 사용자 정의 도구와 시스템 구축에 주력, 데이터 카탈로그, 데이터 계보, 메타데이터 관리 등 데이터를 조직 전체에 노출하고 전파하는 도구 배포 필요
성공적인 데이터 엔지니어는 항상 전체적인 큰 그림을 이해하고 비즈니스 가치를 극대화하는 방법을 파악하고자 한다.(60p)
[샛길로 빠져 드는 생각]
데이터와 관련된 트렌드는 금방 바뀐다.
지금은 플랫폼 춘추전국인 것 같고 그 다음은 가상화/디지털 트윈으로 보고 있다.
그런 의미에서 외국의 P사를 유심히 보는 중이다.
괜히 2020년도부터 테넷, 양자역학, 초전도체 등이 나오는 게 아니라고 본다. 신호에 가깝달까.
태평양 건너에 있는 미국에서 IT혁명을 통해 경쟁력을 극한으로 끌어올렸듯이 다가올 시대도 준비 이빠이 하는 느낌이다.
자율주행, UAM 아무튼 이전까지의 질서가 V2로 업그레이드 될 준비는 끝난 것 같다.
보통 한국이 서방국가보다 2년 정도 늦는 걸 감안하면,, 아직 시간은 좀 있다. 다만 정보 업데이트에 허덕허덕일뿐...
영생만 해결하면 인류는 완전한 신이 될 수 있는 걸까?
신이 된다는 건 답이 꼭 하나가 아니라는 것. 동시에, 여러 개의 이야기가 가능할 것이다.
개인적으로 마블 별로 좋아하지 않지만 이미 인간의 무의식 속에 대중적으로 박히는 중일지도 모른다.
뭐 그렇게 된다면 어떤 결론이 나오든 적응하면 그만일 테지.
다시 돌아가서...
나 또한 최신식 기술만 고집하는 건 반대다. 레거시라는 것, 기존 회사가 갖고있는 고유의 성질이 있는데 그걸 깡그리 무시하고 이 기술이 좋아서 해라는 말도 안된다. 결정적으로 실무를 해보면 알겠지만 '비용'. 여기서 막히는 게 대부분이라..
4. 데이터 엔지니어의 언어
-SQL : DB, DL의 가장 일반적인 인터페이스. 사실상 데이터 공용어.
-파이썬 : pandas, numpy, airflow, sci-kit learn, tensorflow, pytorch, pyspark 등 사용 가능. 기본 컴포넌트 간 접착제와 같은 역할. 프레임워크와 인터페이스를 위한 일류 API언어
-JVM언어 : 스파크, 하이브, 드루이드 등 아파치 오픈소스 프로젝트에 널리 쓰임. 자바, 스칼라 등의 이해가 있으면 좋음
-bash : 리눅스 운영체제용 명령행 인터페이스. CLI 사용에 능숙하면 생산성이 향상됨.
https://m.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS1025902134&cate_cd=
현장에서의 기록, ‘데이터 엔지니어’에게 아찔했던 순간
오라일리의 <Fundamentals of Data Engineering>이라는 책을 번역하는 과정에서, 현장에서 내가 겪었던 아찔했던 기억들을 새삼 돌이켜볼 수 있었다. 당시에는 그냥 넘어갔지만, 이제 와서 생각해보면 움
m.hanbit.co.kr
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
'IT리뷰' 카테고리의 다른 글
만들면서 배우는 생성 AI (2023.09.15) (0) | 2023.10.29 |
---|---|
개발자의 하루를 바꾸는 코파일럿 & 챗GPT (2023.09.11) (0) | 2023.09.24 |
프로덕트 매니지먼트(2023.06.08) (0) | 2023.08.01 |
외워서 끝내는 네트워크 핵심이론 - 기초(인프런 강의) (0) | 2023.07.30 |
파이썬 웹 프로그래밍 기초편 (0) | 2023.03.26 |
댓글