[플레이데이터 빅데이터 부트캠프]리눅스 첫 수업

빅데이터의 정의

3V -> Volume, Velocity,  Variety

단일 서버에서 다루기 버거울 때, 빅데이터가 되었다고 한다.

Hadoop-> 빅데이터는 분산 병렬 처리를 지원한다.

실시간(real time) <-> 모아서 처리(batch 처리)

빅데이터는 일괄 처리를 한다. -> ex)주식, 날씨,  Iot(사물 인터넷)환경

IoT의 핵심 기반은 센서이다. 센서로 정보를 수집한다.

variety에는 정형 데이터(csv, rdb), 반정형 데이터, 비정형 데이타가 있다.

대표적인 RDBMS는 오라클과 mySQL, MSSQL, mariaDB이 있다.

R은 관계형 데이타 모델을 의미한다.(외래키를 사용하여 데이터끼리 연결시켜 놓는다.)

정형화해서 연결 시켜 놓는다. 

DBMS는 접근성이 좋다. 

반정형 데이터

누구든지 만들 수 있는 데이터이다.

XML : 데이타를 표현하고 교환하기 위해 만든 프로그램 언어이다.

HTML : 홈페이지를 만들 때 쓰는 언어이다. 

W3C, IEEE, ISO/ANSI

-> HTML(태그들(웹을 만드는 명령어들))을 표준화하고 있다.

국내기관으로 TTA가 있다. 

태그들을 누구든지 만들 수 있게 해주는게, XML이다.

C언어는 모든 언어의 시초이다.-> 리눅스도 C언어로 만들었다.

C언어는 절차적 언어라고 한다.

C++에서 넘어가면서, 객체지향(상속할 수 있다. 캡슐화(보안적인 측면이 좋다.) 할 수 있다.)이라는게 있다.

 다형성이 좋다. ->자바(웹 쪽으로 개발할 때, 언어확장에 좋다.)

프론트단(HTML, CSS), 백단(자바)

파이썬

return을 여러 번 할 수 있다.

변수 지정할 때, type 변환을 하지 않아도 된다.

int -> 4byte 1비트에 01을 저장한다.

2의32의 숫자를 저장할 수 있다.

아스키 코드를 통해 숫자로 바꿔놓는다.

pyrhon은 인터프리터 언어이다.

->코드 하나하나 실행 가능하다.

그와 반대로, c언어는 컴파일 언어이다.

파일의 형식이 정해져 있지 않다.

클라우드 서비스

큰 서버를 만들고, 사용자들에게 사용하게끔 한다.

Paas, Iaas, Saas

Paas:플래폼은 기반 서비스를 말한다. (ex: 아나콘다)

Iaas, Saas : 모든 하드웨어와 소프트웨어 를 모두 제공해 주겠다.

AI

인공지능 ->지도학습

머신러닝->비지도 학습까지 포함하고 있다.

딥러닝->  계층이 깊어져서 딥러닝이다.

증강현실 : 현실과 가상을 섞어 놓은 것이다.

메타버스 :  초월(beyond), 가상을 의미하는 meta와 세계를 의미하는 universe의 합성어로, 1992년 출간된 소설 '스노 크래시' 속 가상 세계 명칭인 '메타버스'에서 유래한다.

빅데이터 시대 이후

쓰레기 데이터의 빈도수가 높아졌다.

후단의 분석, 시각화도 중요하지만, 앞단의 수집 저장 처리가 중요하다. 

NoSQL, 클라우드스토리지, Hadoop등이 나온다.

분산 플랫폼->여러대의 컴퓨터에 나눠서 저장한다.(분산 병렬 처리 : 대표적으로 Hadoop이 있다.)

관리 측면에서는 클라우스 서비스, 분산 플랫폼 등을 배운다.

AIhub나 공공데이터포탈을 사용해서 데이터를 구한다.

빅데이터 활용 분야

정보통신 분야, 도소매 분야, 제조 분야(디지털 트윈 기술)에 많이 사용한다.

수집할 때, 크롤링을 쓰는데, 파이쓴을 주로 쓴다.(크롤링할 때 유용한 라이브러리(selenium)를 제공한다.)

수집

실시간 데이터는 flume, Kafka를 사용할 수 있다. (전용 채널을 만든다. 바로바로 저장할 수 있다.)

저장

저장 하는 플랫폼으로 하드둡이 있다. 

두 가지로 나뉜다. HDFS(파일 시스템) :  각자 다른 파일 시스템을 통합한 형태로 새로 만들었다. 파일을 쪼개어서 여러개의 노드에다가 저장을 한다.(구조를 말하고 있다.)

마스터 노드도 존재하고 있다.

MapReduce : 나누어진 구조에서 파일을 가져오는 방식을 말한다.

하드디스크는 느리다. (레코드판과 같은 원리이다. RPM을 본다. 요즘에는 SSD를 사용한다.(플래시 메모리

전기적인 신호를 사용한다.)) 

윈도우즈는 SSD 백업용으로는 하드디스크를 많이 사용한다.

DB(NoSQL)가 느려서 메모리기반 DB(스파크)가 나왔다.

SPARK

저장 처리, 분석 다 가능하다.

-고속 메모리  처리

-SQL 지원(데이터베이스 프로그램 언어)

-딥러닝

-시각화

병렬처리를 따로 하는 언어를 만들자

java, pig, R

mapreduce가 자바 언어로 대표적이다.

pig는 인터프리터 언어 방식이다. 실제로 mapreduce로 변환된다.

하이브라는 언어는 PIG와 SQL을 잘 호환하게 해준다.

분석/시각화에 R과 Python을 많이 사용한다.

전통적으로 데이터 분석하는 사람은 R을 선호한다.

빅데이터

1. 지도 (KNN)

2. 비지도 (Kmeans)

3. 회귀(Regression)

4.시계열(LSTM)

5. 상관관계

시각화 하는 것이 가장 중요한 요소이다.

하둡에코시스템(생태계)

요즘에는 '스쿱', '하둡' 등이 다 호환이 된다.

RAID

스토리지를 여러 개 달아놓고 병렬로 데이터 처리한다.

빅데이터의 백업본 저장을 효율적으로 할 수 있다.

->한 순간에 하나만 저장할 수 밖에 없기 때문이다.

이레이저 코딩 기술을 적용하면 복제하는 것을 하지 않아도 된다.

이레이저 코딩을 쓸 수 있지만, 데이터를 촘촘히 쓰므로, 병목현상이 많다.

NoSQL

NoSQL 네가지 모델

키벨류, 다큐먼트, 칼럼, 그래픽 기반

대표적인 NoSQL은 mongoDB가 있다.

mongoDB에서 분산을 sharding이라고 한다.