prologue
2월 1일부터 새로운 회사를 다니면서, 적응하기에 정신없었네요.
한 달간 회사를 다니면서 블로그 운영이 쉽지 않았는데요. 특히 앞으로 어떤 내용의 지속 가능한 컨텐츠를 올려야 할까 고민이 많았습니다.
생각하다 지금까지의 경험을 정리 함과 동시에 앞으로의 방향까지 고려해볼 수 있는 컨텐츠를 작성해보는게 좋다는 결론을 내렸습니다.
그 과정에서 좋은 책이라고 추천받았던 '빅데이터를 지탱하는 기술'이라는 책에 대해 정리와 동시에 나름의 정리를 하며 올려보는게 좋을 것 같다 생각했습니다.
가장 큰 목표는 내용이 조금 부실해도 꾸준하게 올리는 것입니다.

chapter 1 빅데이터의 기초 지식
chapter1에서는 빅데이터와 연관된 기술이 생겨난 히스토리를 돌아보고 그 기본에 대한 사고와 용어를 정리해보는 것입니다.
1-1 빅데이터의 정착
분산 시스템에 의한 데이터 처리의 고속화
빅데이터를 다루기 어려운 이유 두 가지
빅데이터의 취급이 어려운 이유는
- 데이터의 분석 방법을 모른다.
-> 데이터가 있어도 제대로 활용하지 못하는 문제입니다.
- 데이터 처리에 수고와 시간이 걸린다.
-> 활용방법을 알아도 시간과 비용이 지나치게 소모된다면, 기회비용 상 활용하기 어려울 것입니다.
빅데이터라는 기술의 대표적인 키워드 'Hadoop'과 'NoSQL'
이번 포스트에서 가장 대표적인 키워드가 될 것 같습니다.
기존의 전산에 의해 생성되는 Oracle 시스템 등의 RDB에 의해 생성되는 데이터와 빅데이터를 구분하게 되는 구분점이라고 할 수 있을 것 같습니다.
이 둘에 대한 충족 요구를 정리해보겠습니다.
1) Hadoop
만약 전 세계의 웹 페이지에 대한 정보를 모두 다 저장한다고 가정해보겠습니다.
용량이 어마 어마 하겠죠.
이 상황에서 말도 안 되지만, 10년 전에 정말 성능이 좋은 한 대의 서버에서 처리할 수 있다고 가정해보겠습니다.
10년 전인 2011년에는 모든 사이트에 대한 저장이 가능했다면, 2021년인 지금은 기하적으로 많이 증가했을 것입니다. 결국 물리적으로 디스크를 더 꽂고 메모리를 올리는 데에는 한계에 다 다를 것입니다.(Scale UP의 개념)
그러나 여러 대의 서버로(100대 정도라 가정) 이 정보를 저장했다고 하면, 서버를 더 증설하면(300대를 증설) 쉽게 해결이 됐을 것입니다.(Scale Out의 개념)
Hadoop은 이 처럼 다수의 서버에서 대량의 데이터를 처리하기 위한 시스템입니다. 이 중에서 특별히 분산되어 있는 데이터를 처리하는 프레임워크인 'MapReduce'를 통해 시작되었습니다.
이 MapReduce를 사용하기 위해서는 Java 프로그래밍을 필요로 했습니다. 그러나 기존의 데이터 질의는 SQL을 통해 진행됐기 때문에 이 MapReduce를 SQL 기반으로 연동해주는 Hive가 나오고 사용하게 됐습니다.
그리고 이후로 관련 Hadoop Eco System이 많이 나오게 되면서 기능이 보완되고 더욱더 많은 사용이 가능해졌습니다.

2) NoSQL
빅데이터를 얘기하면서 빼놓을 수 없는 영역이 NoSQL 입니다. No 또는 NotOnly라는 의미를 내포하고 있는 NoSQL은 기존의 관계형 데이터베이스(RDB)를 제약사항을 벗어난 데이터베이스를 총칭하는 것입니다.
NoSQL의 종류로는
- 여러 개의 Key와 Value를 저장하는 키-밸류 스토어(Key-Value Store/KVS)
- JSON과 같이 복잡한 데이터 구조를 저장하는 다큐멘트 스토어(document Store)
- 여러키를 사용하는 와이드 컬럼 스토어(Wide Column Store)
가 있습니다.
이 처럼 NoSQL은 각자의 목적에 맞춰져 사용되고 있습니다. 그리고 RDB와의 우열 비교보다는 각자의 사용목적이 다르다는 것을 이해하는게 중요하다고 생각합니다.
성능적인 차이를 본다면 RDB는 Transaction과 정합성에 초점이 맞춰진 데이터베이스라면 NoSQL은 RDB 보다는 고속의 읽기와 쓰기가 가능하고 분산처리에 뛰어다는 점이 특징입니다.
3) Hadoop&NoSQL의 조합
위에서 설명드린 Hadoop&NoSQL의 기능으로 보아 빅데이터에서는 NoSQL DB로는 데이터를 기록하고 Hadoop으로 이를 처리하는 형태가 2011년 말에 정착되었고 2012년부터 다양하게 사용되기 시작했습니다.
'Big Data > 빅데이터를 지탱하는 기술' 카테고리의 다른 글
데이터 엔지니어와 데이터 분석가 그리고 데이터 사이언티스트 (0) | 2021.07.03 |
---|---|
데이터 웨어하우스, 데이터 마트 그리고 데이터 레이크 (0) | 2021.04.25 |
Data Pipeline(데이터 파이프라인) (0) | 2021.03.16 |