빅데이터를 처리하기 위한 nosql
옛날부터 있었던 정보들..데이터들..
빅데이터를 하면 좋은점?
마케팅 활용 => 수익 창출 가능
빅데이터 => 구글, 페이스북, 아마존에서 처음 만듦
고객들의 특성을 파악할 필요성 느낌
저장공간 용량 증가 => 소프트웨어 개발 => 하둡, nosql 등 기술 발생
딕셔너리, 리스트로 저장 => nosql
데이터베이스 in computer(머신)
server 머신 => 좋은 cpu, 많은 디스크들
서비스 대상이 만명 => 10만명으로 증가 => cpu, 디스크를 증가해야 => scale up!
저장, 처리 나눠서 하자 => 분산 저장 => 하둡
저장, 처리는 어떤 방식? => map/reduce 방식으로 하자~
10가지 일 => 10개의 map으로 나눔
10개의 서버에서 분산되게 작업 > 후 merge 하겠음
Which to Choose?
자본, 자원이 많은 회사들이 개발을 잘 했음(Oil)
그러나 지금은 데이터가 많은 회사가 잘 나감(Data, Service)
기술의 발전을 통해서 저장 비용 감소, 클라우드 기술 대중화
확장형 구조를 지원
RDB는 확장하는데 어려움이 있었음
Scale up => Scale out
결함 허용 시스템
rdb에서는 트랜잭션의 원자성(all or nothing), 데이터 무결성 등의 결함 불허
다양한 데이터 구조 처리
open-source data framework
distributed storage and distributed processing
Core Hadoop
하둡 파일 시스템
하둡은 구글이 2000년대 초반에 수행한 작업을 기반
2003년 발표한 Google File System, MapReduce 기반
데이터가 시스템에 처음 저장될 때 노드에 데이터를 분배
구글 데이터 센터 => 우리나라, 미국, 샌프란시스코..
똑같은 유튜브 영상 => 한국 서버에 먼저 있는지 보고 미국 확인
똑같은 데이터가 여러 군데 저장됨
단점 : 용량 많이 소비(RDMS: 중복성 제거 => 정규화)
장점 : 가용성 높임(실시간 데이터 처리 속도 FAST)
공유 파일 시스템(HDFS) 사용
효율적이고 확장 가능한 처리 시스템인(YARN/MR)
많은 서버에 효율적으로 처리 부하를 분산
비교적 간단한 프로그래밍 지원
가용성, 일관성, 확장성을 모두 만족하는 서비스는 안타깝게도 없음
RDMS: 확장성 포기
NoSQL, 빅데이터시스템: 일관성 포기
핵심 하둡에 기능을 추가하는 오픈 소스 프로젝트 들
Sqoop&Flume&Kafka
외부 시스템에서 데이터를 수집하는 도구
RDBMS에 보관되거나 즉시 생성되는 데이터를 Hadoop에 저장
Hive and Impala
SQL과 유사한 언어로 빅데이터 처리
프로그래머가 아니여도 데이터 분석 가능
Spark
MapReduce의 대안
더 빠르고 사용하기 쉬우며 스트리밍 데이터 처리
spark이 제공하는 sql, streaming, milib, graphX 등의 라이브러리들을 java, scala, python 등의 언어를 사용해 분산 처리 어플리케이션을 생성
가용성, 확장성이 뛰어난 데이터베이스
하둡은 배치처리, 큰 양 처리, 컴퓨팅 능력
nosql => 실시간 처리, 응답속도 빠르게(user transaction, sensor data 등)
중복되는 코드가 많아 이를 라이브러리화
라이브러리가 자체 api를 보유한 db
all or nothing
은행 송금 시 한 쪽이 끊기면 다 끊기어야!
=> 이는 nosql에서는 base임
Google File System => Hadoop File System(HDFS)
Google Map Reduce programming paraadigm
Google Big Table
SQL 기반 RDBMS는 더 이상 새로운 패러다임에 부적합
NoSQL은 데이터 크기와 엄청난 질의 증가를 처리 증가
파티션 허용 => 가용성/일관성 포기
단점
SQL 기반 RDMS랑 Nosql랑 완전 반대는 아니다
- NoSQL(정형화+비정형화(JSON)+비정형화 가능(음성, 센서데이터 등), 목적에 따라 선택
NoSQL 개념 3가지- 다양한 저장 모델(Key-Value)
- 분산 처리 가능
Scale up => out
다음시간 q/a 받고 비대면 수업