1) 데이터 과학
1-1) 데이터 과학의 개요
* 데이터 과학
데이터 과학이란 데이터에서 어떤 의미나 통찰을 발견하기 위해서 과학적 방법을 이용하는 "데이터 탐색"(원하는 지혜를 찾기)과 발견한 의미와 통잘을 비지니스 맥락에서 활용하는 "소프트 웨어 시스템의 구축"을 포함하는 개념이다.
ex) 월마트 장바구니 분석(Market Basket Analysis)
- 어떤 물건과 어떤 물건을 같이 사는지
파스타를 사면 치즈를 같이 산다.
기저귀를 사면 맥주를 같이 산다.
월마트에 장바구니 분석이 흥미로웠는데 애를 낳고 엄마들이 애기들을 돌보는데 바쁘기 때문에 보통 장을 아빠들이 보게되는데 이 때에 필요한 기저귀를 사면서 같이 맥주를 산다고 분석이 되었다고한다. 이를 바탕으로 실제로 기저귀코너에 맥주를 근처에 두었다고한다.
1-2) 데이터 과학 활용 사례
* 데이터 과학 활용 사례
- 매출 예측에 따른 재고 최적화
ex) 자라는 데이터 분석을 통해서 재고최소화를 한다.
(원피스: 매출을 통해서 긴바지 매출을 예측할 수 있다)
쿠팡 당일 배송: 얼마나 팔릴지 예측하고 재고를 보유한다.
- 불량예측
고장난 후 수리가 아닌 고장날 것을 예측하고 미리 점검하는 것
SK텔레콤의 핸드폰 신호기가 고장나는 이유를 분석하고 예측하는법:
-지지직소리가 자꾸나면 고장
-습도 80이상, 기온 30이상 고장
이런식으로 예측해서 미리 점검을 한다.
- 암/당뇨 환자 예측
IBM 왓슨을 통해서 해당 질환 발생할 확룔 인식하여 대응
미국은 의사가 아니면 병명에 대해서 진단을 내릴 수 없었고 IBM왓슨을 개발한 왓슨이 이걸 만들어서 사용하고 싶어서 직접 의대를 나왔다고한다.
- 상장 폐지 기업 예측
상장 폐지가 발생되기 전에 경제, 재무 데이터를 분석한다.
1-3) 데이터 유형의 역사
* Small Data
- CSV, Excel 파일 1개의 저장이 가능하다면 Small Data이다.
- 300 ~ 10만건의 줄로 구성되어있다.
* VLDB(Very Large Data)
- 파일 1개에 저장할 수 없는 데이터로 파일에 저장하면 너무커서 파일이 열리지않는다.
- 파일에는 저장이 안되지만 컴퓨터 한 대에는 저장할 수 있다.
- 주로 예측에 사용된다.
- 여러테이블에 나눠서 저장테이블 1개는 파일 1개로 저장되고 나눈 후에는 join으로 데이터를 통합하고 검색한다.
* Big Data
- 여러 컴퓨터에 데이터를 나눠서 저장하는 분산 데이터 시스템에 저장한다.
- 정형 데이터(숫자, 글자) + 비정형 데이터(동영상, 사운드, 이미지)
1-4) 빅데이터 시스템
* 분산 데이터 저장
- 빅데이터는 큰 데이터를 여러대 컴퓨터에 나눠서 저장하는 분산파일시스템
- 하나의 파일을 다수의 블록(블록 하나당 64메가)으로 분할하여 여러대의 컴퓨터에 나눈다.
- 데이터 손실을 방지하기 위해서 원본 1개 복사본2개로 기본 복제 3개를 수행한다.
- 분산 저장되어있는 데이터는 빠른 데이터 처리 및 분석(Map Reduce)을 위해서 블록당 분석 프로세스가 하나씩 수행된다.
ex) 사람을 찾는 프로그램
computer1 computer2
-block1 - block3
-block2 - block4
- blokc5
예를 들어서, search.py 라는 사람을 찾는 프로그램을 구성했다고 치면 이 파일은 블록당 하나씩 담당한다. 모든 블록에 search.py가 분신술해서 들어가게되며, 블록안에서 사람을 찾기 위해서 분석하고 그 찾은 값들을 합쳐서 사람을 찾아내는 것이다.
Map Reduce: 블록당 하나씩 python program을 맡아서(Map) 분석하고 찾은 것들을 합친다.(Reduce)
2) 빅데이터 저장
2-1) 하둡
* 하둡
대용량 데이터를 분산 처리(Map Reduce)할 수 있는 자바 기반의 오프소스 프레임워크이다.
하둡이 자바로 이루어진 이유는 자바가 환경에 독립적이라서 사용했다.
분산 파일 시스템인 HDFS(Hadoop Distributed Files System)에 데이터를 저장하고 분산 처리 시스템인 맵리듀스를 이용해 데이터를 처리한다.
* HDFS(Hadoop Distributed Files System)
대용량 파일을 여러컴퓨터에 분산된 서버에 저장하고, 빠르게 처리할 수 있게 설계된 파일 시스템이다.
평범한 노트북이나 pc에서도 돌아갈 수 있도록 저사양 서버를 이용한다.
* HDFS의 file 저장방식
각 파일은 블록 단위로 분할되는게 각 블록은 기본적으로 64MB 또는 128MB이다
같은 파일의 다른 블록들은 서로 다른 컴퓨터(machine)에 저장된다.
블록들은 여러 machine에 복제되어 Data node에 저장되는데 각 블록은 서로 다른 3개의 machine에 저장되어 있다.
(원본 1개, 복사본2개), 저장된 컴퓨터가 장애가 생겨도 파일을 구할 수 있도록 한다.
ex) 150MB가 있는데 블록에 나누기
150MB Block1 (64MB)
Block2 (64MB)
Block3 (22MB)
Block3처럼 부족하면 부족한대로 만드면 된다.
※ 블록을 저장한 컴퓨터는 Data Node라고 한다.
* Name node
Name node의 역할을 하는 컴퓨터는 어떤 블록을 어떤 컴퓨터에 저장했는지를 장부에 기록하는데 그 장부를 저장한다.
파일을 복구할 때는 Name node에 저장된 장부를 복구하는 것이다. Name node가 없으면 저장한 파일을 복구할 수 없다.
Name node를 삭제시에는 처음에는 휴지통으로 들어가기에 윈도우와 같이 휴지통을 삭제하지않으면 휴지통에서 꺼내서 복구가 가능하다.
'PBL 빅데이터 > 빅데이터 플랫폼' 카테고리의 다른 글
[수업] 빅데이터 플랫폼5 (0) | 2021.04.26 |
---|---|
[수업] 빅데이터 플랫폼4 (0) | 2021.04.23 |
[수업] 빅데이터 플랫폼3 (0) | 2021.04.22 |
[수업] 빅데이터 플랫폼2 (0) | 2021.04.21 |