주말동안 두 권의 책을 읽었다.
한 권은 빅데이터 기초-개념,동인,기법
다른 한 권은 인공지능 시대의 비즈니스 전략
두 책의 성격이 달라서 따로 정리해둘까 하다가,
오히려 그렇기 때문에 생각할 수 있었던 부분들을
함께 기록해두기로 했다.
1. 빅데이터 기초 - 개념, 동인, 기법
먼저 이 책은 빅데이터에 관련된 용어들과 함께,
제목 그대로 개념과 동인, 사용되는 기법들을
이해할 수 있는 교과서같은 책이었다.
마치 대학에서 빅데이터 기초나, 개론 수업이 있다면
그런 수업에 사용될 것 같은 교재인 느낌이었고
개인적으로는 ADsP 공부를 한 후라서인지
겹치는 개념들이 꽤 많이 나와서 재밌게 읽었다.
인상깊었던 부분 몇 가지가 있다.
(개인적인 생각이라 사실과는 다를 수 있다)
(1) 첫 번째는 CAP 정리.
브루어의 정리라고도 알려진 CAP 정리는 분산 데이터베이스 시스템과 관련된 세 가지의 제약 조건을 보여주는데, 다음 세 가지 속성 중 두 가지만 제공할 수 있다.
"일관성(Consistency)" : 노드에 무관하게 읽기 작업은 동일한 데이터를 생성한다.
"가용성(Availability)" : 읽기 및 쓰기 요청은 항상 성공 또는 실패의 형태로 확인된다.
"분할 포용성(Partition tolerance)" : 데이터베이스 시스템은 클러스터를 여러 개의 사일로로 분할시키는 통신 중단에도 불구하고 읽기 및 쓰기 요청을 처리한다.
*분산 데이터베이스에서 완전한 분할 포용성을 항상 지원해주어야 하므로, 일반적으로 C+P 또는 A+P를 선택한다.
CAP 정리가 재미있게 여겨졌던 이유는, 빅데이터 처리와 관련된 기본 법칙인 SCV 원칙과 굉장히 비슷하다는 느낌이 들었기 때문이다. CAP 정리가 분산 데이터 저장과 관련이 있다면, SCV 원칙은 분산 데이터 처리와 관련이 있다. 분산 데이터 처리 시스템은 다음 세 가지 요구사항 중 두 가지만 지원하도록 설계된다.
"속력(S)" : 생성된 데이터를 얼마나 빨리 처리할 수 있는지.
"일관성(C)" :결과의 정확성(정확한 값에 가까운지)과 정밀성(각각이 유사한지)
"용량(V)" : 처리할 수 있는 데이터의 양.
일반적으로는 데이터의 손실을 막기 위해서 용량을 중요하게 생각한다는 점에서, 용량과 분할 포용성이 비슷하다.
분산데이터베이스에서 노드를 추가하면 노드 간 통신 증가로 대기 시간이 늘어 가용성이 저하되는데, 이러한 점에서는 가용성과 속력 또한 유사하다고 생각했다.
SCV 원칙은 단번에 이해가 되는데, 아직 데이터베이스에 익숙하지 않은 내게 CAP 정리는 어렵게 느껴졌고, 유사한 벤 다이어그램으로 표현되는 CAP가 그래서 더 재미있게 느껴졌다.
(2) 하둡과 맵리듀스
"하둡"은 "빅데이터" 하면 많은 사람들이 단번에 떠올리는 단어 중 하나일 것이다.
일반적으로 병렬 데이터 처리, 분산 데이터 처리와 함께 떠오르면서 빠르게 업무를 처리할 수 있으니 실시간 처리에는 유용할 것이라고 생각했는데 그렇지 않다는 점을 알게 되었다.
정확히 말해서 하둡은 맵리듀스 처리 프레임워크를 수행한다고 할 수 있는데, 맵리듀스는 일반적으로 실시간 처리에는 유용하지 않다. 왜냐하면 맵리듀스는 점진적으로 데이터를 처리할 수 없고 전체 데이터 집합만 처리할 수 있으니, 데이터 처리 작업을 실행하기 전에 모든 입력 데이터를 완전히 사용할 수 있어야 하는데, 실시간 처리는 불완전하고 스트림을 통해 데이터가 연속적으로 도착하기 때문이다.
그래서 전략이 필요하게 되는데, 인메모리 저장 장치를 사용해서 맵리듀스 작업으로 구성된 대화형 쿼리에 대한 입력으로 사용되는 데이터를 저장하거나, 또는 비교적 작은 데이터 세트에서 빈번한 간격으로 구성된 일괄 처리 맵리듀스 작업을 배포할 수 있다.
온디스크 저장 장치 데이터 세트에 대해 맵리듀스 작업을 지속적으로 실행해서, 대화형 쿼리 처리를 위해 새로 도착한 인메모리 스트리밍 데이터의 작은 용량 분석 결과와 결합할 수 있는 구체화된 보기를 생성할 수도 있다.
사실 아주 간단하게는, 스파크(Spark), 스톰(Storm), 테즈(Tez)와 같은 오픈소스 아파치 프로젝트는 실시간 빅데이터 처리 기능을 제공한다.
2. 인공지능 시대의 비즈니스 전략
앞의 책에서 기술적인 부분들을 읽고 와서일까?
굉장히 현실에 닿아있는 책이라는 생각이 들었다.
AI, 인공지능,빅데이터는 이제 흔한 단어가 되었지만, 그렇기 때문에 오히려 어떠한 환상에 둘러싸여있지는 않은지, 나 또한 그런 환상 중 하나를 가지고 있었던 것은 아닌지 반성하게 되었다.
인공지능을 도입하여 성공한 사례는 너무나 많지만, 우리의 현실은 그렇게 간단하고 아름답지 않다.
책의 일부분에 이러한 상황이 자세히 묘사되어 있다.
"딥러닝으로 뭔가 해보자, 빅데이터를 기반으로 신규 사업을 만들자는 말을 많이 하는데, 사실은 아무것도 알지 못하면서 그저 요즘 유행하니 한번 써보려고 한다, 도구의 사용법을 잘 모르니 잘못된 사용을 하고, 기능의 백 분의 일도 경험하지 못하고 실망한다. 일이 잘 진척되지 않으니 기술이 문제의 원인이라고 생각하고, 기술만 있다면 문제가 해결되고 새로운 수익 창출의 길이 열릴 것이라고 기대한다. 그러나 다른 것들(업무 프로세스와 조직 구조)은 그대로 두면서 인공지능과 데이터 기술만 적용하면 문제가 해결되고 기업이 성장할 것이라는 생각은 헛된 망상일 뿐이다. " - p.12,13
왜 그럴까? 인공지능은 인간 두뇌의 한계를 뛰어넘기 위한 도구이기 때문이다. 이제까지 인간의 생각과 판단 범위 안에서 사용되었던 과거의 모든 도구처럼 인공지능을 사용하려고 하면, 인공지능의 기능을 결코 다 발휘할 수가 없다.
그래서 저자는 인공지능 활용에 3가지가 필요하다고 말한다.
(1) 이해 : 도구로서의 인공지능, 머신러닝, 빅데이터를 활용하기 위해 올바로 이해할 것.
(2) 변화 : 리더의 사고방식, 업무 프로세스, 평가 방식, 성공과 실패에 대한 인식 등 조직 구조와 의식을 새롭게 바꿀 것.
(3) 실행 : top-down과 bottom-up을 유기적으로 조화시켜 실무에 적용하는 노하우가 필요함.
인공지능과, 데이터 드리븐 비즈니스를 위해 필수적인 것은 그러한 "기업 문화"겠다는 생각이 들었다.
생각의 다양성이 존중되고, 그렇기 때문에 발전과 개선을 위한 긍정적 의미의 충돌이 일어나고, 뭐든 실행해볼 수 있는 샌드박스의 조성이 잘 되어 있는 곳.
그리고 나 개인에게 가장 중요한 것은, "따라 하기" 라는 것을 느꼈다.
많은 자료와 논문을 읽고, 그대로 똑같이 따라 해서 결과까지 똑같이 나오도록 계속 따라해보는 것.
실력있는 전문가들도 이런 방법을 사용한다지만 역량이 부족한 내게는 더 많은 도움이 될 것이다.
방향을 정했다면 이제 내가 해야 할 일은 계속 따라하면서 공부하고 발전하는 것이라는 생각이 들었다.
할 일이 많다. 공부할 것도 배울 것도 많다.
그래도, 그래서 즐겁다.
2022년도 벌써 3월이 되었다. 남은 10개월간 많이 배우고 성장하는 내가 되기를 :)
'Data science' 카테고리의 다른 글
pandas, numpy, matplotlib 란? 간단 개념 정리+실습 (0) | 2022.03.11 |
---|---|
3초 안에 주피터노트북 다크 테마 설정(가상환경) (0) | 2022.03.10 |
[한 번에 해결] 주피터 노트북 & 아나콘다 설치하고, 기본 작업경로 설정 후 가상환경 만들기까지 (0) | 2022.03.07 |
데이터 사이언티스트가 되기 위한 Route 설정 (3) | 2022.02.27 |
R studio 설치 방법 및 다운로드(윈도우, + R 설치) (0) | 2022.02.19 |
댓글