TidesDB is now offered as an external MySQL storage engine (TideSQL-MySQL v2.0.0 paired with TidesDB v10.1.1, tested on MySQL 9.7.0 and 26.7.0) that loads into a stock server so TIDESDB tables can coexist with InnoDB. Configuration uses ENGINE_ATTRIBUTE JSON (with per-option tidedb_default_ session variables) and supports LZ4/SNAPPY/LZ4_FAST/ZSTD compression (LZ4 default). The engine implements an LSM with configurable level_size_ratio, min_levels and l1_file_count_trigger while choosing among several compaction strategies automatically and offering tombstone_density_trigger. Large-value handling separates keys (SSTable key logs) from values (shared segmented value log) above a threshold, with a keep_values_inline option to force inline storage. Durability is tunable (FULL/INTERVAL/NONE), rows can expire, per-row encryption uses a two-tier key scheme, and features include fulltext, foreign keys enforced in-engine, spatial/JSON/generated/vector columns, instant schema changes, sampled optimizer statistics, online backups and status reporting.
Concurrency is optimistic MVCC with no pessimistic row locks; write conflicts surface at commit (ER_ERROR_DURING_COMMIT 1180) and autocommits use READ COMMITTED semantics. Sysbench 1.0.20 on a 24-thread i9-13900 box showed large gains versus InnoDB: point-select 246k vs 95.8k TPS (2.6x), read-write 5,993 vs 2,989 (2.0x), update-index 102k vs 18.9k (5.4x), write-only 31.8k vs 6.9k (4.6x) and delete 154k vs 25.8k (6.0x). Device writes per operation were 17-47x lower in typical workloads. With 4 KB values, separated-value mode boosted inserts (~100k TPS) and scans (~255k TPS) versus inline/InnoDB (~32k/99k), while reducing on-disk payload (3.05 GiB source → 1.19 GiB on TidesDB vs 4.24 GiB on InnoDB). Raw data and scripts are provided.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.