1v0.2.1

Dual-Engine Architecture

How Binsight combines pure Go high-throughput decoding with canonical mysqlbinlog oracle verification.

Binary log formats in MySQL and MariaDB have evolved through dozens of micro-versions across the last 20 years. Minor edge cases in decimal encodings, spatial GIS coordinates, or temporal microsecond precision can cause third-party decoders to silently misinterpret column values.

The Dual-Engine Oracle Concept

Binsight solves decode drift by implementing a dual-engine oracle architecture:

Dual-Engine Decode PipelineZero-Drift Guarantee
Engine 1: Workhorse (Pure Go)
Decodes 80,000+ events/sec in memory. Zero external binary dependencies. Powers the live virtual table, SSE stream, and search filters.
Engine 2: Oracle (mysqlbinlog)
Invokes canonical MySQL client binary when present. Verifies row-image diffs against official MySQL reference output.

Engine 1: Native go-mysql Workhorse

The primary engine is implemented in pure Go using an optimized fork of go-mysql. It provides:

  • Blazing speed: Indexing over 80,000 events/sec on modern hardware.
  • Minimal memory RSS: Consumes <45 MB of RAM even when indexing multi-gigabyte log archives.
  • Native MariaDB 10.6+ and MySQL 8.4 support without needing CGO or shared C libraries.

Engine 2: mysqlbinlog Canonical Oracle

When you inspect a specific transaction or row diff, Binsight can optionally verify the decoded row against the local mysqlbinlog executable. If both engines agree on the byte-for-byte values, the UI displays a verified green badge:

Verification Badge
[VERIFIED] Dual-Engine Oracle Agreement: 100% (go-mysql == mysqlbinlog)

L1 & L2 Conformance Harness

Binsight's continuous integration test suite runs two levels of automated conformance testing:

  • Level 1 (Synthetic Fixtures): Tests against known binlog edge cases including GTID gaps, multi-table transactions, position wraps, and spatial types.
  • Level 2 (Docker Conformance): Spins up official container instances of MySQL 5.7, 8.0, 8.4, and MariaDB 10.6, executes heavy random workloads, and validates Binsight's index against canonical database dumps.
ESC
Quick Commands
Navigation
↑ ↓ navigate↵ select