Skip to content

Releases: oceanbase/seekdb

v1.1.0

30 Jan 11:57

Choose a tag to compare

Version information

  • Release date: January 30, 2026

  • Version: V1.1.0

  • RPM version: seekdb-1.1.0.0-100000142026013001

New features

macOS build support

As of V1.1.0, seekdb supports native builds and local development on macOS 15 and later.

FORK TABLE (experimental)

V1.1.0 introduces FORK TABLE, which lets you create a copy of a table without a full data copy. Unlike CTAS (Create Table As Select), FORK TABLE reuses table-level storage and uses copy-on-write so that creation time and resource use stay low regardless of data size, while preserving consistent semantics.

Tip:
In V1.1.0, FORK TABLE is experimental. Use it with caution and avoid relying on it in production until it is promoted to a stable feature in a later release.

Typical use cases:

  • AI coding and safe test data: AI code assistants generate SQL, ORM code, and data APIs from table structure and sample data, and may need to change schema or data. FORK TABLE gives AI a dedicated copy of your data so it can learn and experiment on realistic structure and distribution; once changes are validated, you can apply them to the production table.

  • Multi-version knowledge bases: When the live knowledge base is serving users and you need to update many FAQ or document entries in the background, you may want to keep multiple versions until new content is validated. FORK TABLE lets you copy the live knowledge base quickly, update the forked table offline without affecting the online service, and then promote the new version (for example with RENAME TABLE) when ready.

  • Shared and private knowledge: When multiple customers or business lines share a common AI knowledge base but need some content to be private or customized, you can fork from a single "master" table into multiple tables, add private documents and customizations per fork, and control access and release separately.

  • A/B testing: Create multiple variants from the same production snapshot to compare different indexes, parameters, or SQL patterns without paying the cost of full copies.

  • Offline DDL and change validation: For risky changes (column type changes, schema changes), fork the table first, run and validate the change on the fork, then apply to the original table to avoid unexpected impact on production.

  • CI/CD validation: Add a FORK TABLE step to your pipeline so that before releasing code to production, you can run tests against a production-like snapshot without touching live data.

Syntax: FORK TABLE source_table TO destination_table;

Behavior: Creates destination_table from a snapshot of source_table. Both tables can be read and written independently. You can use DROP TABLE or RENAME TABLE to roll back or promote a version.

Performance: Fork typically completes in hundreds of milliseconds.

Storage optimizations

V1.1.0 lowers minimum resource requirements for data storage, CLOG storage, and system log storage so that seekdb is easier to run in resource-constrained environments.

  • Data file allocation: seekdb pre-allocates data file space at startup. Under light load, actual usage can be on the order of tens of MB; a large default was wasting disk. In V1.1.0, the default data file size is reduced from 2 GB to 32 MB. The default auto-extend behavior is also changed: instead of a fixed 2 GB step, the system now uses an adaptive step. When the data file is under 1 GB, it doubles using the current file size as the step; once the file reaches 1 GB, the step is 1 GB. You can override this with the datafile_size and datafile_next configuration options.

  • CLOG disk usage: Previously, CLOG was often configured with a 10 GB default (some deployment tools or container images used 2 GB), and that space was pre-allocated at startup, which was heavy for small environments. V1.1.0 changes the default CLOG disk size to half of memory_limit with a minimum of 2 GB, and improves allocation and reclaim so that checkpoint SCN advancement reclaims old log space and keeps CLOG usage low. For larger setups that need to retain more CLOG, you can tune log_disk_size and log_disk_utilization_threshold.

  • System log disk usage: The default system log level is changed from WDIAG to WARN, and the default number of retained log files is reduced from 4 to 2, so less is written to disk and I/O is lower. seekdb supports seven log levels, from most to least verbose: DEBUG → TRACE → WDIAG → EDIAG → INFO → WARN → ERROR. DEBUG, TRACE, WDIAG, and EDIAG are diagnostic levels for development and troubleshooting; INFO, WARN, and ERROR are aimed at DBAs and operators for monitoring and incident response. The new default WARN reduces noise and storage. You can change the level with syslog_level and the number of retained files with max_syslog_file_count.

Memory management improvements

V1.1.0 refines memory management so that seekdb behaves well across different deployment sizes (small or large memory, standalone or co-located with other services).

  • Dynamic memory usage: The memory_limit parameter caps how much memory seekdb uses. Under normal operation the process stays within this limit. During one-off high-memory phases (e.g., compaction, bulk load, large sorts), seekdb may temporarily exceed the limit if the system has free memory, which improves stability and throughput on smaller instances. For large datasets or higher performance, increase memory_limit as needed.

  • Configurable hard memory limit: A new option memory_hard_limit sets a strict upper bound on seekdb memory. The default is 0, meaning 90% of system memory is used as the hard limit; you can set an explicit value. This prevents runaway allocation and is especially useful when seekdb runs alongside other components so that it does not starve them.

Configuration changes

Configuration option Change type Description
_advance_checkpoint_interval New Controls how often CLOG checkpoint is advanced. Default is 10m (every 10 minutes). Set to 0 to disable.
memory_hard_limit New Maximum memory seekdb may use. Default 0 means 90% of system memory.
syslog_level Default changed System log level. Default changed from WDIAG to WARN.
log_disk_size Default changed Maximum disk space for CLOG files. Default changed from 10G to 0 (0 = half of memory_limit, minimum 2G).
log_disk_utilization_threshold Default changed CLOG utilization threshold (relative to log_disk_size) at which log reclaim starts. Default changed from 80 to 0 (0 = reclaim old logs promptly).
datafile_size Default changed Initial data file size. Default changed from 2G to 32M.
datafile_next Default changed Data file auto-extend step. Default changed from 2G to 0 (0 = adaptive: double until 1G, then 1G steps).
max_syslog_file_count Default changed Number of system log files to retain. Default changed from 4 to 2.

Bug fixes

Vector index fixes

  • Fixed timer-based scans in vector indexes that could cause high CPU usage (176a6e13)
  • Fixed IVF similarity data loss (f443e5ac)
  • ObPluginVectorIndexHelper now uses the hard memory limit (e9dd7c54)
  • Expressions are now supported in DBMS_HYBRID_SEARCH.GET_SQL (ae256978)

Semantic index fixes

  • Fixed semantic index creation failure and embedding failure on very long data (c9495bac)
  • Fixed hybrid vector index LLM invocation errors (222f653f)

Other fixes

  • Reduced IK parser load time (87ab54c3)
  • Fixed direct load transaction state mismatch (a0511d92)
  • Fixed st_intersects/st_covers performance issues (fc805e45)
  • Fixed issues related to storage optimization (019838e0)
  • Fixed auto-increment sequence lifecycle handling (94228ef3)
  • Fixed compaction state abnormalities (27736694)
  • Fixed DAG task error code being overwritten by ob cancel (8252547f)
  • Added fsync before reading macro blocks during SSTable build (7f8bddf3)
  • SQL memory tracker now uses the hard memory limit (a27dea95)
  • Refactored I/O callback threads to use ObLinkQueueThreadPool (c42e5f71)

Upgrade notes

In-place upgrade from 1.0.x to 1.1.0 is not supported. To move to 1.1.0, use a logical migration with OBDUMPER/OBLOADER or mysqldump.

Related components

Category Component Version Notes
SDK pyseekdb V1.1.0
SDK seekdb-js V1.1.0
Data import/export OBDUMPER/OBLOADER V4.3.5 Direct load not supported
Web development tool ODC V4.4.1 BP1

v1.0.1

29 Dec 06:24

Choose a tag to compare

Version information

  • Release date: December 29, 2025

  • Version: V1.0.1

  • RPM version: seekdb-1.0.1.0-100000392025122619

New features

Vector Index Enhancements

  • HNSW-BQ distance metrics: Added support for IP (Inner Product) and cosine distance metrics for hnsw_bq index type. (7aecf39c)
  • Vector search limit increase: Increased ef_search upper limit to 160,000. (79111e92)

Bug fixes

Vector Index Fixes

  • Fixed bugs for multiget row get not equal issue in vector index (b955f8c1)
  • Fixed expr core and empty data issue in vector index (b329ac7a)
  • Fixed insert on duplicate key update for heap table with semantic index (19a672f3)
  • Fixed select heap table with vector index when in list expr rewrite to subquery (628f2eee)
  • Fixed add vector fail but insert bitmap is set when supplement data for incr hnsw (0d8355f2)
  • Fixed sparse vector memory leak (93bcb851)
  • Fixed insert_bitmap construct bug (1fc4f1d4)
  • Fixed parse sparse vector core issue (aa5b651e)
  • Fixed parallel dml error in vector index (2c6b6501)
  • Fixed alter table drop index for hnsw heap table (32145b5c)
  • Fixed vector index offline DDL hung when create failed (7262d305)
  • Fixed hnsw insert on duplicate key update (666df298)
  • Fixed IVF build helper memory not cleaned up (4792ef0b)

Semantic Index Fixes

  • Fixed hybrid vector index refresh task returning error 4377 (5c18b3ce)
  • Fixed hybrid vector index refresh error 4002 on heap table with subpartition (d85c6b98)
  • Fixed hybrid refresh error 6005 (dcf78c58)
  • Fixed hybrid task return 4016 caused by null pointer (cd0382c7)
  • Fixed hybrid vector index refresh core at deconstruct embedding task (ea665790)
  • Fixed hybrid vector index refresh task memory bloat (8664da62)
  • Fixed hybrid vector index rebuild error 4016 (db7ced0c)
  • Fixed hybrid vector manual execute rebuild hung issue (b55102ff)
  • Fixed ai service guard memory leak in hybrid refresh task (2f10d62c)
  • Fixed return 1210 for empty string in semantic_distance (aed0d544)
  • Fixed insert on duplicate key update for heap table with semantic index (19a672f3)
  • Fixed hybrid vector index refresh task return 5024 (d21c6971)
  • Fixed hybrid refresh task return error 4016 (fa91585c)

Full-Text Search Fixes

  • Fixed ignore index_back dimension for fulltext search query due to functional lookup (3e722c89)
  • Fixed bm25 max score param skip index on mini/minor sstable (62b8aa62)
  • Fixed disallow index merge plan when query has ES match (d469e190)
  • Fixed 4016 error in ES match while index merge is set (e2ba5933)
  • Fixed tokenization in AND operator (e4d1f12a)
  • Fixed IK dictionary memory leak when loading with different names (e21d828f)

Other Fixes

  • Fixed del_upd parallel dop calc bug (2fda21a0)
  • Fixed pdml create index correct problem (9f3002e9)
  • Fixed insert on duplicate key update error 5500 (02167423)
  • Fixed system package mview refresh with SQL warning exception (8996cebf)
  • Fixed inability to handle nested requests (e11f87ab)
  • Fixed core due to wrong static type cast (a44b2526)
  • Fixed ServerObjectPool memory leak (beeb04d0)
  • Optimized reboot performance. (c8342b5f)
  • Optimized timezone refresh to reduce CPU consumption. (7e1cb41e)

Upgrade notes

This release supports upgrading from version 1.0.0 to 1.0.1.

v1.0.0

13 Nov 08:52

Choose a tag to compare

Version information

  • Release date: November 14, 2025

  • Version: V1.0.0

  • RPM version: seekdb-1.0.0.0-100000262025111218

For more information, please see the seekdb v1.0.0 release notes.