LakeSoul is an end-to-end, realtime cloud-native Lakehouse framework for fast data ingestion, concurrent updates, incremental analytics, multimodal data processing and vector search β powering next-generation BI and AI workloads.
Beyond Table Formats β A Complete Lakehouse Solution
While Apache Iceberg provides a de-factor open table format, LakeSoul aims to deliver a batteries-included, production-ready lakehouse platform. Beyond the table format itself, LakeSoul comes with built-in automated disaggregated multi-level compaction, fine-grained RBAC (including S3 proxy-based access control), high-performance OLAP queries, vector retrieval, and native multimodal data processing powered by Ray and Daft. Instead of assembling and maintaining separate catalogs, compaction services, and auth layers, you get a production-ready lakehouse out of the box.
Rust-Native Core, Consistent Everywhere
LakeSoul's metadata management and file format IO are implemented entirely in Rust β a single, high-performance core β with idiomatic bindings for Java, Python, and C++. Whether you're querying via Spark, streaming via Flink, or training models via PyTorch, Ray, or Daft, every engine and every language shares the same ACID guarantees, the same upsert semantics, and the same read performance. There are no per-language/per-engine re-implementations of the table format, no subtle behavioral divergences between bindings, and no fragmented compatibility matrix to navigate.Compute framework support matrix:
| Engine | Version | Read | Write | Interface | | ------- | ------------ | ------------- | ------------- | --------------------------- | | Spark | 3.5 | β Batch | β Batch | Java / Python / Scala / SQL | | Flink | 1.20 | β Streaming | β Streaming | Java / SQL | | Presto | 0.296(velox) | β Batch | - | SQL | | Ray | 2.55 | β Distributed | β Distributed | Python | | Daft | 0.7+ | β Distributed | β Distributed | Python | | DuckDB | latest | β Standalone | β | Python | | PyArrow | 16+ | β Standalone | β Standalone | Python | | Pandas | 2.0+ | β Standalone | β Standalone | Python |
Core Features
LakeSoul is a cloud-native Lakehouse framework that supports scalable metadata management, ACID transactions, efficient and flexible upsert operation, schema evolution, and unified streaming & batch processing.LakeSoul supports multiple computing engines to read and write lake warehouse table data, including Spark, Flink, Presto, PyTorch, Ray and Daft. LakeSoul supports storage systems such as HDFS and S3.
LakeSoul supports two file formats: parquet(default) and vortex. Vortex file format can be used to store multimodal data and vector embeddings.

LakeSoul was originally created by DMetaSoul company and was donated to Linux Foundation AI & Data as a sandbox project since May 2023.
LakeSoul implements incremental upserts for both row and column and allows concurrent updates.
LakeSoul uses LSM-Tree like structure to support updates on hash partitioning table with primary key, and achieves very high write throughput while providing optimized merge on read performance (refer to Performance Benchmarks). LakeSoul scales metadata management and achieves ACID control by using PostgreSQL.
LakeSoul uses Rust to implement the native metadata layer and IO layer, and provides C/Java/Python interfaces to support the connecting of multiple computing frameworks such as big data and AI.
LakeSoul supports concurrent batch or streaming read and write. Both read and write supports CDC semantics, and together with auto schema evolution and exacly-once guarantee, constructing realtime data warehouses is made easy.
LakeSoul supports multi-workspace and RBAC. LakeSoul uses Postgres's RBAC and row-level security policies to implement permission isolation for metadata. Together with the S3 proxy authorization layer, physical data isolation can be achieved. LakeSoul's permission isolation is effective for SQL/Java/Python jobs.
LakeSoul supports automatic disaggregated size-tiered multi-level compaction, automatic table life cycle maintenance, automatic data asset statistics, and automatic redundant data cleaning, reducing operation costs and improving usability.
More detailed features please refer to our doc page: Documentations
Quick Start
Follow the Quick Start to quickly set up a test env.Tutorials
Please find tutorials in doc site:- Checkout Examples of Python Data Processing and AI Model Training on LakeSoul on how LakeSoul connecting AI to Lakehouse to build a unified and modern data infrastructure.
- Checkout LakeSoul Flink CDC Whole Database Synchronization Tutorial on how to sync an entire MySQL database into LakeSoul in realtime, with auto table creation, auto DDL sync and exactly once guarantee.
- Checkout Flink SQL Usage on using Flink SQL to read or write LakeSoul in both batch and streaming mode, with the supports of Flink Changelog Stream semantics and row-level upsert and delete.
- Checkout Multi Stream Merge and Build Wide Table Tutorial on how to merge multiple stream with same primary key (and different other columns) concurrently without join.
- Checkout Upsert Data and Merge UDF Tutorial on how to upsert data and Merge UDF to customize merge logic.
- Checkout Snapshot API Usage on how to do snapshot read (time travel), snapshot rollback and cleanup.
- Checkout Incremental Query Tutorial on how to do incremental query in Spark in batch or stream mode.
Usage Documentations
Please find usage documentations in doc site: Usage DocFeature Roadmap
Roadmap 2026
- Compute Engine Version
- Multimodality
- Performance
- Maintenance
- Security
Roadmap history
- Data Science and AI
- Meta Management (#23)
- Table operations
- Data Warehousing
- Spark Integration
- Flink Integration and CDC Ingestion (#57)
- Hive Integration
- Realtime Data Warehousing
- Cloud and Native IO (#66)
Community guidelines
Community guidelinesFeedback and Contribution
Please feel free to open an issue or dicussion if you have any questions.Join our Discord server for discussions.