피드로 돌아가기
Why I'm Learning ROS 2 as a Database Person
Dev.toDev.to
Database

rosbag2의 리플레이 중심 한계를 극복한 TimescaleDB 기반 Fleet Telemetry 아키텍처 설계

Why I'm Learning ROS 2 as a Database Person

Matty Stratton2026년 5월 1일3intermediate

Context

ROS 2의 기본 저장 방식인 rosbag2가 분석보다 Replay에 최적화된 구조로 설계되어 대규모 Fleet 데이터 쿼리에 병목 발생. 수백 개의 Bag 파일을 메모리에 모두 로드해야만 이상 징후를 분석할 수 있는 비효율적 데이터 파이프라인 구조가 한계점으로 작용.

Technical Solution

  • High-frequency Sequential Write 처리를 위해 Time-series Database인 TimescaleDB 도입
  • Replay 중심의 파일 저장 방식에서 분석 중심의 Queryable Storage 구조로 전환
  • ROS 2 Node를 직접 구현하여 Telemetry 데이터를 데이터베이스로 직접 스트리밍하는 파이프라인 구축
  • Schema 설계 및 Type Mapping 최적화를 통한 로봇 데이터의 정형화된 저장 체계 마련
  • Grafana 연동을 통한 실시간 Robot Telemetry 시각화 및 분석 환경 구축
  • Fleet 단위의 데이터 비교 분석을 위해 전체 파일 로드 없이 특정 조건의 데이터만 추출하는 쿼리 최적화

- 로그 파일 기반의 기록 방식이 분석 단계에서 병목이 되는지 검토 - 데이터의 목적이 단순 복구(Replay)인지 분석(Analysis)인지에 따른 저장소 분리 설계 - 대규모 시계열 데이터 처리 시 Write-heavy 워크로드에 최적화된 DB 선택 여부 확인 - 하드웨어 제약 없이 검증 가능한 Simulation 환경(예: TurtleBot3, Gazebo) 우선 구축

원문 읽기