[16일차] | 대규모 시스템 설계 기초2 | 책너두

Heechan Kang·약 13시간 전
0
post-thumbnail

데이터 모델

  • 지표 데이터는 통상 시계열 데이터로 기록한다.

    • 예시

      metric_namecpu.load
      labelshost:i631,env:prod
      timestamp1613856000
      value0.29
  • 또한, 통상적으로 행 프로토콜(line protocol)을 따른다.

    • 예시

      CPU.load host=webserver01,region=us-east 1613856000 50
      CPU.load host=webserver02,region=us-east 1613856000 29
      CPU.load host=webserver01,region=us-east 1613857000 53
      CPU.load host=webserver02,region=us-east 1613857000 31
      ...

데이터 접근 패턴

  • 이러한 형태의 데이터를 관리하는데에서, 쓰기 부하가 주로 발생하며 그 양이 매우 많다.
  • 이에 비해 읽기 부하는 매우 적다고 볼 수 있다.
    • 필요한 경우에만 일시적으로 치솟았다 사라지는 Spiky 패턴이 발생한다.

데이터 저장소 시스템

  • 이러한 이유로, 저장소를 직접 설계하거나, MySQL과 같은 범용 저장소 시스템을 사용하는것은 추천하지 않는다.

    • 이러한 규모의 데이터를 감당하려면, 전문가 수준의 튜닝이 필수적이고, 이는 비용이 매우 많이 든다.
  • NoSQL이 그나마 시계열 처리에 사용될 수 있으나, 추후 효율적인 확장과 질의를 위해서는 전문적인 스키마 설계가 필요하다. 이또한 비용이 많이 든다.

  • 결과적으로, InfluxDB, Prometheus 등의 전문적인 시계열 데이터베이스를 사용하는 것이 좋다.

profile
안녕하세요!

0개의 댓글