책/빅데이터를 지탱하는 기술
-
[빅데이터를 지탱하는 기술] 목차책/빅데이터를 지탱하는 기술 2022. 4. 5. 15:58
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 목차 Ch 1. 빅데이터의 기초 지식 1. [배경] 빅데이터의 정착 2. 빅데이터 시대의 데이터 분석 기반 3. 스크립트 언어에 의한 특별 분석과 데이터 프레임 4. BI 도구와 모니터링 Ch 2. 빅데이터의 탐색 1. 크로스 집계의 기본 2. 열 지향 스토리지에 의한 고속화 3. 애드 혹 분석과 시각화 도구 4. 데이터 마트의 기본 구조 Ch 3. 빅데이터의 분산 처리 1. 대규모 분산 처리의 프레임워크 2. 쿼리 엔진 3. 데이터 마트의 구축 Ch 4. 빅데이터의 축적 1. 벌크 형과 스트리밍 형의 데이터 수집 2. [성능×신뢰성] 메시지 배송의 트레이드 오프 3. 시계열 데이터의 최적화 4. 비구조화 데이터의 분산 스토리지 Ch 5. ..
-
[빅데이터 분석 기반의 구축] 클라우드 서비스책/빅데이터를 지탱하는 기술 2022. 4. 5. 15:54
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 아마존 웹 서비스 - Amazon S3: 객체 스토리지 - Amazon DynamoDB: NoSQL 데이터베이스 - Amazon EMR: Hadoop & Spark - Amazon Athena: 쿼리 엔진(Presto) - Amazon Elasticsearch: 검색 엔진 - Amazon Kinesis: 메시지 브로커 - Amazon Kinesis Streams: 스트림 처리 - Amazon Redshift: MPP 데이터베이스 - Amazon QuickSight: BI 도구 2. 구글 클라우드 플랫폼 - Google Cloud Storage: 객체 스토리지 - Google Cloud Datastore: NoSQL 데이터베이스 - Googl..
-
[빅데이터의 파이프라인] 3. 스트리밍 형의 데이터 플로우책/빅데이터를 지탱하는 기술 2022. 4. 5. 14:42
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 배치 처리와 스트림 처리로 경로 나누기 배치 처리를 중심으로 하는 데이터 파이프라인은 데이터를 분석할 수 있게 될 때까지 시간이 걸린다는 것이다. 그래서 집계 효율을 높이기 위해 열 지향 스토리지를 만드려고 해도 시간이 필요하다. 그래서 몇 초만에 결과를 알 수 있는 데이터 처리를 위해서는 별개의 계통으로 파이프라인을 만들어야 한다. 실시간성이 높은 데이터 처리 시스템 - 시스템 모니터링: 서버와 네트워크 상태를 감시하고 시간에 따라 그래프를 표시함 - 로그 관리 시스템: 운영체제의 시스템 이벤트나 로그 파일을 검색해 비정상적인 상태이면 경고를 생성함 - 복합 이벤트 처리(CEP): 다수의 업무 시스템으로부터 내려온 이벤트 데이터를 자동으로..
-
[빅데이터의 파이프라인] 2. 배치 형의 데이터 플로우책/빅데이터를 지탱하는 기술 2022. 4. 5. 13:40
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. MapReduce의 시대는 끝났다. 분산스토리지로의 데이터 전송이 완료되면, 분산 시스템의 프레임워크를 사용할 수 있다. 여기서 SQL로 데이터를 처리하는 것이 아니라 프로그래밍 언어로 데이터 파이프라인을 작성하고 싶은 경우도 있는데, 이전부터 MapReduce를 사용한 데이터 처리에서는 MapReduce 프로그램을 워크플로의 태스크로 등록함으로써 다단계의 복잡한 데이터 처리를 할 수 있었다. 그래서 데이터 플로우란 다단계의 데이터 처리를 그대로 분산 시스템의 내부에서 실행하는 것이라고 정의한다. 예를 들어서 Google Cloud Dataflow, Apache Spark, Apach Flink가 있다. MapReduce의 구조 MapRed..
-
[빅데이터의 파이프라인] 1. 워크플로 관리책/빅데이터를 지탱하는 기술 2022. 4. 4. 00:24
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. [기초 지식] 워크플로 관리 워크플로 관리 - 정해진 업무를 원할하게 진행하기 위한 구조 - 다수의 업무 시스템에 내장되어 있어 매일 매일의 태스크를 관리하는데 이용 - 이 구조가 정기적인 배치 처리의 실행에도 유용하여 데이터 처리 현장에서 자주 이용됨 워크플로 관리 도구와 태스크 - 태스크: 데이터 파이프라인에서 데이터가 이동하면서 정해진 처리를 반복함. 이때 개별 처리를 하나의 태스크라함 - 워크플로 관리 도구: 정기적으로 태스크를 실행하고, 비정상적인 상태를 감지하여 그것에 대한 해결을 돕는 도구 - ex) Airflow가 제일 유명하고, 이외에 Azkaban, Digdag, Luigi, Oozie등이 있다. 워크플로 관리 도구의 기능..
-
[빅데이터의 축적] 4. 비구조화 데이터의 분산 스토리지책/빅데이터를 지탱하는 기술 2022. 4. 2. 13:09
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. [기본 전략] NoSQL 데이터베이스에 의한 데이터 활용 빅데이터를 위한 분산 스토리지에는 객체 스토리지가 기본이 되어 사용한다. 장점 - 필요에 따라 얼마든지 확장할 수 있는 확장성 - 데이터를 구조화하지 않아도 저장할 수 있는 유연성 - 임의의 파일로 저장할 수 있음 단점 - 객체 스토리지상의 파일을 교체하려면 통째로 교체해야함 - 객체 스토리지는 열 지향 스토리지를 만들어서 집계를 하느라 시간이 걸린다. 그래서 데이터를 기록하고 바로 활용을 해야하는 경우에는 실시간 집계와 검색에 적합한 NoSQL 데이터베이스를 사용한다. NoSQL 데이터베이스의 종류는 분산 KVS, 와이드 컬럼 스토어, 도큐먼트 스토어, 검색 엔진이 있다. (분산 K..
-
[빅데이터의 축적] 3. 시계열 데이터의 최적화책/빅데이터를 지탱하는 기술 2022. 4. 2. 11:04
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 프로세스 시간과 이벤트 시간 클라이언트 상에서 메시지가 생성된 시간을 이벤트 시간, 서버가 처리하는 시간을 프로세스 시간이라고 한다. 이때 이벤트 시간과 프로세스 시간이 같으면 제일 좋겠지만, 보통 여러가지 사정에 의해 이벤트 시간과 프로세스 시간이 차이가 나는 편이다. 데이터 분석에 필요한 것은 이벤트 시간이기 때문에 이 차이를 잘 처리해주어야 한다. 프로세스 시간에 의한 분할과 문제점 만약 모바일 앱의 활동 사용자 수를 집계한다고 가정하면, 서버에 늦게 도달하는 데이터가 있을 경우 실제 집계 결과와 조금씩 차이가 난다는 것을 의미한다. 그래서 실제와 가까운 집계를 얻기 위해서는 이벤트 시간보다 며칠 정도 지난 시점에서 소급해 집계해야 한..
-
[빅데이터의 축적] 2. 메시지 배송의 트레이드 오프책/빅데이터를 지탱하는 기술 2022. 4. 1. 18:24
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 메시지 브로커 메시지 배송에 의해 보내진 데이터를 분산 스토리지에 저장할 때는 외부에서 보내오는 메시지의 양을 제어할 수 없기 때문에 디스크 쓰기의 성능 한계에 도달하여 쓸 수 없을 수도 있으므로 주의가 필요하다. 만약 성능 한계에 도달하면 클라이언트는 메시지를 다시 보내려고 하지만, 저장이 될리가 없어서 부하만 높아지고 아무것도 해결이 되지 않는다. 이것을 해결하려면 쓰기 성능을 높이거나 클라이언트가 재전송을 포기하고 부하가 떨어질 때까지 오류가 계속되는 상황을 맞이할 수 밖에 없다. 메시지 브로커 대량의 메시지를 안정적으로 받기 위해서는 성능이 매우 높고, 필요에 따라 성능을 더 올릴 수 있는 스토리지가 필요하다. 하지만 분산 스토리지는..