Releases: oceanbase/seekdb
v1.1.0
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 TABLEgives 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 TABLElets 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 withRENAME 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 TABLEstep 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_sizeanddatafile_nextconfiguration 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_limitwith 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 tunelog_disk_sizeandlog_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 withsyslog_leveland the number of retained files withmax_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_limitparameter 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, increasememory_limitas needed. -
Configurable hard memory limit: A new option
memory_hard_limitsets 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_coversperformance 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
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_bqindex type. (7aecf39c) - Vector search limit increase: Increased
ef_searchupper 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
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.