# 빅데이터를 지탱하는 기술 - 빅데이터의 정착

- Author: @mildsalmon
- Published: 2021-10-24
- Updated: 2021-10-24
- Source: http://blex.me/@mildsalmon/%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-%EC%A7%80%ED%83%B1%ED%95%98%EB%8A%94-%EA%B8%B0%EC%88%A0-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9D%98-%EC%A0%95%EC%B0%A9
- Tags: 빅데이터, 책

---

> 제 마음대로 요약하고 정리하는 것이라 빠진 내용들이 많습니다. 시간적 여유가 있으시면, 책을 구매하셔서 읽어보시는 것을 권유드립니다.

# 1. 빅데이터의 정착

"분산 시스템의 발전"과 "클라우드 서비스의 보급"에 따라 대량의 데이터를 효율적으로 처리하는 일이 점차 어렵게 되었다. 이 절에서는 "빅데이터"라는 단어가 퍼질 때까지의 역사를 되돌아본다.

![](https://static.blex.me/images/content/2021/10/24//2021_10_24_13_5hhqwa1QujPRSzCZI0xU.jpg)

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

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

- 빅데이터의 취급이 어려운 이유
	- "데이터의 분석 방법을 모른다"는 점
	- "데이터 처리에 수고와 시간이 걸린다"는 점

이 책의 목적은 알고 싶은 정보가 이미 있다는 전제하에서 그것을 **어떻게 효율적으로 실행할 것인가?** 를 생각하는 것이다. 가능한 적은 노력으로 원하는 정보를 얻을 수 있도록 지금 어떠한 기술이 사용되는지 살펴보자.

![](https://static.blex.me/images/content/2021/10/24//2021_10_24_13_ivi5JRcuGthU0CujpEjW.jpg)

##### a. 빅데이터 기술의 요구

> Hadoop과 NoSQL의 대두

빅데이터의 기술로 가장 먼저 예로 들 수 있는 것이 'Hadoop'과 'NoSQL'이다.

전통적인 관계형 데이터베이스(RDB)로는 취급할 수 없을 만큼 대량의 데이터가 점차 쌓이게 되었다. 그렇게 축적된 데이터를 처리하려면 기존과는 다른 구조가 필요했다. Hadoop과 NoSQL은 각각 다른 요구를 충족하기 위해 태어났다.

![](https://static.blex.me/images/content/2021/10/24//2021_10_24_13_FZCvl5jbnAaMntEWlGNG.jpg)

##### b. Hadoop

> 다수의 컴퓨터에서 대량의 데이터 처리

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

Hadoop은 구글에서 개발된 분산 처리 프레임워크인 **MapReduce**를 참고하여 제작되었다. 초기 Hadoop에서 MapReduce를 동작시키려면 데이터 처리의 내용을 기술하기 위해 자바 언어로 프로그래밍을 해야 했다. 그렇기에 누구나 간단히 사용하지 못했다.

그래서 SQL과 같은 쿼리 언어를 Hadoop에서 실행하기 위한 소프트웨어로 **Hive**가 개발되어 2009년에 출시되었다. Hive를 통해 프로그래밍 없이 데이터를 집계할 수 있게 함으로써 많은 사람이 Hadoop을 이용한 분산 시스템의 혜택을 받을 수 있게 되었다.

##### c. NoSQL 데이터베이스

> 빈번한 읽기/쓰기 및 분산 처리가 강점

NoSQL은 전통적인 RDB의 제약을 제거하는 것을 목표로 한 데이터베이스의 총칭이다. NoSQL 데이터베이스에는 다양한 종류가 있다.

- 키 밸류 스토어 (key-value store/KVS)
	- 다수의 키와 값을 관련지어 저장
- 도큐멘트 스토어 (document store)
	- JSON과 같은 복잡한 데이터 구조를 저장
- 와이드 칼럼 스토어 (wide-column store)
	- 여러 키를 사용하여 높은 확장성을 제공

NoSQL 데이터베이스 제품은 각자가 추구하는 목표가 다르므로 단순 비교를 할 수는 없지만, RDB보다 고속의 읽기, 쓰기가 가능하고 분산 처리에 뛰어나다.

##### d. Hadoop과 NoSQL 데이터베이스의 조합

> 현실적인 비용으로 대규모 데이터 처리 실현

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

방대한 규모로 계속 증가하는 데이터에 대해, 기존의 기술로는 불가능하거나 고가의 하드웨어가 필요한 경우에도 **현실적인 비용으로 데이터를 처리할 수 있게 된** 것이 당시의 기술적인 배경이다.

### B. 분산 시스템의 비즈니스 이용 개척

> 데이터 웨어하우스와의 공존

데이터 웨어하우스에서도 대량의 데이터를 처리할 수 있으며, 오히려 여러 방면에서 Hadoop보다도 우수하다. 하지만 일부 데이터 웨어하우스 제품은 안정적인 성능을 실현하기 위해 하드웨어와 소프트웨어가 통합된 통합 장비(appliance)로 제공되었다. 데이터 용량을 늘리려면 하드웨어를 교체해야 하는 등 나중에 확장하기가 쉽지 않았다.

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

![](https://static.blex.me/images/content/2021/10/24//2021_10_24_13_pv4eWENpTTfd0yMbHVJo.jpg)

### C. 직접 할 수 있는 데이터 분석 폭 확대

> 클라우드 서비스와 데이터 디스커버리로 가속하는 빅데이터의 활용

비슷한 시기부터 클라우드 서비스의 보급에 의해 빅데이터의 활용이 증가하였다. **여러 컴퓨터에 분산 처리한다**라는 점이 빅데이터의 특징이다. 하지만 이를 위한 하드웨어를 준비하고 관리하는 일은 간단하지 않다. 클라우드 시대인 요즘은 시간 단위로 필요한 자원을 확보할 수 있어서 방법만 알면 언제든지 이용할 수 있는 환경이 마련되었다.

##### a. 데이터 디스커버리의 기초지식

> 셀프서비스용 BI 도구

데이터 디스커버리란 "대화형으로 데이터를 시각화하여 가치 있는 정보를 찾으려고 하는 프로세스"를 말한다.

데이터 디스커버리는 "셀프서비스용 BI 도구"로 불린다. BI 도구(business intelligence tool) 는 예전부터 데이터 웨어하우스와 조합되어 사용된 경영자용 시각화 시스템으로 대기업의 IT부서에 의해 도입되는 대규모의 도구다. 셀프서비스용 BI 도구는 이것을 개인도 도입할 수 있을 정도로 단순화한 것으로, 이로 이해 점차 많은 사람이 데이터를 살펴볼 수 있게 되었다.

![](https://static.blex.me/images/content/2021/10/24//2021_10_24_13_7FS3uOsnIGnKWtJa5xit.jpg)

# 참고문헌

[1] 니시다 케이스케, 장성두 옮김, "빅데이터를 지탱하는 기술", 3쇄, 제이펍, 2021년
