오픈소스, 빅데이터
그리고 모든 것
Open Source, Big Data, and
Everything
이동진 | [email protected]
Slide 2
Slide 2 text
오늘 이야기할 내용은...
● 오픈소스 (Open Source)
● 빅데이터 (Big Data)
● 좀 더 구체적으로…
○ 왜 오픈소스가 빅데이터 처리 기술을 이끌고 있는가?
○ 빅데이터 처리에 사용되는 오픈소스 기술에는 어떤 것들이 있는가?
Slide 3
Slide 3 text
오픈소스: 초간단 설명
● ‘공개 개발’ (public development)
○ 소스코드 공개
○ 재창작, 재배포 허용
○ 커뮤니티에 의한 개발 및 배포 (암묵적 특징)
Slide 4
Slide 4 text
오픈소스의 장점
● 모험적인 신기술의 도입
● 커뮤니티의 확장으로 인한 발전
● 기존 기술을 기반으로 한 추가적인 확장
○ 생태계(ecosystem)의 형성
Slide 5
Slide 5 text
사례: Apache Hadoop (2006)
● "빅데이터 혁명" = "데이터가 곧 자원"
○ 전제: 거대한 데이터를 싸고 빠르게 처리할 수 있는 기술의 존재.
● Hadoop (2006): 빅데이터 혁명의 시발점이 된 기술
○ Commodity hardware 상에서 돌아가는 분산 연산 프레임워크
○ “일반 PC를 잔뜩 끌어모아다 설치만 하면 슈퍼컴퓨터 수준의 연산을 수행할 수 있다!”
○ Terabyte Sort benchmark 우승 (2008)
● Google 논문을 오픈소스로 구현한 것 (Yahoo)
○ Google File System (2003), MapReduce (2004)
Slide 6
Slide 6 text
Hadoop: 모험적인 신기술의 도입
● 수요조차 없던 기술
○ “이런 걸 필요로 하는 데가 있겠어? 학술적으로는 가치가 있겠지.” (feat. Google)
○ “직접 구현하는 것 외에는 방법이 없겠군.” (feat. Doug Cutting)
● Apache Nutch의 sub 프로젝트 → 독립 프로젝트
○ 검색 인덱스를 구축하기 위한 수단 → 범용 연산 프레임워크
○ 프로젝트 시작 (2006.01)
○ 0.1.0 출시 (2006.04)
○ 3개 기업에 의해 도입 (2007.06)
■ Facebook을 포함, 20개 기업에 의해 도입 (2008.01)
Slide 7
Slide 7 text
Hadoop: 커뮤니티의 확장으로 인한 발전
● 인터넷 기업들이 도입해 쓰기 시작
○ Facebook, Linkedin, Twitter, eBay, …
● 커뮤니티가 확장되면서 급속도로 발전
● 기존 대기업들도 도입
○ 전문 기업 등장
■ Cloudera (2008.10)
■ Hortonworks (2011.06)
Slide 8
Slide 8 text
Hadoop: 진화, 그리고 추가적인 확장 (1)
● 주변 기술들의 등장
○ Hive: Hadoop 기반 data warehousing system
○ HBase: Hadoop 기반 storage system
○ Giraph: Hadoop 기반 graph computation system
○ Pig, Sqoop, etc ...
● 문제 제기
○ Scalability 문제
■ 4000 node 문제
○ 프로그래밍 모델에 대한 불만
■ MapReduce model
Slide 9
Slide 9 text
Hadoop: 진화, 그리고 추가적인 확장 (2)
● Hadoop 2.0 이후 (2013)
○ MapReduce 연산 모델 프레임워크 → 범용 병렬 연산 프레임워크
○ 설계 변경
■ 4000 node 문제 해결: 10000 node ~
■ 다양한 병렬 연산 모델을 지원하기 시작
● MapReduce 모델은 그저 연산 모델 중 하나일 뿐!
● 대체, 그리고 확장
○ Hadoop의 요소들은 하나씩 대체 + Hadoop에 의해 필요성이 제기되었던 프로젝트들의 등장
○ Spark: In-memory distributed computing
○ Kafka: Stream processing
Slide 10
Slide 10 text
Hadoop이 만들어 낸 생태계
● 예: IoT로부터 실시간으로 주어지는 데이터를 수집해서 정제한 뒤 저장하기
Slide 11
Slide 11 text
정리
● 오픈소스의 장점
○ 모험적인 신기술의 도입
○ 커뮤니티의 확장으로 인한 발전
○ 기존 기술을 기반으로 한 추가적인 확장
● 빅데이터 생태계는 오픈소스의 대표적인 성공사례
○ Machine Learning, AI, Blockchain 등에도 적용되는 모델