데이터 수집 > 저장 > 처리 > 분석 > 표현
출처
데이터 | 특징 | 예시 |
---|---|---|
비정형 데이터 | 정해진 규칙이 없고, 값의 의미를 쉽게 파악하기 힘듦 | 음악, 음성 데이터, 동영상 |
반정형 데이터 | 어느 정도 규칙이 있지만, 그 규칙이 상황에 따라 너무 다르게 나타나는 것 | HTML, XML, JSON |
정형 데이터 | 값의 의미 파악이 쉽고, 규칙적인 값으로 데이터가 들어간 경우 | CSV, RDBMS, 엑셀 파일 |
데이터 | 종류 | 수집 방법 |
---|---|---|
비정형 데이터 | DBMS, 이진파일 | - ftp 프로토콜을 사용해 파일을 수집 시스템에 다운로드 하고 해당 파일을 API를 통해 데이터 처리 |
반정형 데이터 | 스크립트 파일, 이진 파일 | - http 프로토콜을 사용해 파일의 텍스트를 스크랩하고 데이터에 저장된 메타정보를 읽어 파일을 파싱해 데이터 처리 - 스트리밍을 사용해 파일의 텍스트를 스크랩하고 데이터에 저장된 메타정보를 읽어 파일을 파싱해 데이터 처리 |
정형 데이터 | 스크립트 파일 | - DBMS 벤더가 제공하는 API를 통해 정형 데이터에 접근해 데이터를 수집하고 시스템에 저장 - ftp 프로토콜을 사용해 파일을 수집 시스템에 다운로드 하고 해당 파일의 API를 통해 데이터 처리 |
데이터 | 종류 | 수집 방법 |
---|---|---|
비정형 데이터 | DBMS, 이진파일 | - ftp 프로토콜을 사용해 파일을 수집 시스템에 다운로드하고 해당 파일을 API를 통해 데이터 처리 - http 프로토콜을 사용해 파일의 텍스트를 스크랩하고 내부 처리에서 텍스트를 파싱해 데이터 처리 |
반정형 데이터 | 스크립트 파일, 이진 파일 | - http 프로토콜을 사용해 파일의 텍스트를 스크랩하고 데이터에 저장된 메타정보를 읽어 파일을 파싱해 데이터 처리 - 스트리밍을 사용해 파일의 텍스트를 스크랩하고 데이터에 저장된 메타정보를 읽어 파일을 파싱해 데이터 처리 |
정형 데이터 | 스크립트 파일 | - DBMS 벤더가 제공하는 API를 통해 정형 데이터에 접근해 데이터를 수집하고 시스템에 저장 - ftp 프로토콜을 사용해 파일을 수집 시스템에 다운로드하고 해당 파일의 API를 통해 데이터 처리 |
데이터 | 종류 | 수집 방법 |
---|---|---|
비정형 데이터 | DBMS | 척와(Chukwa), 스크라이브(Scribe) |
반정형 데이터 | 스크립트 파일 | 플룸(Flume) |
정형 데이터 | 파일 | 스쿠프(Sqoop), hiho |
SQL에서 주로 다루던 관계형 데이터베이스가 복잡하게 관계형 구조를 짜야하고 스키마도 있고하니 편하게 문서형 데이터를 저장할 수 있는 방법이 없을까? 하고 나온기술이면서도 RDBMS 한계를 극복 할 수 있는 기술
- 무(無) 스키마 : RDBMS는 데이터의 관계를 Foreign Key 등으로 정의하고 join 등 관계형 연산을 하지만 그러한 SQL의 RDBMS와는 달리 데이터를 모델링하는 고정된 데이터 스키마 없이 Key값을 이용하여 다양한 형태의 데이터를 저장하고 접근 즉, 관계를 정의하지 않아도 됨
- 분산형 구조 : NoSQL은 분산형 구조를 통해 여러대의 서버에 분산하여 저장하고 상호복제하여 데이터 유실이나 서비스 중지에 대비가 가능함
- : CAP이론 준수 : 분산형 구조는 일관성(Consistency), 가용성(Availability), 분산허용(Partitioning Tolerance)의 3가지 특징을 가지고 있고 CAP이론은 이 중 2가지만 만족할 수 있다는 이론
HDFS(Hadoop Distributed File System) : 대용량 파일을 분산된 서버에 저장하고, 많은 클라이언트가 저장된 데이터를 빠르게 처리할 수 있게 설계된 파일 시스템
- 일괄처리라고도 불림
- 데이터를 바로바로 처리하는 것이 아닌 일괄적으로 모아서 한 번에 처리하는 작업
- Ex) 은행 정산작업
- 데이터가 발생과 동시에 즉시 처리하는 방식
- 주로 log처럼 스트리밍 데이터를 처리할 때 쓰임
- Ex) Instagram, Twitter 등 글
- 사용자의 입력에 대하여 컴퓨터에서 바로 결과를 출력
- Ex) Python, Scala
- 자연어 처리(NLP)하여 비정형 데이터에서 정보(단어)를 추출하여 의미있는 정보를 발견하는 분석 방법
- 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야
- 딥러닝 또한 기계학습에 포함됨
- 비슷한 데이터끼리 모아 군(집합)으로 분류하는 학습 방법
- 데이터 시각화(data visualization)는 데이터 분석 결과를 쉽게 이해할 수 있도록 시각적으로 표현하고 전달되는 과정
- Kibana, R 등이 있음