For the complete documentation index, see llms.txt. This page is also available as Markdown.

TideSQL

TideSQL is a transactional LSM-tree storage engine for MariaDB, built on TidesDB for high write throughput, with full SQL, MVCC, encryption, and secondary, spatial, full-text, and vector indexes.

TideSQL is a community contribution to MariaDB Server. It is a storage engine plugin built on the TidesDB library, which is developed and maintained upstream, outside MariaDB. TideSQL 5.0.0 ships at Beta maturity.

TideSQL stores a table's data in a TidesDB log-structured merge tree instead of InnoDB, reached through ordinary SQL. Moving a table from InnoDB to TidesDB is usually a change to the ENGINE clause and nothing more; see TideSQL Limitations for the cases that need more care. The engine favors write throughput, keeps read cost bounded through background compaction, and provides transactions through the library's optimistic multi-version concurrency control, so readers proceed without blocking writers. In SHOW ENGINES the engine reports its name as TidesDB.

Load the plugin, build it with the install.sh builder, create your first TidesDB table, and understand the one linkage detail that decides whether the plugin loads at all.

How TideSQL major versions map to the TidesDB library, and which MariaDB Server versions each release is tested against.

How TideSQL maps SQL rows and indexes onto TidesDB column families, key namespaces, and the on-disk row format.

The optimistic MVCC model, how the SQL isolation levels map onto the library, and how write contention behaves compared with InnoDB's row locks.

The sync modes that trade durability for throughput, what each one guarantees on a crash, and how they compare with InnoDB's log flushing.

The table options that control compression, encryption, TTL, bloom filters, and other per-table behavior.

A complete reference for TideSQL system variables, for tuning memory, compaction, durability, and other engine behavior.

The status variables that report cache activity, compaction, memtable and flush metrics, and other engine internals.

Per-row data-at-rest encryption through MariaDB key management, key versions and rotation, and how encryption interacts with compression and indexes.

Row expiration through a time-to-live column, how expired rows are reclaimed during compaction, and how TTL composes with the rest of the engine.

Full-text indexes on TidesDB tables, the supported query syntax, and how the engine builds and maintains the index.

Vector indexes for approximate nearest-neighbor search, the supported distance functions, and how to run a similarity query.

Spatial indexes on geometry columns, the supported types, and how spatial predicates are evaluated.

Virtual and stored generated columns, indexing them, and working with JSON documents on TidesDB tables.

Foreign-key constraints on TidesDB tables, the referential actions the engine enforces, and how they are checked.

Taking a consistent online backup with a TidesDB checkpoint, what the checkpoint contains, and how to restore it.

How ANALYZE, OPTIMIZE, and REPAIR behave on TidesDB tables, and when to run them.

Reading engine status through status variables and SHOW ENGINE TidesDB STATUS, and the metrics that matter for compaction and cache health.

Which schema changes TidesDB performs instantly or in place, which require a table copy, and how ALGORITHM and LOCK clauses apply.

Partitioning TidesDB tables, the supported partition types, and how partitions map onto storage.

How TideSQL participates in MariaDB replication and Galera clustering, including engine-level write-set certification and cross-node conflict resolution.

The current limitations of the engine to know before putting a workload on it.

This page is licensed: GPLv2

Last updated

Was this helpful?