새로운 오픈소스 프로젝트 블레이즈룰즈(BlazeRules)가 YAML 기반의 규칙 엔진으로 스트리밍 데이터를 초당 최대 5백만 건까지 처리하는 놀라운 성능을 공개했습니다. C++로 개발된 이 임베더블(embeddable) 결정 엔진은 들어오는 데이터를 컬럼 형식으로 재투영(reproject)한 후 벡터화된 방식으로 규칙을 실행하여, 페이로드(payload) 크기와 규칙 복잡성에 따라 초당 20만 건에서 수백만 건의 레코드를 처리할 수 있습니다. 이는 초당 200MiB에서 3GiB에 달하는 처리량(throughput)에 해당합니다.
블레이즈룰즈는 원래 서브-밀리초(sub-millisecond) 단위의 로그 파서(parser)를 목표로 시작했지만, 점차 확장되어 YAML 파일로 정의된 규칙을 실행하는 강력한 결정 엔진으로 발전했습니다. 이 규칙들은 SQL 표현식, ONNX 모델(수치), 윈도우 연산(window operations) 등 다양한 형태로 구성될 수 있어, 복잡한 비즈니스 로직이나 데이터 처리 조건을 유연하게 정의하고 적용할 수 있습니다. 특히, 데이터를 컬럼 형식으로 변환하여 벡터화된 연산을 수행하는 방식은 현대 CPU의 병렬 처리 능력을 최대한 활용하여 고성능을 달성하는 핵심 비결입니다.
이러한 초고속 규칙 엔진은 실시간 데이터 분석 및 처리 분야에 큰 영향을 미칠 것으로 예상됩니다. 예를 들어, 대규모 로그 데이터를 실시간으로 분석하여 보안 위협이나 시스템 이상 징후를 즉시 감지하거나, 금융 거래 시스템에서 사기 패턴을 실시간으로 식별하는 데 활용될 수 있습니다. 또한, IoT 기기에서 쏟아지는 센서 데이터를 즉시 처리하여 이상 상황에 대응하거나, 개인화된 추천 시스템에서 사용자 행동에 따른 규칙을 실시간으로 적용하는 등 다양한 산업 분야에서 혁신적인 변화를 가져올 잠재력을 가지고 있습니다. 개발자들은 복잡한 데이터 처리 로직을 코드 대신 YAML로 관리하며 개발 및 유지보수 효율성을 높일 수 있을 것입니다.