책
-
[빅데이터의 축적] 1. 벌크 형과 스트리밍 형의 데이터 수집책/빅데이터를 지탱하는 기술 2022. 4. 1. 00:51
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 벌크 형과 스트리밍 형 데이터에 대한 기본적인 내용 - https://hello70825.tistory.com/412 1. 객체 스토리지와 데이터 수집 빅데이터는 대부분 확장성이 높은 분산 스토리지에 저장되는데, 이것은 대량으로 파일을 저장하기 위한 객체 스토리지이다. 객체 스토리지에서의 파일 읽고 쓰기는 네트워크를 거쳐서 실행한다. 데이터는 항상 여러 디스크에 복사되어 데이터를 손실하지 않고, 데이터의 읽고 쓰기도 여러 하드웨어에 분산되어서 데이터의 양이 늘어나도 성능이 떨어지지 않는다. 하지만 객체 스토리지는 데이터양이 적을 때 비효율적이다. 데이터 수집 시계열 데이터는 수시로 객체 스토리지에 기록하면 대량의 작은 파일이 생성되어 시간이 지나..
-
[빅데이터의 분산 처리] 3. 데이터 마트의 구축책/빅데이터를 지탱하는 기술 2022. 3. 30. 12:28
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 팩트 테이블 팩트 테이블의 크기가 클 경우에는 열 지향 스토리지에서 데이터를 압축해야 빠르게 데이터 집계를 할 수 있다. 팩트 테이블 작성에는 기존에 저장한 데이터에 새로 도착한 데이터 추가하는 추가(append)와 과거의 데이터를 포함하여 팩트 테이블 전체를 다시 만드는 치환(replace)이 있다. SQL 쿼리로 따지면 추가는 INSERT INTO와 같고, 치환은 CREATE TABLE과 같다. 테이블 파티셔닝 팩트 테이블에 추가를 하는 방식으로 데이터를 추가하면 아래와 같은 문제가 발생할 수 있다. - 추가에 실패가 발생하면 결손이 일어나고, 잘못하고 같은 추가를 여러 번 실행하게 된다면 중복이 일어날 수 있다. - 나중에 팩트 테이블..
-
[빅데이터의 분산 처리] 2. 쿼리 엔진책/빅데이터를 지탱하는 기술 2022. 3. 29. 15:03
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 데이터 마트 구축의 파이프라인 Hive의 역할 - 아래 과정은 많은 데이터를 가공하기 때문에 배치형 쿼리 엔진인 Hive를 사용한다. 1. 분산 스토리지에 저장된 데이터를 구조화한다. 2. 구조화 데이터를 열 지향 스토리지 형식으로 저장한다. Presto의 역할 - 열 지향 스토리지를 이용한 쿼리 실행에서는 SQL 쿼리 실행을 전문적으로 처리하는 대화형 쿼리 엔진인 Presto를 사용하여 시간을 단축한다. 1. 구조화 데이터를 결합, 집계하고 비정규화 테이블로 데이터 마트에 써서 내보낸다. 2. Hive에 의한 구조화 데이터 작성 외부 테이블 - Hive의 외부에 있는 특정 파일을 참고해 마치 거기에 테이블이 존재하는 것처럼 읽어들이기 위해..
-
[빅데이터의 분산 처리] 1. 대규모 분산 처리의 프레임워크책/빅데이터를 지탱하는 기술 2022. 3. 25. 00:03
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 구조화 데이터와 비구조화 데이터 - 구조화 데이터, 비구조화 데이터, 반구조화 데이터 SQL로 데이터를 집계하는 경우 먼저 스키마를 설계한다. 스키마가 명확하게 정의된 데이터를 구조화 데이터라고 하는데, 기존의 데이터 웨어하우스에 있는 데이터는 항상 구조화된 데이터로 축적하는 것이 일반적이였다. 하지만 빅데이터는 스키마가 없는 자연어나 동영상, 이미지와 같이 구조화된 데이터가 아닌 데이터도 저장해야한다. 이때 이런 스키마가 없는 데이터를 비구조화 데이터라고 하고, 데이터 레이크가 이런 비구조화 데이터들을 저장한다. 스키마리스 데이터(반구조화 데이터)도 있는데, 이것은 서식은 정해져있지만 칼럼 수나 데이터형이 명확하지 않은 데이터를 말한다. ..
-
[빅데이터의 탐색] 4. 데이터 마트의 기본 구조책/빅데이터를 지탱하는 기술 2022. 3. 23. 15:36
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 시각화에 적합한 데이터 마트 만들기 OLAP(OnLine Analytical Processing) 구조는 BI 도구에 있어서 핵심적인 개념 중 하나이다. 데이터 디스커버리를 위한 BI 도구는 OLAP의 개념을 몰라도 사용할 수 있도록 고안되어 있기 때문에 상관 없지만, 데이터 마트를 구축할 때는 OLAP 개념 지식이 필요하다. - 다차원 모델과 OLAP 큐브 OLAP는 데이터 집계를 효율화하는 접근 방법이다. RDB는 표 형식으로 모델링된 데이터를 SQL로 집계한다면, OLAP는 다차원 모델의 데이터 구조를 MDX 등의 쿼리 언어로 집계한다. 이렇게 데이터 분석을 위해 만들어진 다차원 데이터를 OLAP 큐브라고 부르며, 그것을 크로스 집계하..
-
[빅데이터의 탐색] 3. 애드 혹 분석과 시각화 도구책/빅데이터를 지탱하는 기술 2022. 3. 23. 15:34
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. Jupyter Notebook에 의한 애드 혹 분석 어떤 데이터 분석이라도 처음에는 어떤 데이터가 어디에 있는지 알지 못하기 때문에 애드 혹 분석을 사용한다. 주피터 노트북에서 데이터를 시각화하는 라이브러니는 제일 유명한 matplotlib가 있다. 그리고 주피터 노트북에는 간이적인 워크플로의 실행도 있는데, 바로 Kernel - Restart & Run All이다. 거기다가 느낌표(!)로 명령어를 시작하여 모든 외부 명령어를 실행할 수 있다. 2. 대시보드 도구 정기적으로 쿼리를 실행해 보고서를 작성하거나 주요 그래프를 모아서 대시보드를 작성하려고 하면, 먼저 대시보드를 만들어야한다. - 대시보드 도구 vs BI 도구 대시보드 도구와 BI..
-
[빅데이터의 탐색] 2. 열 지향 스토리지에 의한 고속화책/빅데이터를 지탱하는 기술 2022. 3. 23. 15:28
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 데이터베이스의 지연 줄이기 데이터 양이 많아지면 집계하는데 오랜 시간이 걸릴 수도 있기 때문에 데이터를 오래 집계하는 것을 예상해서 시스템을 구축해야 한다. 그래서 데이터 집계에서는 빠르면 빠를수록 좋지만, 크로스 집계가 항상 초 단위로 응답할 수 있게 크로스 집계를 중심으로 구축을 해야 한다. - 데이터 처리의 지연 데이터 처리의 응답이 빠르다 = 대기 시간이 적다 = 지연이 적다 데이터 마트를 만들 때는 지연이 적은 데이터베이스가 있어야 하는데, 가장 간단한 방법은 모든 데이터를 메모리에 올리는 것이다. 메모리에 모든 데이터를 올릴 수 있는 경우 데이터 마트는 RDB를 사용하는 것이 적합한데, 단점은 메모리 용량이 부족할 경우 성능이 급..
-
[빅데이터의 탐색] 1. 크로스 집계의 기본책/빅데이터를 지탱하는 기술 2022. 3. 23. 15:28
이 글은 빅데이터를 지탱하는 기술을 읽고 정리한 글입니다. 1. 트랜잭션 테이블, 크로스 테이블, 피벗 테이블 - 크로스 테이블 행 방향으로는 어떤 것에 대한 이름이 나열되고, 열 방향으로는 해당 이름에 대응되는 숫자 값이 나타난다. 이렇게 행과 열이 교차하는 부분에 숫자 데이터가 들어가는 것을 크로스 테이블이라고 부른다. 크로스 테이블은 사람들이 보기 편하지만 데이터베이스에서는 다루기 어렵다. - 트랜잭션 테이블 트랜잭션 테이블은 크로스 테이블과 다르게 데이터가 무조건 행 방향으로 추가가 되고, 열 방향으로 데이터가 증가되지 않기 때문에 데이터베이스에서 다루기 쉬운 데이터이다. 이때 트랜잭션 테이블을 크로스 테이블로 변환하는 과정을 크로스 집계라고 한다. - 룩업 테이블 트랜잭션 테이블과 다른 테이블을..