2 분 소요

키워드🔑
데이터 적재, 데이터 적재 아키텍쳐, 서버 노드 아키텍처, 데이터 아키텍처, 네트워크 아키텍처, 플루언티드

03. 데이터 수집 및 저장 계획

2. 데이터 적재 및 저장

1) 데이터 적재


(1) 데이터 적재 아키텍처 수립

  • 아키텍처 정의
    📌 요구사항을 구현하기 위한 기술을 정의
    • 요구사항을 반영하여 하드웨어, 소프트웨어 아키텍처 정의 → 정보시스템을 위한 기술적 기반이 됨
  • 빅데이터 적재 아키텍처 요구사항 정의
    📌 장비, 소프트웨어, 성능 인터페이스
    • 장비 요구사항 정의: 서버, 네트워크, 스토리지 장비 규격 정의
    • 소프트웨어 도입 요구사항 정의
      • 자체 구축(온프레미스): 상용, 오픈소스 소프트웨어 모두 고려
      • 자체 구축이 아닌 경우: 상용 클라우드 서비스 고려(IaaS, PaaS, SaaS 중 선택)
    • 성능 요구사항 정의: 서버(용량), 네트워크(트래픽, 대역폭), DBMS(용량계획) 응용 시스템(응답속도)
    • 인터페이스 요구사항 정의: 내부/외부 연계 대상 시스템을 고려하여 정의

💡
온프레미스(On-premise)란, 서버나 소프트웨어와 같은 기업의 솔루션 등을 원격 환경이 아닌
자체적으로 보유한 전산실에서 직접 설치하여 운영하는 방식을 말한다

  • 빅데이터 적재 하드웨어 아키텍처 정의
    📌 서버 노드, 데이터, 네트워크 아키텍처
    • 서버 노드 아키텍처 정의: 관리를 위한 네임노드, 데이터 처리를 위한 데이터 노드
      • 단일 네임노드 + 다수 데이터 노드 (+ 보조 네임 노드)
      • 네임노드: 파일 시스템의 메타데이터를 관리, 데이터를 블록 단위로 데이터노드에 분배
      • 데이터노드: 실제 데이터 저장, 처리가 수행되는 노드
    • 데이터 아키텍처 정의: RDB, NoSQL, 분산파일 시스템 등
      • 처리할 데이터의 유형, 성격에 따라 아키텍처 구성
      • 정형 데이터의 경우: 관계형 데이터베이스(RDB)
      • 비정형 데이터의 경우: NoSQL
    • 네트워크 아키텍처: 목표 시스템 네트워크 구성, 개별 장비 네트워크 환경
  • 빅데이터 적재 소프트웨어 아키텍처 정의
    • 기반 소프트웨어 정의: 하둡, 인메모리 데이터베이스, 데이터 분석 플랫폼, 데이터 시각화 적용 검토
    • 빅데이터 적재 소프트웨어 아키텍처: 데이터수집 → 적재&저장 → 분석 → 활용단계에 따른 아키텍처 정의
수집 적재 및 저장 분석 활용
- ETL
- 크롤러
- 연계/수집 플랫폼
데이터 구성 플랫폼
- RDB저장소
- NoSQL 저장소
- Object 저장소
빅데이터 분석 모델/플랫폼 - 데이터 시각화
- 데이터 활용 플랫폼
- Open-API 서비스


(2) 데이터 적재

  • 데이터 적재 특징
    • 수집한 데이터는 빅데이터 시스템에 적재
    • 빅데이터 유형, 실시간 처리 여부에 따라 → RDBMS / HDFS / NoSQL 저장 시스템
    • 분산된 여러 서버에서 데이터를 수집하는 데이터 수집 플랫폼, 저장 방법의 중요성이 점점 확대되고 있다
  • 데이터 적재 도구: 데이터베이스가 제공하는 적재 도구로 직접 적재, 데이터 수집 도구 이용하여 적재
    📌 데이터 수집 도구: 플루언티드, 플럼, 스크라이브, 로그스태시
    • 플루언티드(Fluentd): 크로스 플랫폼 오픈소스 데이터 수집 소프트웨어
      • 각 서버에 플루언티드 설치 → 서버에서 로그 수집 → 중앙 로그 저장소에 전송
      • 플루언티드가 로그 수집 에이전트 역할만 수행하는 가장 간단한 구조
      • 중간에 두는 플로언티드: 로그 저장소에 넣기 전에 로그 트래픽을 조정하기 위함
      • 여러 저장소에 로그를 복제해서 저장, 로그 종류에 따라 다른 저장소로 라우팅 가능
    • 플럼(Flume): 대용량 로그 데이터를 수집, 집계, 이동 / 이벤트, 에이전트 활용
    • 스크라이브(Scribe): 다수 서버로부터 실시간 스트리밍 로그 데이터 수집
    • 로그스태시(Logstash): 모든 로그 정보를 수집하여 하나의 저장소에 출력해주는 시스템

댓글남기기