Open source · Tauri v2 · DuckDB

Your DuckLake,
under control.

Monitor schema stats, table health, file compaction, and run maintenance — all from a native desktop app.

macOS · Linux · Windows

The Lakemon duck — blue engraved mallard, mascot of the lake

Observing the lake

Trusted by data engineers

DuckLake Native
Read-only by Default
No Telemetry
Open Source

Features

Everything you need to
keep your lake healthy.

Lake Overview

Stats over time,
at a glance.

Track total files, rows, writes, and deletions across snapshots. See how your lake evolves with interactive time-series charts — scoped to lake, schema, or table level.

  • Files added, removed, MB written per snapshot
  • Configurable lookback: 1h to 7 days
  • Schema and table level filtering
Home
Planner
Disconnect
Tables

247

12 schemas

Files

3,200

48.6K MB total

Rows

892M

across all schemas

Snapshots

1,024

847 eligible to expire

Lake Activity Over Time
1h6h24h7d
Files Added Files Removed
analytics.events
Live Rows (scan)

234.1M

~230M per metadata

Files

847

avg 0.6 MB

Total Written

1.2B

rows ever inserted

Row Churn

9.8M

4.2% of inserts

Columns
Column Type Nullable
PK event_id UUID NO
user_id INT64 NO
created_at TIMESTAMP NO
event_type VARCHAR YES

Per-Table Detail

Drill into any table.

Click any table to see columns, types, partitions, live row count, churn percentage, and file distribution. Run targeted maintenance directly from the detail drawer.

  • Live COUNT(*) scan with metadata fallback
  • Row churn and delete file tracking
  • Per-table over-time charts

Maintenance

One-click operations.
Zero guesswork.

Lakemon surfaces exactly which tables need maintenance and why — then lets you run it with a confirmation dialog showing the exact SQL that will execute.

  • Merge adjacent files (compaction)
  • Rewrite data files (reclaim space)
  • Expire snapshots & cleanup old files
  • Flush inlined data

Lake Maintenance

Expire Old Snapshots

847 snapshots older than 48h eligible for expiry

Recommended
Metric 847 Threshold 100

Table Candidates

2 tables
Schema Table Action Reason
analytics events Merge Files 45 small files
warehouse fact_orders Rewrite Files 12% row churn

SQL Preview

CALL ducklake_merge_adjacent_files('dlw', 'events', schema => 'analytics', ...)

Why Lakemon

Stop wrestling with
manual SQL scripts.

DuckLake is powerful. Keeping it healthy shouldn't require a folder of ad-hoc queries and tribal knowledge.

~/maintenance.sql

-- TODO: find fragmented tables (run weekly)

SELECT schema_name, table_name,

count(*) as file_count

FROM ducklake_files

WHERE status = 'active'

GROUP BY 1, 2

HAVING count(*) > 50

-- and snapshots... where's that other script?

-- churn query is in Notion I think

$ duckdb prod.db < maintenance.sql

Every. Single. Week.

Lakemon — Production Home
Maintenance Candidates
3 found
analytics.events
45 small files
warehouse.fact_orders
12% row churn
lake-wide
847 old snapshots
Run Selected · Preview SQL first

Instant. Every time you open it.

Write SQL per table

Auto-flagged small files

Snapshots silently grow

One-click expire

Scattered notebooks

Single dashboard

Guess what needs compaction

Impact-ranked candidates

Row churn invisible

Per-table churn %

Manual SQL Lakemon
Small files detection Write queries per table Auto-scanned, flagged per table
Snapshot hygiene Forgotten, keeps growing Eligible counts + one-click expire
Lake health overview Scattered SQL scripts Single dashboard view
Maintenance execution Write SQL by hand Preview SQL, confirm, run
File compaction Guess which tables Candidates ranked by impact
Row churn tracking Not visible Per-table churn % with alerts

How it works

3 steps to a healthier lake.

01

Connect

Point Lakemon at your DuckLake. Read-only by default — no data is ever modified without your explicit confirmation.

02

Monitor

See schema stats, table health, small files, deletion queues, and snapshots in a single dashboard. Drill into any table.

03

Maintain

Run compaction, rewrite, expire, and cleanup operations with one click. Preview the exact SQL before execution.

FAQ

Common questions.

Is Lakemon free?
Yes. Lakemon is free and open source under the MIT license.
Does it modify my lake?
No — not without your explicit confirmation. Lakemon connects in read-only mode by default. Every maintenance operation shows a confirmation dialog with the exact SQL before execution.
What databases does it support?
Lakemon works with any DuckLake instance via DuckDB. It connects to your existing metadata database (SQLite, Postgres, MySQL, etc.).
What maintenance operations are supported?
Merge adjacent files (compaction), rewrite data files, expire snapshots, cleanup old files, and flush inlined data. These mirror the built-in DuckLake maintenance procedures.
Is my data sent anywhere?
No. Lakemon runs entirely locally. There is no telemetry, no analytics, and no data leaves your machine.
What platforms are supported?
macOS, Linux, and Windows. Built with Tauri for a lightweight, native experience.

Ready to take control
of your DuckLake?

Free and open source. Connects to any DuckLake instance via DuckDB.

macOS · Linux · Windows