bytewax/bytewax
Python Stream Processing
해결하는 문제
Bytewax는 Python으로 상태 저장(stateful) 스트림 처리 파이프라인을 구축하는 방법을 제공합니다. Apache Flink나 Spark와 같은 엔진의 고성능 분산 처리 능력과 Python 생태계의 접근성 사이의 간극을 메워, 개발자가 선호하는 Python 라이브러리를 사용하여 실시간 데이터 변환 및 머신러닝을 수행할 수 있게 합니다.
작동 방식
Bytewax는 데이터 흐름 계산 모델을 사용하며, 사용자는 연산자와 커넥터의 그래프를 정의합니다. 데이터는 Input(Kafka 또는 S3 등)에서 시작하여 Operators(map 및 filter와 같은 상태 비저장 변환, 또는 reduce 및 fold_window와 같은 상태 저장 변환)를 거쳐 최종적으로 Output(데이터베이스 또는 메시지 큐)로 흐릅니다. 기본 엔진은 성능과 분산을 위해 Rust로 구축되었으며, 인터페이스는 Python 우선(Python-first)입니다.
대상 사용자
이벤트 기반 데이터를 실시간으로 처리하고, 로컬 개발에서 Kubernetes 클러스터로 확장하며, 온라인 머신러닝 워크로드를 데이터 파이프라인에 통합해야 하는 개발자와 데이터 엔지니어를 위해 설계되었습니다.
주요 특징
- Python-First 인터페이스: 파이프라인 정의에 표준 Python 라이브러리와 도구를 사용합니다.
- 상태 저장 처리: 상태를 자동으로 유지 및 복구하며, 이벤트 시간 윈도잉과 내결함성을 지원합니다.
- 분산 확장성:
waxctl을 사용한 Kubernetes 배포를 통해 여러 워커와 노드에 걸쳐 수평적으로 확장합니다. - 풍부한 커넥터 생태계: Kafka, 파일 시스템, WebSockets, S3에 대한 기본 지원을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트