핵심 요약
- DB 쓰기 이벤트 발생 시 전체 쿼리를 재실행하지 않고 메모리에서 결과를 계산해 갱신하는 Event-Reduce 알고리즘이 소개되었습니다.
- 브라우저 테스트 기준 쓰기 이벤트의 94%를 DB 쿼리 없이 처리해 결과 반영 속도를 최대 12배 단축했습니다.
- RxDB의 실시간 쿼리 엔진으로 기본 탑재되어 있으며, PostgreSQL, MongoDB, SQLite 등 다양한 DB와 연동됩니다.
요약 DB 쿼리를 매번 다시 실행하지 않고 변경 이벤트만으로 메모리에서 쿼리 결과를 즉시 갱신하는 오픈소스 알고리즘 'Event-Reduce'가 주목받고 있습니다. 실시간 대시보드나 반응형 UI 등 데이터가 바뀔 때마다 DB 쿼리를 새로 날리는 대신, 기존 결과값과 쓰기 변경 이벤트를 조합해 메모리 상에서 결과를 즉시 계산해내는 경량 증분 뷰 유지(Incremental View Maintenance) 방식입니다.
브라우저 데모 테스트 결과에 따르면 약 94%의 쓰기 이벤트를 DB 재조회 없이 처리했으며, 변경 후 결과 반영 속도가 최대 12배까지 단축되었습니다. 18개의 상태 함수와 16개의 액션 함수 조합을 이진 결정 다이어그램(BDD)으로 최적화하여 연산 효율을 극대화한 것이 특징입니다.
MongoDB, PostgreSQL, MySQL, IndexedDB, SQLite 등 변경 스트림(Change stream)을 제공하는 대부분의 DB와 연동 가능하며, 로컬 우선(Local-first) 자바스크립트 데이터베이스인 RxDB 9.0.0 버전부터 기본 쿼리 엔진으로 탑재되어 안정성을 입증했습니다. 이벤트 리듀스가 전체 쿼리를 다시 돌려야 한다고 판단할 때만 실제 스토리지 조회가 일어납니다.
Sponsored · 광고