AI Briefing

SQLite용 큐·스트림 확장

russellromney/honker

·2026.04.24 10:50

honker는 Rust 기반 SQLite 확장으로 Postgres식 NOTIFY/LISTEN과 durable stream을 더했다.

honkerRust로 만든 SQLite 확장과 여러 언어 바인딩으로, SQLite에 Postgres식 NOTIFY/LISTEN 의미론을 더한다.

Python에서는 다음처럼 큐와 스트림을 다룬다.

  • queue('emails')로 작업 큐를 만들고, 워커가 claim()으로 잡은 뒤 ack()하는 방식으로 처리한다.
  • stream('user-events')는 트랜잭션 안에서 publish(..., tx=tx)Kafka-style durable stream처럼 동작한다.

확장은 20개 이상의 커스텀 SQL 함수도 제공한다. 예시로 notify('orders', '{"id":42}')honker_stream_read_since('orders', 0, 1000)가 포함된다.

실시간성은 WAL mode에 기대며, 워커는 .db-wal 파일을 1ms 간격으로 stat해 무거운 SQL 쿼리 없이 변경을 감지한다. 핵심은 transactional outbox pattern이다. 트랜잭션이 성공적으로 커밋된 경우에만 작업이 큐에 들어가도록 보장한다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.