XIV. 빅데이터 및 NoSQL에 대한 이해

- 목표 : 빅데이터 개념과 관련 기술, NoSQL의 개념과 특징

- 핵심 키워드 : 빅데이터, 3V, 비정형데이터, 분산파일시스템(DFS), NoSQL, CAP이론

 

01 빅데이터의 개요

. 빅데이터 정의 및 특징

  1) 빅데이터 정의

      - 기존 DB 관리도구의 데이터 수집, 저장, 분석하는 역량을 넘어서는 데이터

      - 다양한 종류의 대규모 데이터로부터 저비용으로 추출, 빠른 수집, 발굴, 분선을 지원하는 차세대 기술 및 아키텍처

 

   2) 빅데이터 특징(3V)

3 요소 설명
크기(Volume) - 수십 테라바이트(Terabyte)/페티바이트(Petebyte) 이상의 데이터
속도(Velocity) - 고속 생성, 실시간 처리(수집, 처리, 저장, 분석)
다양성(Valiety) - 다양한 종류 데이터(정형, 반정형, 비정형)

 - 빅데이터 6V : Volume, Variety, Velocity + Veracity(진실성), Visualization(시각화), Value(가치)

 

  3) 정형 데이터 VS 비정형 데이터

데이터 형태 설명
정형(Structured) - 고정된 필드에 저장되는 데이터
반정형(Semi-Structured) - XML, HTML 처럼 메타 데이터나 스키마 포함 데이터(CVS, XLS, RDF)
비정형(Unstructed) - 문서, 그림, 동영상, 오디오, 비디오

 

) 빅데이터의 Life Cycle별 세부기술

구분 설명 세부기술
수집 - 데이터 수집 기술 - 크롤링(웹로봇), ETL, CEP
저장/처리 - 분산 저장/처리 - DFS, NoSQL, MapReduce
분석 - 유의미한 정보 추출 - NLP, ML, 데이터 마이닝
표현 - 분석 결과의 효과적 표현 - R, 그래프, 도면, 시각화

 * CEP(Complex Event Processing, 실시간 복합 이벤트 처리)

   - 실시간 데이터의 가시화를 통해 이벤트 간 연관성, 패턴을 이해하고 유의미한 정보를 통해 다양한 비즈니스 가치를 창출하는 과정

 

02. 빅데이터 관련 기술

  가) 수집기술

    - ETL, 웹 크롤링, RSS Feeding, Open API, CEP

   - 웹 크롤링 : 웹 문서, 데이터 자동 수집(SNS, 블로그, 뉴스), HTML 코드 분석, 특정 태그 데이터 수집 

기술 설명 솔루션
DBMS 이용 SQL 기능 이용 Oracle, MariaDB, Tibero
센서 이용 일정 조건 만족 시 데이터 수집 CQL, Kafka
FTP 수집 파일 이동 포트 이용 수집  
HTTP 수집 HTML  태그 이용 수집 스크래퍼

  ) 빅데이터 저장/처리 기술

기술 설명 솔루션
분산파일시스템(DFS) - 대용량, 비정형 데이터의 분산 저장/처리 아키텍처
- 가격 저렴, Scale-Out, 고가용성, Batch 처리
GFS(Google File System), HDFS(Hadoop DFS)
NoSQL - BASE특성의 저장/검색 시스템
- 유연한 스키마, 비 관계형 모델, 확장성
HBase, Cassandra, MongoDB, CouchBase, Redis, Neo4J
MapReduce - 클러스터 환경에서의 병렬 분산 처리 프레임워크
- HDFS 연동, 다양한 옵션
HDFS

- 최근 클라우드 환경에서 가상화 기술 이용한 클라우드 기반 분산 파일 시스템 도입 중

 

    다) 표현기술

    - 이해하기 쉽도록 분류, 통계, 그래프 이용하는 기법

  라) 빅데이터 분석

     - 빅 데이터로부터 의미 있는 패턴을 발견하는 것

 

  마) 주요 빅데이터 분석 방법

개념 설명
로지스텍 회귀분석
(Logistic Regression)
- 독립변수의 선형결합 이용, 사건의 발생확률 예측 기법
의사결정트리 분석(Decision Tree) - 의사결정 규칙을 도표화, 소집단으로 분류, 예측하는 계량적 분석방법
신경망 분석(Neural Network) - 인간 두뇌 모방, 네트워크 기반으로 병렬, 분산, 확률적 계산 분석방법
텍스트 마이닝 (Text Mining) - Test 데이터를 NLP, 문서처리 기술 적용하여 추출/가공하는 기술
- 핵심기술 : 요약, 분류, 군집, 특성 추출
SNA (Social Network Analysis) - 객체 간의 관계, 네트워크의 특성/구조 분석, 시각화화는 분석방법론
Opinion Mining - 비정형 리뷰에서 정보 분석, 지능적 유추 기술
- 핫 이슈 추출, 여론 분석, 마케팅 정책에 활용
자연어처리(NLP) - 사람의 언어를 이해, 생성, 분석하는 AI기술
- 절차 : 전처리 → 형태소 분석 → 구문분석 → 의미분석 → 담화분석

   ) 데이터 과학자

     - 데이터 수집, 정리, 조사, 분석, 가시화 전문가. 데이터를 이용해 기업/조직에 필요한 정보 제공

 

03. NoSQL

 ) NoSQL 정의 및 특징

 - 비정형, 초고용량 데이터 처리 위해 쓰기속도 증가, 복제/분산 저장, 수평적 확장이 가능한 비관계형 분산 데이터 저장소

 - 특징

특징 설명
대용량 데이터 처리 - 페타바이트 수준 처리 가능, 느슨한 데이터 구조
유연한 스키마 - 유연한 저장, Key-value, Graph, Document 구조
저렴한 클러스터 구성 - 상용 HW 활용, 수평적 확장, 복제 및 분산 저장
단순한 CLI - 쿼리 언어 없음, API Call, Http 이용 단순한 인터페이스
고가용성 - 클러스터 환경에 자동 분할, 적재
적정한 무결성 - BASE 기반, 무결성을 응용에서 일부 처리
Schema-Less - Key 이용 저장, 접근 기능 사용, 칼럼, , 문서, 그래프 방식
탄력성 - 성능 확장 용이, 입출력 부하 분산 용이
질의가능(Query) - 대규모 시스템에서 검색/처리 가능한 질의언어, API 제공
캐싱(Caching) - 파티셔닝 통한 점진적 노드 추가 가능
높은 확장성 - 메모리 기반 처리, 논블락킹 Write/단순한 알고리즘 사용
원자성 - 각각의 쓰기는 원자성 보유
일관성 - 결과적 일관성 보유
지속성 - 데이터는 디스크에 유지
배포의 유연함 - 노드 추가/삭제 자동 로드, 이기종간 동작 가능
모델링의 유연함 - Key-value, 계층적 데이터, 그래프 등 다양한 모델링 가능
퀴리의 유연함 - 다중 GET, 범위 기반 쿼리 가능

 

 

 

 

) NoSQLBASE 속성

구분 설명
Basically Available - 가용성 중시, Optimistic Locking/규 사용
- 다수 스토리지에 복제를 통해 가용성 보장
Soft-State - 외부의 전송 정보를 통해 노드 상태 결정
- 데이터가 노드에 도달한 시점에 갱신
Eventually Consistent - 일시적 비일관적 상태 → 최종적으로는 일관성 성립

 BASE 속성과 ACID 속성 비교

속성 BASE ACID
분야 NoSQL RDBMS
범위 시스템 전체 특성 트랜잭션에 한정
일관성 측면 약한 일관성 강한 일관성
중점사항 ‘Availability’에 집중 ‘Commit’에 집중
시스템 측면 성능에 초점 엄격한 데이터 관리에 초점
효율성 쿼리 디자인이 중요 테이블 디자인이 중요

 ) NoSQL의 저장방식

 - NoSQL 종류

종류 설명
Key-Value 기반 - 단순/빠른 Get, Put, Delete 기능 제공
- Dynamo, Redis, MemcacheDB
Column Family 기반 - 칼럼 패밀리에 행으로 데이터 저장
- Cassandra, HBase, SimplDB
Document 기반 - 문서를 Key-ValueValue 부분에 저장
- MongoDB, CouchDB
Graph 기반 - 엔트리 속성을 노드로, 관계를 엣지로 표현
- Neo4J, 플록DB

   라) NoSQL 데이터 모델의 특징 비교              

방식 관계형DB 데이터 모델링 NoSQL 데이터 모델링
개념도
핵심 - ACID 기반 데이터 모델링 - BASE기반 데이터 모델링
방식 - 최소 중복 통한 데이터 일관성 확보 - 데이터 중복통한 빠른 조회 확보
단계 - 데이터 모델링(설계)후 개발 - 화면, 개발 로직 고려한 데이터셋 설계
독립성 - 프로그램 독립적 설계(데이터 독립성 중요) - 프로그램 종속적 설계(데이터 독립서 회피)
특징 - 논리적 연결점 보유한 모델링 기법 - 파일구조 설계에 근접

   마) NoSQL 데이터 모델의 특징

     1) CAP 이론의 정의

        - 대용량 분산 DB는 일관성(Consistency), 가용성(Availability), 단절내성(Partition Tolerance)을 모두 만족시키는 것은 

          불가능, 두 가지만 전략적으로 선택해야 한다는 이론

     2) CAP 이론의 구성과 관리 전략

특성 설명
구성도
Consistency - 각 사용자는 항상 동일한 데이터 조회
Availability - 소수 노드 장애 발생에도 다른 노드에 영향 없음
Partition Tolerance - 일부 메시지 손실에도 시스템은 정상 동작
C + A - 메시지 손실 방지하는 강한 신뢰성, 일반 RDBMS
C + P - 모든 노드가 함께 퍼포먼스 내는 성능형, Big Table, Hyper Table, HBase
A + P - 비동기화된 스토어 작업에 필수적
- Dynamo, Apache Cassandra, CouchDB, Oracle Coherence

  - NoSQL 시스템들은 A+P, C+P의 특성을 가지는 분산시스템들로 구성

 

+ Recent posts