본문 바로가기

AI/Machine Learning

[Practical Time Series Analysis (실전 시계열 분석)] Chapter 05 시간 데이터 저장

728x90

Chapter05 시간 데이터 저장

 

들어가며

  • 시계열 스토리지
    • 크기에 따른 성능 확장 방법에 대한 중요성
    • 데이터 접근에 대한 무작위적인 방식 대 순차적 방식의 중요성
    • 자동화 스트립트의 중요성
  • 현재 가용 기술
    • SQL 데이터베이스
    • NoSQL 데이터베이스
    • 단층 파일 형식

 


 

5.1 요구 사항 정의

 

5.1.1 실시간 데이터와 저장된 데이터

  • 정보의 유실 없이 데이터를 줄일 수 있는 경우
    • 천천히 변하는 변수
      • 상태 변수를 저장한다면 값이 변한 데이터만 기록한다.
    • 노이즈가 낀 높은 빈도의 데이터
      • 높은 수준의 노이즈는 각 개별 측정의 가치를 떨어뜨린다.
      • 사전에 데이터의 종합 집계를 고려해야 한다.
    • 오래된 데이터
      • 오래된 데이터일수록 활용가능성이 줄어든다.

 


 

5.2 데이터베이스 솔루션

 

5.2.1 SQL과 NoSQL

  • 원래의 SQL 데이터베이스로부터 영향을 받은 데이터의 특성
    • 이미 존재하는 데이터의 업데이트가 번번히 발생한다.
    • 기본적인 데이터가 정렬되지 않아서 다소 무작위적인 접근이 이루어진다.
  • 시계열 데이터의 특성
    • 읽기 작업보다 쓰기 작업이 지배적으로 발생한다.
    • 데이터의 쓰기, 읽기, 업데이트 작업은 임의의 순서가 아닌 일련의 사건이 일어나는 시간에 관련된 순서에 따라 이루어진다.
    • 트랜잭션 데이터보다 훨씬 더 동시성 읽기가 수생될 가능성이 높다.
    • 시간 외의 변수를 시본키로 두는 경우는 매우 드물다.
    • 개별 데이터 삭제보다 데이터 뭉치를 삭제하는 것이 훨씬 더 일반적이다.
  • SQL 데이터 베이스와 NoSQL 데이터 베이스 성능 비교

NoSQL 데이터베이스는 SQL 보다 쓰기 작업에서의 성능이 특히 뛰어나다.

  • SQL과 NoSQL을 선택하는 방법
    • 시계열에 대해 SQL의 장점
      • 시계열이 SQL 데이터베이스에 저장된다면, 해당 데이터베이스에 이미 저장된 관련성을 가진 다른 비시계열 데이터와 손쉽게 연관시킬 수 있다.
      • 계층적인 시계열 데이터에는 관계형 테이블이 자연스럽게 들어맞는다. 덕절한 SQL 스키마는 이런 계층을 분명히 설명해주고 관련 시계열들의 그룹화를 가능하게 해준다. 이와는 대조적으로 NoSQL 솔루션에는 이러한 데이터가 낮은 체게성을 가진 채 여기 저기 흩어지기 쉽다.
      • SQL 데이터 베이스에 가장 잘 맞는 트랙잭션 데이터에 기반하여 시꼐열을 만든다면, 시계열을 동일 데이터 베이스에 저장하여 쉬운 검증 및 상호 참조 등의 이점을 누릴 수 있다.
  • 시계열에 대해 NoSQL의 장점
    • 쓰기 속도가 빠르다.
    • 미래 데이터를 아직 충분히 알지 못해서 지능적이며 견고한 스키마 설계가 불가능한 경우에 유리하다.
    • 비전문가도 즉시 사용 가능하다. 이상해 보이거나 평범한 수준의 스키마를 디자인을 하게 될 가능성이 적어서 비전문가가 사용하더라도 어느 정도 성능은 보장된다.

 

5.2.2 인기 있는 시계열 데이터베이스와 파일 솔루션

  • 시계열에 특화된 데이터베이스 및 관련된 모니터링 도구
    • 인플럭스 DB
    • 프로메테우스
  • 범용 NoSQL 데이터베이스
    • 몽고 DB

 


 

5.3 파일 솔루션

 

5.3.1 넘파이

  • 데이터가 순수 수치형으로만 구성되어 있다면, 수치형 데이터 보관에 널리 사용되는 방식 중 하나인 파이썬의 넘파이 배열을 고려해볼 수 있다.

 

5.3.2 팬더스

  • 손쉬운 데이터의 레이블링, 서로 다른 시계열 데이터의 저장, 또는 둘 다 를 모두 하고 싶다면 덜 간결하더라고 보다 유연한 팬더스의 데이터프레임을 고려해봐야 한다.5.3.3 표준 R에 동등한 것
  • R 개체는 기본으로 .Rds 와 .Rdata 형식으로 저장된다.
  • 이 둘은 이진 파일 형식이라 텍스트 기반 형식보다 압축과 I/O 측면에서 효율적이다.

 

5.3.4 Xarray

  • 차원에 명명할 수 있는 기능 제공
  • 넘파이 같이 벡터화된 수학적 연산 제공
  • 팬더스같이 그룹화 연산의 제공
  • 데이터베이스같이 시간 범위 기반의 색인 기능 제공
  • 다양한 파일 스토리지의 옵션 제공

 


 

위 내용은 경희대학교 교내 동아리 KHUDA 에서 공부한 내용을 바탕으로 작성했습니다. 😜

공부한 책은 아래의 링크를 참고해주세요 !

https://link.coupang.com/re/CSHARESDP?lptag=CFM99774036&pageKey=5237489681&itemId=7390665092&vendorItemId=74681873862

 

실전 시계열 분석:통계와 머신러닝을 활용한 예측 기법

COUPANG

www.coupang.com