AI Briefing

SQLite용 큐·스트림 확장

russellromney/honker

·2026.04.24 10:50

핵심 내용

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

자세히 보기

honker는 Rust로 만든 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이다. 트랜잭션이 성공적으로 커밋된 경우에만 작업이 큐에 들어가도록 보장한다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.