본문 바로가기

데이터 엔지니어링/[도서] 빅데이터를 지탱하는 기술

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

본 게시물은 '제이펍' 출판사에서 출판한 니시다 케이스케 저자의 '빅데이터를 지탱하는 기술'이라는 도서를 읽고 요약한 내용으로, 블로그 게재에 대한 출판사의 동의를 얻었음을 알려드립니다.

- 도서 구매 링크 : https://product.kyobobook.co.kr/detail/S000001916916


Chapter 1. 빅데이터의 기초지식

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

1) 분산 시스템에 의한 데이터 처리의 고속화 : 빅데이터의 취급하기 어려운 점을 극복한 두 가지 대표기술

- '빅데이터'라는 단어가 대중화된 것은 2011년~2022년에 걸쳐 많은 기업들이 데이터 처리에 분산시스템을 도입하기 시작했을 무렵

- 빅데이터의 취급이 어려운 이유

   ① 데이터의 분석 방법을 모른다.    ② 데이터 처리에 수고와 시간이 걸린다. (본 책이 다루는 내용)

 

[ 빅데이터 기술의 요구 : Hadoop과 NoSQL의 대두 ]

 

그림 1.1 Hadoop과 NoSQL의 위치관계 - 웹 서버 등에서 생성된 데이터는 처음에는 RDB와 NoSQL 등의 텍스트 데이터에 저장된다. 그 후 모든 데이터가 Hadoop으로 모이고, 거기서 대규모 데이터 처리가 실행된다.

- RDB로는 취급할 수 없을만큼 대량의 데이터가 쌓이게 되자 기존과는 다른 구조가 필요

   →  'Hadoop', 'NoSQL'  탄생 (그림 1.1)

 

[ NoSQL 데이터베이스 : 빈번한 읽기/쓰기 및 분산처리가 강점 ]

- 전통적인 RDB의 제약을 제거하는 것을 목표로 한 데이터베이스의 총칭

- NoSQL 종류 

    ① Key - Value Store : 다수의 키와 값을 관련지어 저장

    ② Document Store : JSON과 같은 복잡한 데이터 구조를 저장

    ③ Wide-Column Store : 여러 키를 사용하여 높은 확장성을 제공

- 일반적으로 RDB보다 고속의 읽기, 쓰기가 가능하고 분산처리에 뛰어남

- 애플리케이션에서 온라인으로 접속하는 데이터베이스 (Hadoop : 모여진 데이터를 나중에 집계하는 것이 목적)

 

[ Hadoop : 다수의 컴퓨터에서 대량의 데이터 처리 ]

다수의 컴퓨터에서 대량의 데이터를 처리하기 위한 시스템

- 구글 분산처리 프레임워크 'MapReduce'를 참고하여 제작 (MapReduce의 구조는 5장 참고)

- 2009년에 SQL과 같은 쿼리언어를 Hadoop에서 실행하기 위한 소프트웨어로 'Hive'가 개발 → 이후 사용자 확대

 

[ Hadoop과 NoSQL 데이터베이스의 조합 : 현실적인 비용으로 대규모 데이터 처리 실현 ]

- 이 둘을 조합함으로써 NoSQL 데이터베이스에 기록하고 Hadoop으로 분산처리하기라는 흐름이 2011년 말까지 정착하게 되었고, 2012년부터 일반에 널리 퍼지게 되었음.

 

2)  분산 시스템의 비즈니스 이용 개척 - 데이터 웨어하우스와의 공존

분산시스템의 발전에 따라 DW 대신 Hadoop을 사용하는 경우가 증가 → 대량의 데이터를 보존/집계하기위해서 Hadoop과 Hive를 사용하게 되었고, 이 때 사용하게된 키워드가 바로 '빅데이터'

- 전통적인 DW에서도 대량의 데이터를 처리할 수 있으며, 오히려 Hadoop보다 우수한 부분이 많지만 일부 DW 제품은 HW+SW 통합 장비로 제공되었기에 용량 증설을 위해서는 HW를 교체해야 하는 등 확장성에 제한이 있었음.

- 따라서 가속도적으로 늘어나는 데이터의 처리는 Hadoop에 맡기고, 비교적 작은 데이터, 또는 중요한 데이터만을 데이터 웨어하우스에 넣는식으로 구분하게 되었음 (그림 1.2)

 

그림 1.2 Hadoop에 의한 데이터 웨어하우스의 증가

 

3)  직접 할 수 있는 데이터 분석 폭 확대 - 클라우스 서비스와 데이터 디스커버리로 가속하는 빅데이터의 활용

- 위와 비슷한 시기부터 클라우드 서비스의 보급에 의해 빅데이터의 활용이 증가하였고, '여러 컴퓨터에 분산 처리한다.'라는 점이 빅데이터의 특징이다.

- 이를 위한 하드웨어를 준비/관리하는 일이 간단하지 않은데,  클라우드 시대인 요즘은 시간단위로 필요한 자원을 확보할 수 있음

시 기 이벤트  서비스의 특징
2009년 4월 Amazon Elastic MapReduce 발표 클라우드를 위한 Hadoop
2010년 5월 구글 Big Query 발표 데이터 웨어하우스
2012년 10월 Azure HDInsight 클라우드를 위한 Hadoop
2012년 11월 Amazon Redshift 발표 데이터 웨어하우스
→ 클라우드 상에서 DW를 작성하는 일이 대중화

 

[ (Column) 스몰 데이터와 빅데이터의 활용 : 스몰 데이터의 기술도 중요 ]

-  스몰 데이터 : 빅데이터와의 비교로 기존 기술을 이용해서 취급할 수 있는 작은데이터로, 레코드 수로는 약 수백만에서 수천만 건, 데이터 양으로 따지면 수 GB까지

- 스몰 데이터와(EXCEL, CSV파일 등) 빅데이터 처리방법을 적재적소로 구사하는 것이 이상적

빅데이터와 스몰 데이터 - 스몰 데이터의 기술에서는 데이터양이 증가하면 처리 시간이 급증한다. 빅데이터 기술의 경우, 시간의 증가는 억제되지만, 데이터 양이 적은 상황에서는 스몰 데이터 기술이 더 우수하다.

 

[ 데이터 디스커버리의 기초지식 - 셀프서비스용 BI 도구 ]

> 데이터 디스커버리 

- 대화형으로 DW에 저장된 데이터를 시각화하여 가치 있는 정보를 찾으려고 하는 프로세스

- 셀프서비스용 BI 도구(앞으로 본책에서는 BI도구라고 한다.)  : 데이터 디스커버리를 위한 셀프서비스 용도의 BI 도구 

 

> BI도구

- 데이터 웨어하우스와 조합되어 사용된 경영자용 시각화 시스템으로 셀프서비스용 BI도구는 이것을 개인도 도입할 수 있을 정도로 단순화한 것

 

> 데이터 처리 발전 현황

- Map Reduce보다 효율적인 데이터 처리 : Apache Spark(3장에서 상술)와 같은 새로운 분산 시스템용 프레임워크가 보급

- 배치처리 뿐만아니라 실시간 데이터 처리를 위한 시스템도 많이 출시, 대규모 데이터 분석 업무의 기술적 제약이 없어짐