앎을 경계하기

Contents 356

[가짜연구소 3기] 데이터 엔지니어링 - 16 Parallel computation frameworks

주제 Hadoop의 MapReduce와 HDFS, Hive, Spark에 대한 기본 개념을 배웠다. 하둡(Hadoop)은 Apache Software Foundation의 오픈 소스 프로젝트 모음이다. 이번 장에서는 하둡의 MapReduce와 HDFS에 대해 배운다. HDFS HDFS는 파일 시스템과 비슷하지만 파일이 여러 다른 컴퓨터에 있다는 것이 차이점이다. Amazon S3와 같은 클라우드 시스템이 HDFS 역할을 대체한다. MapReduce MapReduce는 대중화된 최초의 빅데이터 처리 패러다임 중 하나였다. 작업을 하위 작업으로 나누고 여러 처리 장치간 워크로드와 데이터를 분배한다. MapReduce의 결함 중 하나는 MapReduce 작업을 작성하는 것이 어렵다는 점이다. 이 문제를 해결하..

[가짜연구소 3기] 데이터 엔지니어링 - 15 What is parallel computing

주제 병렬컴퓨팅에 대한 정의와 장단점, 병렬컴퓨팅을 수행하는 방법 예제에 대해 배웠다. 데이터 엔지니어는 대규모 데이터에 대해 처리, 집계하는 등의 다양한 작업을 수행한다. 그런데 빅데이터는 너~무 큰 사이즈라서 하나의 컴퓨팅 파워로 다루기 힘들다. 이번 장에서는 빅데이터를 다룰 수 있는 병렬컴퓨팅에 대해 배운다. 병렬 컴퓨팅 데이터 처리 도구의 기초 병렬 컴퓨팅 사용의 주된 이유의 첫 번째는 메모리다. 두 번째 이유는 처리 능력이다. 병렬 컴퓨팅은 하나의 작업을 작은 작업들로 쪼갠다. 쪼갠 작업들을 여러개의 컴퓨터에서 수행한다. 끝난 작업들을 합치는 작업을 수행한다. 병렬컴퓨팅의 장점 처리 능력 데이터를 분할하여 각 컴퓨터 메모리에 로드 병렬컴퓨팅의 단점 병렬 컴퓨팅을 사용하면서 필요한 통신의 오버헤드..

[가짜연구소 3기] 데이터 엔지니어링 - 14 Databases

주제 데이터베이스가 무엇인지 배우고, 데이터 종류와 SQL과 NoSQL의 차이점을 배웠다. SQL에서의 스키마와 스타 스키마에 대해서 배웠다. 데이터베이스란 무엇인가? 데이터베이스는 데이터 엔지니어에게 필수적인 도구이다. 데이터베이스는 데이터를 보유하고 있다. 데이터베이스는 데이터를 조직화한다. 데이터베이스는(주로 DBMS) 데이터를 빠르게 검색하거나 그렇게 하는 데 도움이 된다. 데이터베이스와 파일 시스템 정형 데이터와 비정형 데이터 정형 데이터 데이터베이스 스키마 정형데이터는 잘 정의된 구조와 관련되어 있는데, 스키마가 이러한 구조를 정의한다. 관계형 데이터베이스의 테이블 형식의 데이터 비정형 데이터 비정형 데이터는 스키마가 없다. 사진이나 동영상 같은 것들이 비정형 데이터이다. 반정형 데이터 JSO..

[가짜연구소 3기] 데이터 엔지니어링 - 13 Cloud providers

주제클라우드 공급자가 등장한 이유와 대표 업체 서비스에 대해 배웠다.클라우드에서의 데이터 프로세싱회사가 자체 데이터 센터를 보유할 때의 문제점전기세, 유지비를 직접 부담해야한다.피크 때와 그렇지 않을 때 처리 능력을 최적화해야한다.클라우드 컴퓨팅이 이 문제의 해결책이 될 수 있다.클라우드 컴퓨팅을 이용할 때 좋은 점데이터 센터 유지 비용 < 클라우드 컴퓨팅 서비스 이용료데이터베이스 안정성재난이 발생했을 때를 대비하여 데이터를 다른 곳에 저장해놓을 필요가 있다.클라우드 서비스 공급자라고 하고 대표 업체는 AWS, Azure, Google Cloud가 있다.대표 클라우드 공급자AWS : 32% 시장 점유 - 2018Azure : 17% 시장 점유 - 2018Google : 10% 시장 점유 - 2018이 회..

[가짜연구소 3기] 데이터 엔지니어링 - 12 Tools of the data engineer

주제 데이터 엔지니어가 사용하는 툴들에 대해 배웠다. 데이터 엔지니어는 여러 소스에서 데이터를 이동시키고, 처리하여 분석 데이터베이스에 로드한다. 엔지니어가 이런 작업을 하기 위해 사용하는 도구들에 대해 배운다. 데이터베이스 데이터 엔지니어는 데이터베이스 시스템의 전문 사용자이다. 대규모의 데이터를 저장하는 공간 애플리케이션을 지원함 온라인 상점에서 디비에 가격, 재고, 수량과 같은 제품 정보에 대한 데이터를 가지고 있다. 분석을 위해 다른 데이터베이스에 특별한 데이터를 저장해놓을 수 있다. 프로세싱 데이터 클렌징 데이터 집계 데이터 합치기 프로세싱 과정은 대규모 데이터를 처리하기 때문에 이 때 병렬 처리를 적용할 수 있다. 이런 처리를 하면서 보통 한 컴퓨터에서 처리하는 것이 아니라 기계 클러스터를 사..

[가짜연구소 3기] 데이터 엔지니어링 - 11 What is data engineering

주제 각 챕터에 대해 배울 내용과 데이터 엔지니어링이 무엇인지에 대해 배움 각 챕터에서 배울 내용 Chapter1 - 데이터 엔지니어링이란 무엇인가? Chapter2 - 데이터 엔지니어가 사용하는 도구들 Chapter3 - ETL Chapter4 - DataCamp의 데이터 엔지니어링에 대한 사례 데이터 엔지니어의 등장 데이터는 흩어져 있다. 분석을 위해 데이터가 최적화 되어있지 않다. 레거시 코드로 인해 데이터 훼손이 발생하였다. 이를 해결하기 위해 데이터 엔지니어가 필요 하다. 데이터 엔지니어 : 당신의 삶을 편하게 만들어줌 여러 소스들로부터 데이터를 가져온다. 데이터베이스 체계를 최적화하여 쿼리 속도가 빨라짐 훼손된 데이터도 제거됨 데이터 과학자들의 삶이 편안해진다. 데이터 엔지니어 정의 엔지니어는..

[가짜연구소 3기] 데이터 엔지니어링 - 10 Cloud computing

주제클라우드 컴퓨팅의 장단점에 대해 배웠다.클라우드 컴퓨팅기업은 자체적으로 보유하고 있는 데이터센터(on-premise)에서 데이터를 처리한다.on-premise이 방법은 회사가 직접 서버를 구매해야한다.보관할 공간이 필요하고 유지 비용이 발생한다.가장 피크인 순간에 대한 충분한 처리 능력이 필요하다.조용한 시간에는 처리 능력이 사용되지 않는다.cloud렌트 서비스가 가능하여 서버 컴 자체의 구매 비용이 필요하지 않다.보관 장소가 필요하지 않다.필요한 자원을 필요할 때까지 사용한다.서버가 사용자가 가까울수록 애플리케이션 사용 시 발생하는 지연 시간이 줄어든다.글로벌 고객 기반에 서비스를 제공하려면 전 세계에 서버가 필요하다.데이터 저장을 위한 클라우드 컴퓨팅데이터베이스 안정성 : 불가피한 사고로 인해 데..

[가짜연구소 3기] 데이터 엔지니어링 - 9 Parallel computing

주제 병렬컴퓨팅이 무엇인지, 장단점에 대해 배웠다. 병렬 컴퓨팅 데이터 처리 도구의 기초를 형성한다. 주로 메모리 문제를 중요하게 보고 또한 처리 능력도 중요하다. 빅데이터 처리 작업이 있으면 그것을 작은 작업 단위로 나누고, 나눈 작업들을 수행할 컴퓨터에 분산시킨다. 예시) 가상의 음악 스트리밍 서비스 회사 spotflix에서 티셔츠 1000장을 접어야한다. 선임 영업 보조원 - 15분에 100장 티셔츠 접음 주니어 영업 보조원은 - 30분에 100장 티셔츠 접음 만약 한 번에 한명의 영업 보조원만 일할 수 있다면 가장 빠른 직원을 선택해야한다. 그러나 4명의 주니어 영업 보조원에게 250장씩 나눠 티셔츠를 접게한다면 1시간 15분이면 끝난다. 병렬컴퓨팅의 장단점 위 티셔츠 접기 예시의 경우 직원이 처..

[가짜연구소 3기] 데이터 엔지니어링 - 8 Scheduling data

주제스케쥴링이 무엇인지, 방법에 따른 차이점, 배치와 스트림의 차이점에 대해 배웠다.스케쥴링데이터 처리에서 수행하는 모든 작업에 적용할 수 있다.데이터 엔지니어링 시스템의 접착제 역할각각의 작업들을 함께 수행시키기 위한 작업이다.특정 순서로 작업을 실행하고 모든 종속성을 해결한다.스케쥴링 방법수동(Manual)테이블 업데이트 요청이나 필요가 발생하는 경우, 업데이트 작업을 수행자동(Automatically)인간 의존도를 최소화하여 파이프라인이 특정 시간이나 조건에 작업을 변경사항을 적용하도록 자동화되는 것을 바람.센서 스케쥴링특정 조건이 충족되면 실행할 작업들을 설정하는 스케쥴링항상 센서가 추가되어 잘 수행되었는지 확인해야한다.이러한 부분에서 더 많은 리소스가 필요하고 그만한 가치가 없을 수 있다.배치와..

[가짜연구소 3기] 데이터 엔지니어링 - 7 Processing data

주제데이터 프로세싱이 무엇인지, 왜 필요한지, 어떤 작업들로 구성이 되어있는지에 대해 배웠다.데이터 처리의 가치데이터 처리는 원시 데이터를 의미있는 정보로 변환하는 작업들이다.데이터 처리를 하는 이유는 다음과 같다.불필요한 데이터가 있을 수 있다.메모리, 프로세스, 네트워크 비용을 최적화 할 수 있다.다른 타입의 데이터로 변환할 수 있다.데이터를 조직화해서 분석가가 활용하기 좋게 만든다.특정 스키마 또는 구조에 맞게 만들수 있다.생산성 증가데이터 엔지니어가 데이터를 처리하는 법데이터 엔지니어는 데이터를 조작, 정리한다.자동화 작업을 할 수 있고, 데이터 처리를 항상 해야한다.구조화된 데이터베이스에 데이터를 저장한다.분석가가 쉽게 액세스 할 수 있도록 데이터베이스 테이블 위에 뷰를 생성한다.데이터베이스에서..