[빅데이터를 지탱하는 기술] 1.빅데이터의 기초 지식

Sooyeon·2024년 9월 21일
0

정리하며 읽기

목록 보기
47/50
post-thumbnail

[빅데이터를 지탱하는 기술]을 읽고- 1.빅데이터의 기초 지식


1.빅데이터의 기초 지식

1-1.[배경] 빅데이터의 정착

| 분산 시스템에 의한 데이터 처리의 고속화

-빅데이터의 취급하기 어려운 점을 극복한 두가지 대표 기술

빅데이터 기술의 요구 - Hadoop과 NoSQL의 대두

  • Hadoop
    1.다수의 컴퓨터에서 대량의 데이터 처리
    2.모여진 데이터를 나중에 집계하는 것이 목적
  • NoSQL 데이터베이스
    1.빈번한 읽기/쓰기 및 분산 처리가 강점
    2.전통적인 RDB의 제약을 제거하는 것을 목표로 한
    데이터베이스의 총칭
    3.RDB보다 고속의 읽기,쓰기가 가능,분산 처리에 뛰어남
    4.어플리케이션에서 온라인으로 접속하는 데이터베이스
NoSQL 데이터베이스에는 다양한 종류가 있음 
1.다수의 키와 값을 관련지어 저장하는 '키 밸류 스토어'
2.JSON과 같은 복잡한 데이터 구조를 저장하는 '도큐멘트 스토어'
3.여러 키를 사용하여 높은 확장성을 제어하는 '와이어드 칼럼 스토어'등이 있다. 

Hadoop과 NoSQL 데이터베이스의 조합

=> NoSQL 데이터베이스에 기록하고
Hadoop으로 분산 처리하기'라는 흐름이 정착


1-2.빅데이터 시대의 데이터 분석 기반

데이터 파이프라인 - 데이터 수집에서 워크플로 관리까지

  • 일반적으로 차례대로 전달해나가는 데이터로 구성된 시스템
    => 데이터 파이프라인은 어디에서 데이터를 수집하여 무엇을 실현하고 싶은지에 따라 변화한다.

데이터 수집 - 벌크형과 스트리밍 형의 데이터 전송

데이터 파이프라인은 데이터를 모으는 부분부터 시작한다.
데이터 전송의 방법은 크게 다음의 두가지가 있다. 
- 벌크형
이미 어딘가에 존재하는 데이터를 정리해 추출하는 방법
정기적으로 데이터를 수집하는 데에 사용한다.
- 스트리밍형 
차례차례로 생성되는 데이터를 끊임없이 계속해서 보내는 방법 
모바일어플리케이션과 임베디드 장비 등에서 널리 데이터를 수집하는데 사용된다. 

스트림 처리와 배치 처리

  • 스트림 처리
    데이터를 실시간으로 처리하는 방법
    단, 장기적인 데이터 분석에는 적합하지 않다.
  • 배치 처리
    대량의 데이터를 처리하는데 적합한 방법

분산 스토리지 - 객체 스토리지,NoSQL 데이터 베이스

데이터를 저장하는 방법의 대표적인 것이 '객체 스토리지'
=> 한 덩어리로 모인 데이터에 이름을 부여해서 파일로 저장한다.

분산 데이터 처리 - 쿼리 엔진,ETL 프로세스

  • 분산 스토리지에 저장된 데이터를 처리하는 데는
    분산 데이터 처리의 프레임워크가 필요하다.
  • 분산 데이터 처리의 역할
    분석하기 쉽도록 데이터를 가공해서
    그 결과를 외부 데이터베이스에 저장하는 것이다.
빅데이터를 SQL로 집계할 때는 두가지 방법이 있다. 
1.분산 스토리지 상의 데이터를 SQL로 집계하기 위해
'쿼리 엔진'을 도입하는 것 
ex) HIVE ,대화형 쿼리 엔진 
2.외부의 데이터 웨어하우스 제품을 이용하는 것 
=>분산스토리지에서 추출한 데이터를 데이터 웨어하우스에 적합한
형식으로 변환한다.이 절차를 ETL프로세스라고 한다. 
즉, 데이터를 추출,가공,로드하는 의미 

워크플로 관리

전체 데이터 파이프라인의 동작을 관리하기 위해서
워크플로 관리 기술을 사용한다.
=>매일 정해진 시간에 배치 처리를 스케줄대로 실행하고,
오류가 발생한 경우에는 관리자에게 통지하는 목적으로 사용

ETL프로세스
1.데이터베이스 바깥에서 데이터를 가공하는 경우(ETL)
2.데이터를 읽어들인 후에 가공하는 경우(ELT)

| 데이터 웨어하우스와 데이터 마트 - 데이터 파이프라인 기본형

데이터 웨어하우스 
일반적인 RDB와는 달리 '대량의 데이터를 장기 보존하는것'에 
최적화되어 있다. 
=> 정리된 데이터를 한 번에 전송하는 것은 뛰어나지만, 
소량의 데이터를 자주 쓰고 읽는 데는 적합 하지 않다. 

ETL 프로세스 
데이터 소스에 보존된 로우 데이터를 추출하고 필요에 따라 
가공한 후, 데이터 웨어하우스에 저장하기 까지의 흐름

데이터 마트 
데이터 웨어하우스에서 필요한 데이터만을 추출하여 구축한다. 
BI도구와 조합시키는 형태로 데이터를 시각화하는데에도 사용된다.

| 데이터 레이크 - 데이터를 그대로 축적

  • 데이터의 축적 장소를 데이터 레이크라고 한다.
    => 임의의 데이터를 저장할 수 있는 분산 스토리지가 데이터 레이크로 이용된다.
  • 대부분 csvjson등의 범용적인 텍스트 형식
  • 데이터 웨어하우스데이터 레이크로 치환하면,
    데이터 파이프라인을 구축할 수 있다.
    (미가공의 원시 데이터를 그대로 저장소에 저장한다)
    =>데이터 레이크에서는 모든 데이터를 그대로 저장하고, 나중에 필요한 것만을 꺼내서 사용한다.

데이터 레이크와 데이터 마트

- 필요한 데이터는 데이터 마트에 정리
  • 데이터 레이크는 단순한 스토리지이며,
    그것만으로는 데이터를 가공할 수 없다.
    => 그래서 사용되는 것이
    MapReduce등의 분산 데이터 처리 기술이다.

| 확증적 데이터 분석과 탐색적 데이터 분석

  • 확증적 데이터 분석
    가설을 세우고 그것을 검증하는 것
    => 통계학적 모델링에 의한 데이터 분석
  • 탐색적 데이터 분석
    데이터를 보면서 그 의미를 읽어내려고 하는 것
    =>데이터를 시각화하여 사람의 힘으로 그 의미를 읽는다.

0개의 댓글