Skip to content

DuckLake Lakehouse Management in VS Code

DuckLake is a lakehouse solution built on DuckDB that separates catalog metadata from data storage. Key features include:

  • Flexible catalog backends: Use a local DuckDB/SQLite file, a PostgreSQL/MySQL server, or a remote DuckDB catalog served over the quack protocol
  • Multiple storage options: Store Parquet data files locally, on Amazon S3, Google Cloud Storage, or Azure (ADLS Gen2 and Blob)
  • Full SQL support: Create, alter, and query tables using standard SQL through DuckDB
  • ACID transactions: Transactional guarantees via the underlying catalog database
  • Time travel: Query historical versions of your data

DuckLake is ideal for teams that want lakehouse capabilities without the complexity of Spark or Hive, while retaining the speed and simplicity of DuckDB.

To connect to DuckLake in DBCode:

  1. Open the DBCode Extension: Launch Visual Studio Code and open the DBCode extension.
  2. Add a New Connection: Click on the “Add Connection” icon.
  3. Complete connection form:
    • Select DuckLake as the database type
    • Choose your catalog type (local file, database server, or quack server). For a quack server, enter the host and port (default 9494) and an access token; transport uses HTTPS automatically for remote hosts and plain HTTP for localhost.
    • Configure the data storage location (local directory, S3 path, GCS path, or Azure path)
    • For S3/GCS storage, configure an AWS authentication profile; for Azure, configure an Azure Storage authentication profile (connection string, account key, SAS token, credential chain, managed identity, or service principal). For sovereign clouds, set the Endpoint Suffix (for example core.usgovcloudapi.net or core.chinacloudapi.cn).
  4. Connect: Click save to establish your connection.
  5. Start Querying: Begin creating tables and querying your lakehouse data.

For detailed instructions on connecting to DuckLake, refer to the Connect article.

DBCode provides full support for DuckLake’s lakehouse capabilities:

  • Schema browsing: Explore tables, columns, and metadata in the object tree
  • SQL autocomplete: Intelligent suggestions for DuckDB-specific functions and syntax
  • Data editing: Insert, update, and delete rows directly in the data grid
  • EXPLAIN visualization: Graphical query execution plan visualization

By using DuckLake with DBCode, you get a lightweight lakehouse directly within Visual Studio Code, with the full power of DuckDB’s analytical engine and flexible storage backends.

For more information about DuckLake, check out DuckLake.