본문 바로가기
자격증 이모저모/빅데이터 분석기사(파이썬)

빅데이터 분석 필답 대비 1

by 지각쟁이 2023. 4. 12.
반응형

데이터의 수집 기술(정형 데이터)

cf. 정형 데이터 : 미리 정해 놓은 형식과 구조에 따라 저장되도록 구성된 데이터

 

 

 

 

데이터베이스

- 관련성 있는 데이터들을 하나의 통합된 저장소에 저장·공유·관리하는 시스템

 

 

 

 

데이터웨어하우스

- 다양한 운영 시스템에서 추출되어 변환 및 통합되고 요약된 데이터 베이스

- 사용자의 의사결정에 적합하게 수정된 읽기 전용의 데이터 저장소

 

 

 

 

ETL(Extract Transfrom Load)

- 수집 대상 데이터를 추출 및 가공하여 데이터 웨어하우스에 저장 하는 기술

(데이터 추출 - 가공 - 적재(저장))

 

 

 

 

FTP(File Transfer Protocol)

- TCP/IP나 UDP 프로토콜을 통해 원격지 시스템으로 부터 파일을 송수신하는 기능(파일 송·수신)

- 동작 방식 단순하고 직관적 → 속도 빠름

- 데이터 제어 연결(control connection)에 21번 포트, 전송 연결(data connection)에 20번 포트 사용

 

 

 

 

API(Application Programming Interface)

- 시스템 간 연동을 통해 실시산으로 데이터를 수신할 수 있도록 기능 제공하는 인터페이스

(솔루션 제조사 및 3rd party(외부생산자용) 소프트웨어)

 

 

 

 

DBToDB

- 데이터베이스 관리시스템(DBMS) 간 데이터 동기화 또는 전송 방법

 

 

 

 

sqoop

- 관계형 데이터베이스(RDBMS)와 하둡(hadoop) 간 데이터를 전송하는 방법

- 데이터 가져오기/내보내기 과정을 맵리듀스를 통해 처리하기 때문에 병렬처리 가능 및 장애에 강함

 

 

cf. 하둡 : 여러 개의 저렴한 컴퓨터를 마치 하나인 것처럼 사용. 저비용 고용량

 

 

 

 

데이터의 수집 기술(비정형 데이터)

cf. 비정형 데이터 : 정의된 구조가 없는 데이터로 동영상, 오디오, 사진 등

 

크롤링(Crawling)

- 인터넷 상의 다양한 웹 사이트에서 뉴스, 게시판 등의 웹문서 및 정보 수집

 

 

 

 

스크래피

- 파이썬 기반의 프레임워크로 스크랩 과정 단순

- 웹사이트를 크롤링하고 구조화된 데이터를 수집하는 도구

- API를 이용하여 데이터 추출 가능 ⇒ 범용 웹 크롤러로 사용 가능

 

 

 

 

RSS(Rich Site Summary)

- 블로그, 뉴스, 쇼핑몰 등의 웹 사이트에 게시된 새로운 글을 공유하기 위해 XML 기반으로 정보를 배포하는 프로토콜

 

 

cf. XML(extensible markup language) : 황장성 생성 언어, HTML을 개선한 언어

 

 

 

Open API

- 공개된 API

 

 

 

 

척와(Chukwa)

- 분산 환경에서 생성된 데이터를 하둡 파일 시스템(HDFS)에 수집·저장하는 플랫폼

 

 

 

 

카프카(Kafka)

- 대용량 실시간 로그처리를 위한 분산 스트리밍 플랫폼

 

 

 

 

 

 

데이터의 수집 기술(반정형 데이터)

cf. 반정형 데이터 : 데이터의 형식과 구조가 변경될 수 있는 데이터로 데이터의 구조정보를 데이터와 함께 제공

 

 

플럼(Flume)

- 분산환경에서 비동기 방식으로 대량의 로그 데이터를 수집·전송 및 분석할 수 있는 서비스

- 스트리밍 데이터 흐름에 기반을 둔 간단하고 유연한 구조 가짐

- 로그데이터 수집과 네트워크 트래픽 데이터, 소셜미디어 데이터, 이메일 등 대량의 데이터 전송에 사용

 

 

 

 

스크라이브(Scribe)

- 다수의 서버로부터 실시간으로 데이터를 수집 및 분산 시스템에 데이터를 저장하는 기능 제공

 

 

 

 

센싱(Sensing)

- 센서로부터 수집 및 생성된 데이터를 네트워크를 통해 수집

 

 

 

 

스트리밍(Streaming)

- 네트워크를 통해 센서 데이터, 오디오, 비디오 등 미디어 데이터를 실시간으로 수집하는 기술

 

 

 

 

분산 파일 시스템

 

하둡 분산 파일 시스템(HDFS : Hadoop Distributed File System)

- 대용량 파일을 클러스터에 여러블록으로 분산하여 저장

- 각 블록은 모두 크기 동일(기본 64MB, 마지막 블록 제외)

- 마스터(슬레이브 관리) 하나와 여러개의 슬레이브(데이터 블록 분산처리)로 클러스터링 되어 구성

- 데이터 손상 방지 위해 데이터 복제 기법 사용

 

 

 

 

구글 파일 시스템(GFS : Goolgle File System)

- 구글 검색 엔진을 위해 최적화된 분산 파일 시스템

- 마스터(GFS 전체 상태 관리·통제, 청크 서버(하드디스크 실제 입·출력), 클라이언트(어플리케이션)

 

 

 

 

CAP이론

- 분산 컴퓨터 환경의 특징 세가지(아래 표 참조) 및 세가지 특성을 통시에 만족하기 어려움

일관성(Consistency)  - 분산 환경에서 모든 노드가 같은 시점에 같은 데이터
가용성(Availability)  - 일부 노드가 다운되어도 다른 노드에 영향 X
지속성(Partition Tolerance)  - 데이터 전송 중 일부 데이터 손실해도 시스템은 정상 작동

 

 

 

 

NoSQL

- 빅데이터 처리와 저장을 위한 플랫폼

구분 장·단점 특성
RDBMS - 데이터 무결성·정확성 보장
- 정규화된 테이블 & 소규모 트랜젝션
- 확장성 한계 존재
- 클라우드 분산 환경에 부적합
- UPDATE, DELETE, JOIN 연산 가능
- ACID 트랜젝션 존재
- 고정 스키마 존재

cf. 일관성(C)과 가용성(A)
NoSQL - 데이터 무결성·정확성 보장하지 않음
- 웹 환경의 다양한 정보 검색·저장 가능
- 수정·삭제 X (입력으로 대체)
- 강한 일관성 불필요
- 스키마 없이 키 값 이용
 (다양한 형태의 데이터 저장 및 접근)

cf. 일관성(C) & 가용성(A)중 하나 포기
   ⇒ 대신 지속성(P)를 보장

cf. 트랜젝션 일관성 : 데이터 수정, 삭제 등 작업 빈번하게 일어나느 환경에서 중요도↑

 

 

cf. NoSQL의 데이터 모델

구분 특징
키-값(key-value) 데이터베이스 ○ 단순한(키-값 기반) 데이터 모델에 기반
   ⇒ 확장성↑, 질의 응답시간 빠름
응용 프로그램 모델링 복잡
DynamoDB(아마존), Redis
열기반(column-oriented) 데이터베이스 데이터를 열 기반으로 저장 및 처리하는 DB
 연관된 데이터 위주로 읽는데 유리
○ 컬럼과 로우는 확상성을 보장하기 위해 여러 노드로 분할 
Cassandra, HBase, HyperTable 등

문서기반(document-oriented) 데이터베이스 문서 형식의 정보를 저장, 검색, 관리하는 DB
 문서마다 다른 스키마 존재
문서 내부 구조에 기반을 둔 복잡한 형태의 데이터 저장 지원
MongoDB, SimpleDB, CouchDB

 

 

 

 

샤딩(Sharding)

- 대량의 데이터 터리를 위해 DB테이블을 수평 분할하여 물리적으로 서로 다른곳에 분산 저장 및 조회

- 샤드(Shard) : 수평 분할된 1개의 테이블

 

 

 

반응형