Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ /
Atlas 아키텍처 센터
/ / /

실시간 분석으로 항공 작업 향상

강력한 실시간 분석으로 비행 작업을 혁신하세요. 지능형 데이터 모니터링을 통해 비용을 절감하고, 지연을 최소화하며, 효율성을 향상시키세요.

사용 사례: 분석, IoT, 현대화, 단일 뷰

산업: 제조 및 모빌리티

제품 및 도구: MongoDB Atlas, 집계 파이프라인, time series 컬렉션, Change Streams

파트너: Google Cloud, Vercel

MongoDB의 실시간 항공편 관리 솔루션은 항공사가 비용이 많이 드는 항공편 지연을 사전에 관리하고 완화할 수 있게 합니다. 이러한 영향을 자세히 설명하자면, 2019년만 해도 유럽 항공사는 항공편 지연으로 인해 항공편당 시간당 평균 €4,320의 비용이 발생합니다. 지능형 데이터 처리와 즉각적인 대응을 통해 이 솔루션은 실시간 모니터링, 예측 인사이트, 최적화된 리소스 할당을 제공합니다. MongoDB의 유연한 문서 모델과 time series 컬렉션을 기반으로 구축되며, 시뮬레이션에 FastAPI를 활용한 이벤트 주도형 아키텍처, 메시징에 GCP PubSub, 고급 분석에 Vertex AI, 서버리스 이벤트 주도형 처리에 Google Cloud Functions를 활용하는 이 솔루션은 운영 중단을 최소화하기 위한 포괄적인 접근 방식을 제공합니다.

이벤트 중심 아키텍처의 구성 요소

그림 1. 이벤트 중심 아키텍처의 구성 요소

솔루션은 다음을 제공합니다.

  • 지연 전파 감소: 실시간 모니터링과 즉각적인 대응 역량을 통해 비행 일정의 지연이 연쇄적으로 발생하는 것을 방지할 수 있습니다.

  • 최적화된 리소스 할당: 지능형 데이터 분석은 장애 발생 시 리소스를 효율적으로 재할당할 수 있게 합니다.

  • 향상된 고객 경험: 더 나은 관리가 승객 만족도와 충성도를 향상시킵니다.

  • 확장 가능한 작업: 유연한 아키텍처는 증가하는 데이터 볼륨과 운영 요구를 지원합니다.

  • 실시간 의사결정: 비행 데이터에 즉시 접근함으로써 신속하고 정보에 입각한 운영 결정을 내릴 수 있습니다.

MongoDB의 실시간 항공편 관리 솔루션은 이벤트 중심 아키텍처를 구현하며, 이 아키텍처는 여러 주요 구성 요소로 이루어져 있습니다.

1
  • 실시간 데이터 시뮬레이터와 경로 찾기 기능을 갖춘 FastAPI 마이크로서비스.

  • 정적 데이터 스트림과 실시간 데이터 스트림을 모두 처리하는 PubSub 주제.

  • 애플리케이션 및 텔레메트리 데이터 처리를 위한 클라우드 기능

2
  • 재무적 영향 분석을 위한 Vertex AI 비용 계산기

  • 데이터 변환을 위한 분석 데이터 생성용 클라우드 함수.

  • 복잡한 데이터 처리를 위한 집계 파이프라인.

3
  • 중앙 데이터 저장소로 MongoDB 데이터베이스를 사용합니다.

  • 특수 컬렉션:

    • 항공편 관련 비용을 추적하고 분석하기 위한 flight_cost 컬렉션.

    • 예측 모델링 및 시나리오 계획을 위한 flight_plane 컬렉션.

    • 실시간 데이터 추적 및 과거 분석을 위해 설계된 flight_realtimeCF 컬렉션(Time Series 컬렉션).

    • 포괄적인 일반 항공편 정보 관리를 위한 flights 컬렉션.

4
  • 실시간 데이터 변경을 위한 Change Streams.

  • 지리적 데이터를 시각화하기 위한 Google Maps API.

  • 프론트엔드 인터페이스 및 시각화를 위한 Next.js.

이 아키텍처는 세 가지의 독립적인 데이터 흐름을 가능하게 합니다.

  • 운영 데이터 흐름(파란색 선): 실시간 비행 작업을 처리합니다.

  • 분석 데이터 흐름(녹색 선): 비즈니스 인텔리전스를 관리합니다.

  • 내부 연결(검은색 선): 시스템 통합을 유지합니다.

이벤트 중심 아키텍처

그림 2. 이벤트 중심 아키텍처

이 솔루션은 통합 이벤트 기반 아키텍처를 통해 실시간 모니터링, 예측 인사이트, 리소스 최적화 역량을 제공하여 지연 관리 문제를 해결합니다.

전제 조건

  • Node.js(v14 이상)

  • MongoDB(로컬 또는 클라우드)

  • Next.js(v12 이상)

  • Google Cloud SDK

1
  • 유연한 스키마에 비행 데이터를 저장합니다.

  • 실시간 업데이트를 지원합니다.

  • 분석을 위해 시계열 데이터를 처리합니다.

  • 운영 중인 비행 정보를 유지하며, 후속 구성 및 통합 단계에서 사용할 MongoDB 연결 문자열을 확보하세요.

  • 예시 모델입니다.

2
  • Google Cloud의 Cloud Run을 사용하여 컨테이너화된 서비스로 애플리케이션을 배포합니다.

  • Google Cloud의 Cloud Build를 자동 배포를 위해 구성합니다.

  • 자산을 위한 Google Cloud 클라우드 저장소를 설정합니다.

  • 실시간 데이터 배포를 위해 Google Cloud Pub/Sub를 사용합니다.

  • 데이터 처리를 위해 Google Cloud의 Cloud Functions를 구현합니다. 다음 코드 스니펫은 장애가 식별되면 경로 탐색 알고리즘에서 얻은 새 경로를 클라우드 함수에서 업데이트하여 실행하며, 최적의 경로 재설정을 보장해 연료 소비와 비용을 최소화합니다.

Python

import base64
import json
from bson import ObjectId
import os
from pymongo import MongoClient
import functions_framework
# Triggered from a message on a Cloud Pub/Sub topic.
@functions_framework.cloud_event
def postPath(cloud_event):
# Access URI in secrets
MONGO_URI = os.environ.get('MONGO_URI', "MONGO_URI is not set.")
MONGO_DATABASE = os.environ.get('MONGO_DATABASE', "MONGO_DATABASE is not set.")
MONGO_COLLECTION = os.environ.get('MONGO_COLLECTION', "MONGO_COLLECTION is not set.")
if not all([MONGO_URI, MONGO_DATABASE, MONGO_COLLECTION]):
print("Error: One or more environment variables are not set.")
return
client = MongoClient(MONGO_URI)
db = client[MONGO_DATABASE]
collection = db[MONGO_COLLECTION]
try:
# Parse the data in the message
byte_message = base64.b64decode(cloud_event.data["message"]["data"])
json_str = byte_message.decode('utf-8')
data_dict = json.loads(json_str)
print(data_dict)
# Work with the dictionary fields
flight_id = data_dict.get("flight_id")
initial_path = data_dict.get("initial_path_airps")
new_path = data_dict.get("new_path_airps")
disruption_coords = data_dict.get("disruption_coords")
# Check if all required fields are present
if not flight_id:
print("Error: flight_id is missing.")
return
if initial_path is None or new_path is None:
print("Error: One or more path fields are missing.")
return
# Find the document in the MongoDB collection and update the path field
result = collection.update_one(
{"_id": ObjectId(flight_id)},
{"$set": {
"initial_path": initial_path,
"new_path": new_path,
"disruption_coords": {
"lat": disruption_coords[0],
"long": disruption_coords[1]
}
}}
)
if result.matched_count > 0:
print("Document successfully updated.")
else:
print("No document found with the specified flight_number.")
except Exception as e:
print(f"Error updating document: {e}")
finally:
client.close()
  • Google Cloud의 Vertex AI를 분석 목적으로 배포하고, 향상된 지리 공간적 분석 및 시각화를 위해 Google Maps API 키를 반드시 확보하세요.

3
  • 리포지토리를 복제하고 종속성을 설치합니다.

  • 환경 변수를 구성합니다.

  • MongoDB 연결을 설정합니다.

  • 개발 서버를 실행합니다.

4
  • Docker를 사용하여 애플리케이션을 컨테이너화합니다.

  • 자동 확장을 위해 Google Cloud의 Cloud Run에 배포하세요.

  • 클라우드 빌드를 사용하여 지속적 배포를 구성합니다.

  • 환경 변수와 비밀을 설정합니다.

결과적으로 앱은 다음과 같이 나타납니다.

필터가 있는 항공편 관리 대시보드
클릭하여 확대

그림 3. 필터를 사용하는 항공편 관리 대시보드

비행 경로 및 비용 모니터링
클릭하여 확대

그림 4. 비행 경로 및 비용 모니터링

이 솔루션은 항공사가 지연 및 장애의 영향을 최소화하면서 항공 운항을 효율적으로 관리할 수 있도록 확장 가능한 이벤트 기반의 아키텍처를 제공합니다.

코드 샘플 및 특정 구성 지침을 포함하여 이 솔루션 구현에 대한 자세한 단계별 가이드 보려면 GitHub 리포지토리 방문하세요.

  • MongoDB의 유연한 스키마와 time series 컬렉션은 항공 운항에 강력한 기반을 제공합니다. 이를 통해 항공사는 사전 비행 계획 데이터와 실시간 텔레메트리 데이터를 효율적으로 처리할 수 있으며, 유연한 문서 모델을 통해 변화하는 요구 사항에 대응할 수 있습니다.

  • MongoDB와 Google Cloud 서비스(Pub/Sub, Cloud Functions)의 통합을 기반 이벤트 중심 아키텍처는 실시간 데이터 스트림을 처리 하여 항공편 중단에 즉시 대응할 수 있으며, 항공사가 평균 €4 의 비용 수 있는 지연을 최소화할 수320 있습니다. 시간당.

  • MongoDB의 집계 파이프라인은 운영 비행 데이터에서 실행 가능한 인사이트를 도출하여 항공사가 노선과 리소스를 최적화할 수 있도록 지원하며, Google Cloud Vertex AI는 비용 및 지연 관리를 위한 예측 분석을 제공합니다.

  • 이 솔루션은 MongoDB의 다양한 데이터 유형과 워크로드(실시간 텔레메트리 컬렉션부터 분석 처리까지)를 처리하는 데 있어 뛰어난 유연성을 보여주며, 분산된 아키텍처와 변경 스트림 역량을 통해 대규모 환경에서도 성능을 유지합니다.

  • Dr. Humza Akhtar, MongoDB

  • Rami Pinto, MongoDB

  • Sebastian Rojas Arbulu, MongoDB

돌아가기

RAG 클레임 관리

이 페이지의 내용