> For the complete documentation index, see [llms.txt](https://ciusji.gitbook.io/mortalmesh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ciusji.gitbook.io/mortalmesh/welcome-to-mortalmesh.md).

# Welcome to MortalMesh!

<figure><img src="https://4034764766-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiIPnQg45t0swQl0XH2O6%2Fuploads%2FAD6yLeY0vRQGScD7QHp3%2Fdoc-mortalmesh-header.png?alt=media&amp;token=dc41c59c-acdb-4d44-9529-0f7166385ac3" alt=""><figcaption></figcaption></figure>

## What is MortalMesh?

MortalMesh is an open-source project that enables a lakehouse architecture on top of data lakes.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Getting Started</strong></td><td>Use MortalMesh to storage large of ...</td><td><a href="/mortalmesh/contents/quickstart.md">→</a></td></tr><tr><td><strong>Making Contributing</strong></td><td>Check out our CONTRIBUTING guide ...</td><td><a href="/mortalmesh/appendix/contribute.md">→</a></td></tr></tbody></table>

## Main Features

Specifically, MortalMesh offers:

* ACID transactions on Spark: Serializable isolation levels ensure that readers never see inconsistent data.
* Scalable metadata handling: Leverages Spark distributed processing power to handle all the metadata for petabyte-scale tables with billions of files at ease.
* Streaming and batch unification: A table in MortalMesh is a batch table as well as a streaming source and sink. Streaming data ingest, batch historic backfill, and interactive queries all just work out of the box.
* Schema enforcement: Automatically handles schema variations to prevent insertion of bad records during ingestion.
* Time Travel: Data versioning enables rollbacks, full historical audit trails, and reproducible machine-learning experiments.
* Upsets and Deletes: Supports merge, update and delete operations to enable complex use cases like change-data-capture, slowly-changing-dimension (SCD) operations, streaming upserts, and so on.
