열린세미나 첫번째 발표자료
과거시스템에서의 문제점
그리고 하둡에서는 어떻게 그런문제를 해결했는설명하고
사실 몇가지 불편한점에 대한 이야기
https://www.facebook.com/groups/576473599127259
I will make this presentation for seminar of NIPA
For more information of the seminar, please go to http://www.software.kr/user/seminar.mbs?id=swkr_050102000000&command=view&idx=376830
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-HadoopGruter
- 관련 기술 트렌드 소개
- Tajo의 아키텍쳐와 로드맵
Tajo는 Big Data 분석 처리 엔진 분야에서 핫이슈로 부상하고 있는 SQL-on-Hadoop의 차세대 핵심 기술로 Apache Incubation 프로젝트로 등록되어 있는 오픈소스이며, Gruter가 개발을 주도하고 있는 프로젝트입니다.
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-HadoopGruter
- 관련 기술 트렌드 소개
- Tajo의 아키텍쳐와 로드맵
Tajo는 Big Data 분석 처리 엔진 분야에서 핫이슈로 부상하고 있는 SQL-on-Hadoop의 차세대 핵심 기술로 Apache Incubation 프로젝트로 등록되어 있는 오픈소스이며, Gruter가 개발을 주도하고 있는 프로젝트입니다.
This document introduces Apache Spark. It discusses MapReduce and its limitations in processing large datasets. Spark was developed to address these limitations by enabling fast sharing of data across clusters using resilient distributed datasets (RDDs). RDDs allow transformations like map and filter to be applied lazily and support operations like join and groupByKey. This provides benefits for iterative and interactive queries compared to MapReduce.
This document discusses NewSQL databases and provides examples of NewSQL products. It begins by explaining the limitations of traditional SQL databases and NoSQL databases in handling big data. It then introduces NewSQL as an approach that provides scalability like NoSQL with ACID transactions and SQL support like traditional databases. Example NewSQL databases discussed in detail include VoltDB, which uses an in-memory architecture, and Google Spanner, which provides a globally distributed SQL database. The document also briefly mentions MySQL Cluster as another NewSQL approach.
The document provides an overview of the Scala programming language. It discusses what Scala is, its definition, and opinions on Scala from notable figures like the creator of Java. It also covers Scala's scalability, data types, functional aspects, object-oriented aspects, and comparison to Java. Key points are that Scala is a multi-paradigm language that integrates functional and object-oriented programming, runs on the JVM, and is more concise and expressive than Java.
The document provides an overview of NewSQL databases. It discusses why NewSQL databases were created, including the need to handle extreme amounts of data and traffic. It describes some key characteristics of NewSQL databases, such as providing scalability like NoSQL databases while also supporting SQL and ACID transactions. Finally, it reviews some examples of NewSQL database products, like VoltDB and Google Spanner, and their architectures.
This document discusses big data analytics and SQL on Hadoop. It begins with an introduction to big data analysis and different approaches for analyzing big data, including traditional analytic databases, MapReduce, and SQL on Hadoop. The document then focuses on SQL on Hadoop, explaining that it refers to a new generation of analytic databases built on Hadoop. It provides examples of SQL on Hadoop systems like Hive, Impala, and Presto. The rest of the document discusses Google's Dremel and Tenzing systems for interactively analyzing large datasets using SQL.
Spark Streaming allows for scalable, high-throughput, fault-tolerant stream processing of live data streams. It works by chopping data streams into batches, treating each batch as an RDD, and processing them using RDD transformations and operations. This provides a simple abstraction called a DStream that represents a continuous stream of data as a series of RDDs. Transformations applied to DStreams are similarly applied to the underlying RDDs. Spark Streaming also supports window operations, output operations, and integrating streaming with Spark's ML and graph processing capabilities.
This document provides guidance on designing RESTful APIs. It recommends using nouns instead of verbs, keeping URLs simple with only two endpoints per resource, and following conventions from leading APIs. Complex variations and optional parameters should be "swept behind the '?'." The document emphasizes designing for application developers by making APIs intuitive, consistent and complete while also accommodating exceptional clients. It suggests adding an API virtualization layer to handle complexity.
Big Data Platform Field Case in MelOn (in Korean)
- Presented by Byeong-hwa Yoon, engineer manager at Loen Entertainment
- at Gruter TECHDAY 2014 Oct. 29 Seoul, Korea
웹 사이트의 빠른 로딩을 위한 프론트 엔드 최적화 기법과 더불어 알아두어야 할 HTTP 프로토콜 최적화를 언급하며, 최근 발표된 HTTP/3를 소개합니다.
HTTP/3는 "Hyper Text Transfer Protocol over QUIC"의 내용을 근간으로 UDP의 장점을 HTTP에 활용한 버전입니다.
HTTP/3를 알기 위해서는 QUIC에 대한 이해와 함께, 기존 버전인 HTTP/2에서 어떤 부분이 개선되었는지에 대한 이해가 동시에 필요합니다.
Chrome을 활용한 웹 성능 비교 예제들은 HTTP/3의 기술들을 빠르게 이해하는 데 도움이 될 것입니다.
7. MS(management system)
: DB에 레코드를 삽입(Insert), 수정(Update), 삭제
(Delete)할 수 있도록 해주는 소프트웨어
SQL (Structured Query Language) 지원
DROP TABLE table1;
CREATE TABLE table1 (
id int,
name varchar2(255),
score float);
INSERT INTO table1(id, name, score)
VALUES(1, ‘TAJO’, 10.0);
30. 2005년 더그 커팅이 Nutch 크롤 / 검색 패키지에
구글 논문을 기반으로, HDFS/MapReduce를
추가하면서 시작됩니다.
31. 2006년 더그 커팅이 야후에 입사한 후, 20 노드 클러스터를
셋업합니다.
2008년 야후에서 1000 노드 클러스터를 프러덕션에서 사용
하기 시작합니다.
2008년 하둡이 아파치 탑레벨 프로젝트로 승격됩니다.
2011년 하둡1.0 GA 버전이 릴리즈됩니다.
2013년 하둡2.0 GA 버전이 릴리즈됩니다.
45. read a book
read 1
a 1
book 1
write1
a 1
book 1
read 1
a 1
book 1
write 1
a 1
book 1
read 1
a 2
book 2
write 1
입력 파일 맵 리듀스 출력 파일
write a book
입력 파일의 글자 개수 계산하기…
46. 하둡 MapReduce 프레임워크는 개발자가
MapReduce 프로그램 로직 구현에 집중하
게 해주고, 데이터에 대한 분산과 병렬
처리를 프레임워크가 담당합니다.
47. 마스터 서버
JobTracker
슬레이브 서버
TaskTracker
Task Task
슬레이브 서버
TaskTracker
Task Task
슬레이브 서버
TaskTracker
Task Task
Task 실행
및 모니터링
클라이언트
잡 실행요청 잡 진행 상황 및 완료 결과 공유
Task 실행 요청
하트비트 전송
55. 관계형 처리를 위해 고안된 것이 아니기 때문에, 데이터
처리 모델상의 한계가 있습니다.
Pig, Hive는 MapReduce가 제공하는 기능 이상의 최적
화 불가능합니다.
초기화 및 스케쥴링 시간이 느립니다.
개발 노력이 많이 들어가고, 성능 보장이 어렵습니다.
Ad-hoc 질의에 대한 속도 문제로,DBMS 병행 사용이 불
가피합니다.
57. HDFS에 저장된 데이터를 SQL로 처리하는 시스템
탈 MapReduce 모델
다양한 설계 목표 : DataWarehouse VS Query Engine
58. Function Tajo Hive Impala Spark
Computing 자체
MapReduce or
Tez
자체 자체
Resource
Management
자체 or
YARN
YARN 자체 자체 or YARN
Scheduler FIFO, Fair
FIFO, Fair,
Capacity
FIFO, Fair FIFO, Fair
Storage
HDFS, S3,
HBase
HDFS, HBase, S3 HDFS, HBase
자체 RDD
(HDSF 등)
File Format
CSV, RC,
Parquet,
Avro 등
CSV, RC, ORC,
Parquet, Avro
등
CSV, RC,
Parquet, Avro
등
CSV, RC,
Parquet, Avro
등
Data Model Relational Relational Relational Relational
Query ANSI-SQL HiveQL HiveQL HiveQL
59. Function Tajo Hive Impala Spark
구현 언어 Java Java C++ Scala
Client
Java API, JDBC,
CLI
CLI, JDBC, ODBC,
Thrift Server
API
CLI, JDBC, ODBC
Shark
JDBC/ODBC,
Scala, Java,
Python API
Query
Latency
Long run,
Interactive
Long run,
(Interactive-
Tez)
Interactive Interactive
컴퓨팅 특징
데이터는 Disk, 중
간 데이터는
Memory/Disk 모
두 사용
데이터는 Disk, 중
간 데이터는
Memory/Disk 모
두 사용
중간 데이터가 In-
Memory
(최근 On-Disk 지
원)
분석 대상 데이터
가 In-Memory
에 로딩
License Apache Apache Apache Apache
Main
Sponsor
Gruter Hortonworks Cloudera Databricks
61. 빅데이터 처리를 위한 데이터웨어하우스 시스템입니다.
2014년 아파치 탑레벨 프로젝트에 선정됐습니다.
(http://tajo.apache.org)
표준 SQL과 호환됩니다.
질의 전체를 분산 처리합니다.
Batch 질의와 Interactive Ad-hoc 질의를 모두 지원
합니다. (100ms ~ 수시간)