Version information
-
Release date: May 25, 2026
-
Version: V1.3.0
-
RPM package: seekdb-1.3.0.0-100000092026051510
Overview
seekdb V1.3.0 is a major release for multi-platform coverage and high performance. It introduces async indexes backed by a new Change Stream incremental framework that decouples writes from index builds, delivering extreme ingest throughput and stable retrieval for AI Agent workloads. Windows and Android native build and deployment extend platform coverage. Diff & Merge now supports vector columns, and Fork Table / Fork Database are fully aligned with async indexes for stronger multi-version data management.
New features
Async indexes
Async indexes offer a new vector index maintenance model. Unlike synchronous indexes, async indexes decouple DML from index construction: DML lands synchronously on the primary table (with MVCC and unique-index checks), while a background Change Stream pipeline consumes the CLOG and maintains the vector index asynchronously. Queries use the async index for similarity search, combining extreme ingest performance with predictable retrieval.
Change Stream incremental framework:
- Fetcher: Single-threaded CLOG consumer; assembles and orders changes per transaction, emitting deltas in commit order.
- Dispatcher: Slices transaction work, hashes by rowkey, builds execution context, and enqueues tasks for workers.
- Worker: Multiple threads run subtasks in parallel; all changes for the same rowkey are serialized on one worker—parallel execution with per-key ordering.
The framework is plugin-oriented: this release wires in HNSW; future releases can extend to full-text, JSON indexes, binlog-style consumers, and more—evolving seekdb from a storage engine into a real-time incremental compute engine.
Product behavior
When creating an HNSW vector index, set sync_mode:
immediate— synchronous refresh, strong consistency.async(default) — automatic background refresh, eventual consistency.
-- Async vector index
CREATE TABLE t1(c1 INT, c2 VECTOR(3), c3 VARCHAR(256),
PRIMARY KEY(c1),
VECTOR INDEX idx1(c2) WITH (distance=l2, type=hnsw, lib=vsag,
sync_mode=async))
ORGANIZATION HEAP;
-- INSERT: rows land on the primary table; the index catches up asynchronously
INSERT INTO t1 VALUES(1, '[1.0, 2.0, 3.0]', 'seekdb 1.3');
-- Approximate search via the async index
SELECT c1, c3 FROM t1
ORDER BY l2_distance(c2, '[1.0, 2.0, 3.0]') APPROXIMATE LIMIT 5;
-- Manual refresh so recent commits become searchable
CALL dbms_index_manager.refresh();Benchmarks (mixed read/write vector workload)
Streaming query performance under sustained insert pressure, measured with VectorDBBench. All runs use single-node deployment (16 vCPU / 64 GiB, Alibaba Cloud ecs.g8i.4xlarge). HNSW parameters: m=16, ef_construction=256, ef_search=200. Metrics captured at 80% of target data volume.
| Dataset | Mode | QPS | Serial P99 (ms) | Concurrent P99 (ms) | Recall |
|---|---|---|---|---|---|
| Cohere-10M | Async | 1523 | 19.7 | 21.7 | 0.7397 |
| Cohere-10M | Sync | 69 | 212 | 410.37 | 0.7429 |
| Cohere-1M | Async | 2531 | 14.6 | 14.2 | 0.7636 |
| Cohere-1M | Sync | 67 | 76.5 | 283.1 | 0.7795 |
| Cohere-100K | Async | 5774 | 2.3 | 3.9 | 0.7902 |
| Cohere-100K | Sync | 414 | 17.5 | 36.7 | 0.8243 |
On the 10M mixed workload, async indexes reach 1,523 concurrent query QPS (about 22× sync mode) with concurrent P99 latency of only 21.7 ms.
Windows build and deployment (experimental)
seekdb can be built, deployed, and run natively on 64-bit Windows (x86_64). An MSI installer and Configurator wizard support one-click install, service management, and password configuration. Named Pipe transport handles the MySQL protocol for local development and production on Windows.
Highlights:
- MSI: Standard Windows install flow with a configurable install directory.
- Configurator: Can launch after install to set data directory, ports, passwords, and related options.
- Named Pipe: MySQL protocol over Windows named pipes.
- VSAG: Full VSAG vector index support on Windows.
Limitations:
- Currently supported on Windows 11 64-bit (x86_64) only.
Android build and deployment (experimental)
seekdb can be built and run on Android, including standalone APK packaging for embedded mobile-style database scenarios.
Highlights:
- Android NDK build with gRPC and SQLite dependencies integrated.
- Standalone APK output.
- Platform-specific syscall and datatype behavior handled where needed.
Improvements
Async index retrieval performance
Deep optimizations on the async index retrieval path: skip unnecessary reads of internal table 4 during HNSW search to cut I/O; improved log recycling and timeouts so background maintenance interferes less with foreground queries.
Vector Diff & Merge
Diff & Merge (introduced in V1.2.0) now supports vector columns: forked copies can be compared with DIFF and merged with MERGE for stronger multi-version vector workflows.
Fork Table / Fork Database with async indexes
Fork Table and Fork Database are fully aligned with async indexes. Fork correctly handles tables with async indexes; targets keep async index state consistent with the source and can refresh and query indexes independently after fork.
Standby read performance
Improved read performance on standby nodes, reducing query latency in primary–standby deployments.
Resource usage
Streamlined background timers and removed redundant modules: about 30% fewer idle threads and about 40% lower CPU usage on small, idle instances.
Bug fixes
Vector index
- Fixed follower memory usage when loading vector indexes. (6345e2a9)
- Fixed hangs during vector index DDL. (4ee3c5cd)
- Fixed error 4016 during semantic index refresh when
model_namewas empty. (8b07ab1c) - Fixed
sparse_vectorcount handling. (53d70df5) - Fixed a crash on Windows from an uninitialized discrete vector pointer. (24ea18b8)
Fork Table / Fork Database
- Fixed forked index tables incorrectly using columnar layout. (fec0210d)
- Fixed a deadlock while taking a snapshot during Database Fork. (0d4fbab4)
- Fork Table now rejects columnar source tables. (21168b47)
- Narrowed Fork unlock dependent-task checks to the correct scope. (b6e5047a)
- Fixed lost
fork_infoon standby fork targets during migration updates, which could hang queries. (204685d5)
Primary and standby
- Fixed a deadlock replaying
DDL_TABLE_FORK_START_LOGon a standby. (0caeb70d)
macOS
- Fixed PL exception-handler encoding compatibility (
DW_EH_PE_signed/DW_EH_PE_indirect) on macOS ARM64. (81fd8751) - Fixed a crash in sort comparators on error paths on macOS. (5aa611c0)
Other
- Hardened handling when
physical_plan_ctx/sql_ctxis null in materialized-view paths. (3627a343) - Fixed unsafe comparison helpers. (c66ebaea)
- Fixed RPC communication errors. (0f85e9bf)
- Fixed a crash in
spi_parse_preparewhen triggers referenced dropped columns. (dd7a0906) - Fixed a SIGSEGV in embedded mode. (18fbabda)
- Fixed snap payload deserialization. (80ddc477)
- Fixed invalid
data_table_idin rebuild-index tasks. (b1282f5f) - Fixed advance-scan behavior. (6006e21f)
- DDL-related hardening patch. (e686da62)
Upgrade notes
- In-place upgrade from V1.0.x, V1.1.0, or V1.2.0 to V1.3.0 is not supported. Use a logical migration with OBDUMPER/OBLOADER or mysqldump.
For step-by-step instructions, see Upgrade seekdb with mysqldump.
Related components
| Category | Component | Version | Notes |
|---|---|---|---|
| SDK | pyseekdb | V1.3.0 | Async vector index support; see pyseekdb changelog |
| SDK | seekdb-js | V1.3.0 | |
| Import/export | ob-loader-dumper | V4.3.5 | |
| Deployment | OBD | V4.3.0 |