Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BigData Overview

403 views

Published on

BigData Overview for Hadoop ecosystem

Published in: Data & Analytics
  • Be the first to comment

BigData Overview

  1. 1. BIGDATA SYSTEM OVERVIEW with Hadoop and NoSQL
  2. 2. Big Data?
  3. 3. Google Platforms for BigData
  4. 4. Example : Search Engine
  5. 5. Crawler Index Engine Search Engine
  6. 6. The platform needs Distributed File system Distributed processing Key-Value Store
  7. 7. Google Opensources Amazon File System Google File System Apache Hadoop File System Amazon Elastic Compute Cloud(EC2) Key-Value Store Google Bigtable Apache HBase Amazon DynamoDB Processing Google MapReduce Apache Hadoop Amazon Elastic MapReduce(EMR) Analysis Language Google Swazall Apache Pig & Hive Cloudera Impala Support Hive and Impala
  8. 8. Hadoop?
  9. 9. Hadoop from Google platform
  10. 10. Google File system (2003, S Ghemawat) MapReduce (2004, Jeffrey Dean)
  11. 11. parallelization fault-tolerance data distribution load balancing
  12. 12. MapReduce
  13. 13. Scale-out High availability Parallelism(Local Processing) Single Point Of Failure(SPOF)
  14. 14. NoSQL
  15. 15. Consistency Single request/response operation sequence 읽기 동작은 마지막으로 쓰여진 데이터를 리턴
  16. 16. Availability 특정 노드가 장애가 나도 서비스가 가능해야 한다
  17. 17. Partition-tolerance 노드간에 통신 문제가 생겨서 메시지를 주고받지 못하는 상황이라도 동작해야 한다.
  18. 18. ACID VS BASE • 원자성(Atomicity)은 트랜잭션과 관련된 작업들이 모두 수행되었는지 아니면 모두 실행이 안되었는지를 보장하는 능력이다. 자 금 이체는 성공할 수도 실패할 수도 있지만 원자성은 중간 단계까지 실행되고 실패하는 일은 없도록 하는 것이다. • 일관성(Consistency)은 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의 미한다. 무결성 제약이 모든 계좌는 잔고가 있어야 한다면 이를 위반하는 트랜잭션은 중단된다. • 고립성(Isolation)은 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미한다. 이것은 트 랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없음을 의미한다. 은행 관리자는 이체 작업을 하는 도중에 쿼리를 실 행하더라도 특정 계좌간 이체하는 양 쪽을 볼 수 없다. 공식적으로 고립성은 트랜잭션 실행내역은 연속적이어야 함을 의미한다. 성능관련 이유로 인해 이 특성은 가장 유연성 있는 제약 조건이다. • 지속성(Durability)은 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미한다. 시스템 문제, DB 일관성 체크 등을 하 더라도 유지되어야 함을 의미한다. 전형적으로 모드 트랜잭션은 로그로 남고 시스템 장애 발생 전 상태로 되돌릴 수 있다. 트랜 잭션은 로그에 모든 것이 저장된 후에만 commit 상태로 간주될 수 있다.
  19. 19. ACID VS BASE • Basically Available : 기본적으로 Available하고 • Soft-state : 사용자가 관리(refresh, modify)하지 않으면 Data가 expire 될 수도 있으며 • Eventually consistency : 지금 당장은 아니지만 언젠가는 Data가 일관성 을 가진다
  20. 20. RDBMS 데이터 분석 테이블 설계 쿼리 디자인 결과 데이터 중복 최소화
  21. 21. NoSQL 데이터 분석 쿼리 디자인 테이블 설계 결과 데이터 중복, 비정형화
  22. 22. RDBMS 데이터 분석 테이블 설계 쿼리 디자인 결과 데이터 중복 최소화 NoSQL 데이터 분석 쿼리 디자인 테이블 설계 결과 데이터 중복, 비정형화
  23. 23. NoSQL supports only get/put
  24. 24. Put : Insert into TABLE VALUES(KEY,value1,value2,…,valuen) Get : Select * from TABLE where KEY=”key”
  25. 25. SQL? Sort, Join, Group, Range….
  26. 26. Hive, Pig, HBase… SQL-Style Analysis
  27. 27. Hive example
  28. 28. WordCount example CREATE TABLE wordcount AS SELECT word, count(1) AS count FROM (SELECT EXPLODE(SPLIT(LCASE(REGEXP_REPLACE(line,'[p{Punct},p{Cntrl}]','')),' ')) AS word FROM myinput) words GROUP BY word ORDER BY count DESC, word ASC;

×