MongoDB Atlas 및 실시간 IoT 데이터를 사용하여 로켓 발사를 모니터링합니다.
제품: MongoDB Atlas, MongoDB 집계 파이프라인, MongoDB Time Series, MongoDB Atlas Charts, MongoDB Atlas 데이터베이스, MongoDB Atlas Data Federation, MongoDB Atlas Search, MongoDB Atlas SQL 인터페이스, MongoDB Atlas Triggers
솔루션 개요
이 솔루션은 MongoDB의 멀티클라우드 데이터베이스 플랫폼을 사용하여 로켓 발사 시 IoT 데이터를 분석 . 이 앱은 가상의 데이터와 함께 블루 오리진(BlueOrigin)으로켓을 발사한 과정에서 얻은 오픈 소스 데이터 세트 사용합니다.
일반적인 로켓 발사는 초기 카운트다운이 시작될 때부터 로켓 페이로드가 궤도에 진입할 때까지 8시간 동안 진행됩니다. 이 창 동안 로켓의 성능을 캡처하는 센서는 초당 약 100만 개의 데이터 포인트를 생성합니다.
이 사용 사례 에서는 로켓의 지표 데이터의 대부분을 차지하지만, 두 가지 다른 데이터 소스가 있습니다.
메모 는 로켓 엔지니어와 자동화된 시스템에 의해 작성됩니다. Rocket 엔지니어는 출시 후 기억할 내용을 표시하고 싶을 때 메모를 작성합니다. 또한 자동화된 시스템은 스트림 되는 지표 감시하고 값이 예상 임계값을 벗어날 때마다 메모를 작성합니다.
날씨 데이터 는 타사로부터 검색되어 Amazon S3 버킷에 저장되며, 출시 후 출시 데이터와 함께 분석됩니다.
기타 적용 가능한 산업 및 사용 사례
라이브 IoT 데이터에 대한 실시간 분석을 수행하는 기능 다음과 같은 많은 산업에서 유용합니다.
제조: 제조 기계에는 한 번에 몇 시간씩 작동하는 IoT 센서가 탑재되어, 마치 로켓을 쏘는 것처럼 작동합니다. 분석은 기계가 작동하는 동안과 후에 모두 수행되어야 합니다.
공급망 물류: IoT 센서를 사용하면 운송 모드에서 패키지 자체에 이르기까지 운송 중 및 운송 후 공급망을 최적화 활성화 .
전자상거래: 소매업체는 창고 및 배송 물류 외에도 실시간 인사이트를 사용하여 개인화 주도하거나 비즈니스 프로세스를 개선합니다.
참조 아키텍처
다음 다이어그램은 이 솔루션의 아키텍처를 보여줍니다. MongoDB의 유연한 문서 모델 과 Atlas 연장은 데이터를 저장 하고 데이터와 상호 작용 방법을 간소화합니다. 실시간 센서 데이터, 엔지니어 관찰, 실시간 날씨 데이터를 모두 MongoDB Atlas 에서 결합할 수 있습니다.
그림 1. MongoDB가 있는 참조 아키텍처
데이터 모델 접근 방식
이 솔루션은 실행 데이터를 두 개의 Atlas 컬렉션인 launchData
및 notes
에 저장합니다.
처음에는 로켓이 다음 구조를 가진 4-요소 튜플로 지표 생성합니다: (device, timestamp, metric, value)
. 그런 다음 이러한 값은 다음 예시 문서 와 같이 특정 시간에 특정 기기의 지표 나타내는 단일 문서 로 집계되어 launchData
컬렉션 에 기록됩니다.
{ _id: ObjectId("62f2f8b5800b621ee724bb94"), time: ISODate("2020-10-13T13:33:30.219Z"), meta: { device: 'truth' }, TIME_NANOSECONDS_TAI: Long("1602596010219040000"), truth_pos_CON_ECEF_ECEF_M2: -5268929.31643981, truth_pos_CON_ECEF_ECEF_M1: -1387897.36558835, truth_pos_CON_ECEF_ECEF_M3: 3306577.65409484, truth_vel_CON_ECEF_ECEF_MpS2: -0.00810950305119273, truth_vel_CON_ECEF_ECEF_MpS3: 0.00414972080992211, truth_quat_CON2ECEF1: -0.458400879273711, truth_quat_CON2ECEF2: -0.176758395646534, truth_quat_CON2ECEF3: 0.511475024782863, truth_vel_CON_ECEF_ECEF_MpS1: 0.00220006484335229, truth_quat_CON2ECEF4: 0.7049953208872 }
이 문서 모델 MongoDB time series 컬렉션에서도 작동합니다.
이 데이터는 aerospace.archive.gz 에서 찾을 수 있습니다. 파일 솔루션 Github 리포지토리 에 저장합니다.
솔루션 빌드
솔루션의 Github 리포지토리 시작하는 데 필요한 데이터와 코드를 제공합니다. 또한 리포지토리 에는 이 솔루션에 대해 자세히 설명하는 3부작으로 구성된 실시간 스트림 기록에 대한 링크가 포함되어 있습니다.
이 솔루션을 시작하려면 다음 단계를 수행하세요.
로켓 발사 및 쿼리 사전 실행 설정
첫 번째 실시간 스트림 기록 에서는 로켓 발사로 캡처한 데이터와 MongoDB 쿼리 API 사용하여 기본 집계 쿼리를 쓰기 (write) 방법을 안내합니다. 그런 다음 Atlas Charts 사용하여 IoT 센서 데이터 에 대한 기본 분석 수행할 수 있습니다.
출시 중 데이터 분석
The 두 번째 실시간 스트림 녹화 에서는 실시간 분석 위해 React 앱 에 차트를 임베드하는 방법과 특정 노트를 검색 방법을 보여줍니다.
출시 후 인사이트 찾기
마지막으로, 세 번째 실시간 스트림 기록 에서는 로켓 발사 데이터와 날씨 데이터를 결합하여 발사 후 인사이트를 만들고 Tableau 에서 분석 방법을 보여줍니다.
주요 학습 사항
MongoDB의 유연한 데이터베이스 플랫폼은 다음과 같은 기능을 제공하여 애플리케이션 중심의 IoT 분석 가능하게 합니다.
여러 데이터 유형에 걸친 데이터 모델링: MongoDB의 유연한 문서 모델 사용하면 여러 유형의 데이터를 하나의 문서, 컬렉션 또는 데이터베이스 에 저장 수 있으므로 데이터와의 상호 작용 방식을 간소화하고 서로 다른 테이블의 필요성을 줄일 수 있습니다.
React 에 함수를 실시간 데이터에 통합: MongoDB의 빠른 쿼리 역량 사용하면 데이터를 실시간 으로 분석 할 수 있습니다.
제자리에서 집계 하여 ETL 프로세스 최소화: MongoDB의 집계 파이프라인을 사용하면 데이터를 계산된 결과로 변환하고 새 컬렉션 에 저장 활성화 있습니다.
작성자
Jay Runkel, MongoDB