Skip to main content
QUICK REVIEW

[논문 리뷰] A Fast Lightweight Time-Series Store for IoT Data

Daniel Waddington, Changhui Lin|arXiv (Cornell University)|2016. 05. 04.
Advanced Data Storage Technologies참고 문헌 8인용 수 3
한 줄 요약

이 논문은 IoT 워크로드에 최적화된 고성능, 메모리 효율적인 시계열 데이터베이스인 경량 시계열 스토어(LTSS)를 제안한다. 로그 구조 스토리지 엔진, 메모리 내 계층적 인덱싱, 인프ly 정렬, 다코어 최적화된 파이프라인 아키텍처를 조합함으로써 LTSS는 일반 하드웨어에서도 초당 400만 건 이상의 레코드를 처리할 수 있으며, 동시 쓰기 부하 조건에서도 SQLite3 및 PostgreSQL와 비교해 유사하거나 우수한 SQL 쿼리 성능을 유지한다.

ABSTRACT

With the advent of the Internet-of-Things (IoT), handling large volumes of time-series data has become a growing concern. Data, generated from millions of Internet-connected sensors, will drive new IoT applications and services. A key requirement is the ability to aggregate, preprocess, index, store and analyze data with minimal latency so that time-to-insight can be reduced. In the future, we expect real-time data collection and analysis to be performed both on small devices (e.g., in hubs and appliances) as well in server-based infrastructure. The ability to localize sensitive data to the home, and thus preserve privacy, is a key driver for small-device deployment. In this paper, we present an efficient architecture for time-series data management that provides a high data ingestion rate, while still being sufficiently lightweight that it can be deployed in embedded environments or small virtual machines. Our solution strives to minimize overhead and explores what can be done without complex indexing schemes that typically, for performance reasons, must be held in main memory. We combine a simple in-memory hierarchical index, log-structured store and in-flight sort, with a high-performance data pipeline architecture that is optimized for multicore platforms. We show that our solution is able to handle streaming insertions at over 4 million records per second (on a single x86 server) while still retaining SQL query performance better than or comparable to existing RDBMS.

연구 동기 및 목표

  • 초기 센서 데이터가 대량으로 생성되는 IoT 환경에서 고처리량, 저지연 시계열 데이터 관리의 증가하는 수요를 해결한다.
  • 복잡한 인덱싱과 메모리 집약적인 설계로 인해 높은 처리량을 견디지 못하는 기존 관계형 데이터베이스(RDBMS) 및 NoSQL 시스템의 성능 한계를 극복한다.
  • 메모리 제약이 있는 임베디드 환경(예: 라즈베리 파이)에서도 높은 성능과 SQL 호환성을 유지하면서 배포 가능하도록 한다.
  • 주 메모리 B+-트리나 LSM-트리 인덱싱을 피함으로써 메모리 오버헤드를 최소화하고, 대신 경량 메모리 계층적 인덱싱과 지속 가능한 로그 구조 스토리지 엔진을 사용한다.
  • 실시간 데이터 수집과 복잡한 분석 SQL 쿼리 모두를 저지연으로 지원하며, 동시 쓰기 부하 조건에서도 성능이 유지된다.

제안 방법

  • 다코어 CPU와 병렬 I/O를 최적화한 소프트웨어 파이프라인 아키텍처를 설계하여 처리량을 극대화한다.
  • 무작위 쓰기 횟수를 줄이고 쓰기 증폭을 개선하기 위해 로그 구조 스토리지 엔진을 사용한다. 특히 NVMe SSD에서 유리하다.
  • DRAM에 전체 B+-트리 구조를 요구하지 않으면서도 시간 범위 쿼리에 효율적으로 대응할 수 있도록 메모리 내 계층적 인덱싱을 구현한다.
  • 수집 중에 인플라이 정렬을 적용하여 정렬된 순서를 유지하고 범위 스캔 및 슬라이딩 윈도우 집계를 효율적으로 수행한다.
  • 수집 시점에 복합 시간 메타데이터(예: 일, 월)를 유도하여 쿼리 시간 계산을 줄이고 시간 기반 분석 성능을 향상시킨다.
  • 수집과 쿼리 처리를 통합하기 위해 단일 파이프라인 아키텍처를 사용함으로써 컨텍스트 스위치를 줄이고 캐시 지역성을 향상시킨다.

실험 결과

연구 질문

  • RQ1기존 RDBMS 및 NoSQL 솔루션보다 훨씬 높은 처리량을 달성할 수 있는 경량이고 임베디드 환경에 적합한 시계열 스토어는 가능한가?
  • RQ2메인 메모리에 의존하는 인덱싱을 최소화함으로써 복잡한 SQL 쿼리 지원과 함께 성능을 얼마나 향상시킬 수 있는가?
  • RQ3변동하는 네트워크 지연이 흔한 IoT 네트워크에서, 순서가 어긋난 데이터를 얼마나 잘 견디는가?
  • RQ4특히 락 메커니즘을 사용하는 전통적인 RDBMS와 비교해, 고 동시 쓰기 부하 조건에서도 저지연 SQL 쿼리 성능을 유지할 수 있는가?
  • RQ5라즈베리 파이 2와 같은 저전력 임베디드 플랫폼에 이러한 시스템을 배포하는 것은 가능한가, 여전히 만족스러운 성능을 확보할 수 있는가?

주요 결과

  • LTSS는 10G NIC가 탑재된 단일 x86 서버에서 최대 초당 400만 건 이상의 레코드 처리를 달성했으며, 기존 RDBMS 솔루션 대비 3배에서 4배 빠른 성능 향상을 보였다.
  • 라즈베리 파이 2에서는 약 7만 건의 레코드를 초당 처리하여 임베디드 및 자원 제약 환경에서의 구현 가능성을 입증했다.
  • LTSS는 시간 선택 쿼리(예: 월 또는 시간 창 필터링)에 특히 유리하게, SQLite3 및 PostgreSQL보다 항상 뛰어난 SQL 쿼리 성능을 유지한다.
  • 시스템은 높은 순서 어긋남 내성성을 보였다: 1:100 지연 비율 조건에서도 처리량은 이상 상태(981.5 KPPS)에서 844.8 KPPS로 약간 감소할 뿐이었으며, 네트워크 지터에 대한 회복력이 뛰어나다는 것을 시사한다.
  • 동시 수집 및 쿼리 부하(최대 100만 건/초) 조건에서도 쿼리 성능 변동이 1% 미만으로 유지되어 읽기-쓰기 경쟁에 대한 뛰어난 내성성을 입증했다.
  • 전통적인 RDBMS인 SQLite3 및 PostgreSQL는 락으로 인해 부하가 걸릴 경우 심각한 성능 저하를 겪었으며, 낮은 쿼리 비율에서도 패킷 손실이 발생했지만, LTSS는 락 없는 설계로 이를 피했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.