[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82133":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":14,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":16,"starSnapshotCount":16,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},82133,"ducklake","duckdb\u002Fducklake","duckdb","DuckLake is an integrated data lake and catalog format",null,"https:\u002F\u002Fgithub.com\u002Fduckdb\u002Fducklake","C++",2800,197,26,109,0,8,21,24,84.99,false,"main","2026-06-12 04:01:37","\u003Cdiv align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"..\u002Flogo\u002FDuckLake_Logo-horizontal.svg\">\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"..\u002Flogo\u002FDuckLake_Logo-horizontal-dark.svg\">\n    \u003Cimg alt=\"DuckLake logo\" src=\"..\u002Flogo\u002FDuckLake_Logo-horizontal.svg\" height=\"100\">\n  \u003C\u002Fpicture>\n\u003C\u002Fdiv>\n\u003Cbr>\n\n# DuckDB DuckLake Extension\n\nDuckLake is an open Lakehouse format that is built on SQL and Parquet. DuckLake stores metadata in a [catalog database](https:\u002F\u002Fducklake.select\u002Fdocs\u002Fstable\u002Fduckdb\u002Fusage\u002Fchoosing_a_catalog_database), and stores data in Parquet files. The DuckLake extension allows DuckDB to directly read and write data from DuckLake.\n\nSee the [DuckLake website](https:\u002F\u002Fducklake.select) for more information.\n\n## Installation\n\nDuckLake can be installed using the `INSTALL` command:\n\n```sql\nINSTALL ducklake;\n```\n\nThe latest development version can be installed from `core_nightly`:\n\n```sql\nFORCE INSTALL ducklake FROM core_nightly;\n```\n\n## Usage\n\nDuckLake databases can be attached using the  [`ATTACH`](https:\u002F\u002Fduckdb.org\u002Fdocs\u002Fstable\u002Fsql\u002Fstatements\u002Fattach.html) syntax, after which tables can be created, modified and queried using standard SQL.\n\nBelow is a short usage example that stores the metadata in a DuckDB database file called `metadata.ducklake`, and the data in Parquet files in the `file_path` directory:\n\n```sql\nATTACH 'ducklake:metadata.ducklake' AS my_ducklake (DATA_PATH 'file_path\u002F');\nUSE my_ducklake;\nCREATE TABLE my_ducklake.my_table(id INTEGER, val VARCHAR);\nINSERT INTO my_ducklake.my_table VALUES (1, 'Hello'), (2, 'World');\nFROM my_ducklake.my_table;\n┌───────┬─────────┐\n│  id   │   val   │\n│ int32 │ varchar │\n├───────┼─────────┤\n│     1 │ Hello   │\n│     2 │ World   │\n└───────┴─────────┘\n```\n##### Updates\n```sql\nUPDATE my_ducklake.my_table SET val='DuckLake' WHERE id=2;\nFROM my_ducklake.my_table;\n┌───────┬──────────┐\n│  id   │   val    │\n│ int32 │ varchar  │\n├───────┼──────────┤\n│     1 │ Hello    │\n│     2 │ DuckLake │\n└───────┴──────────┘\n```\n##### Time Travel\n```sql\nFROM my_ducklake.my_table AT (VERSION => 2);\n┌───────┬─────────┐\n│  id   │   val   │\n│ int32 │ varchar │\n├───────┼─────────┤\n│     1 │ Hello   │\n│     2 │ World   │\n└───────┴─────────┘\n```\n##### Schema Evolution\n```sql\nALTER TABLE my_ducklake.my_table ADD COLUMN new_column VARCHAR;\nFROM my_ducklake.my_table;\n┌───────┬──────────┬────────────┐\n│  id   │   val    │ new_column │\n│ int32 │ varchar  │  varchar   │\n├───────┼──────────┼────────────┤\n│     1 │ Hello    │ NULL       │\n│     2 │ DuckLake │ NULL       │\n└───────┴──────────┴────────────┘\n```\n##### Change Data Feed\n```sql\nFROM my_ducklake.table_changes('my_table', 2, 2);\n┌─────────────┬───────┬─────────────┬───────┬─────────┐\n│ snapshot_id │ rowid │ change_type │  id   │   val   │\n│    int64    │ int64 │   varchar   │ int32 │ varchar │\n├─────────────┼───────┼─────────────┼───────┼─────────┤\n│           2 │     0 │ insert      │     1 │ Hello   │\n│           2 │     1 │ insert      │     2 │ World   │\n└─────────────┴───────┴─────────────┴───────┴─────────┘\n```\n\nSee the [Usage](https:\u002F\u002Fducklake.select\u002Fdocs\u002Fstable\u002Fduckdb\u002Fintroduction) guide for more information.\n\n## Building & Loading the Extension\n\nTo build, type\n```\ngit submodule init\ngit submodule update\n# to build with multiple cores, use `make GEN=ninja release`\nmake pull\nmake\n```\n\nTo run, run the bundled `duckdb` shell:\n```\n .\u002Fbuild\u002Frelease\u002Fduckdb\n```\n\n## Contributing\n\nWe are happy to have outside contributions to our DuckLake extension. We currently have two active branches, and depending on your contribution, you must target the appropriate branch. Please note that bug fixes are always welcome. For new features, please coordinate with the team before starting any implementation.\n\n1. `main`. Our main branch is our DuckLake implementation that uses DuckDB `main` as a submodule. If your contribution is a new feature, or a bug fix that requires a DuckLake spec change, or if it strictly depends on a change in DuckDB `main`, you must target this branch.\n2. `1.5-variegata`. Here, we use DuckDB `1.5-variegata` as a submodule. Target this branch if you have a bug-fix that does not require a DuckLake spec change.\n\n## Testing\n\n```bash\n# run all DuckLake extension tests\n.\u002Fbuild\u002Frelease\u002Ftest\u002Funittest\n# run a single test file\n.\u002Fbuild\u002Frelease\u002Ftest\u002Funittest test\u002Fsql\u002Ftransaction\u002Fcreate_conflict.test\n# run tests matching a pattern\n.\u002Fbuild\u002Frelease\u002Ftest\u002Funittest \"test\u002Fsql\u002Fpartitioning\u002F*\"\n\n# run DuckDB core tests using DuckLake as storage backend\n.\u002Fbuild\u002Frelease\u002Ftest\u002Funittest --test-config test\u002Fconfigs\u002Fattach_ducklake.json --test-dir duckdb\n\n# run DuckLake tests using PostgreSQL as catalog database (requires running PostgreSQL)\n.\u002Fbuild\u002Frelease\u002Ftest\u002Funittest --test-config test\u002Fconfigs\u002Fpostgres.json\n# run DuckLake tests using SQLite as catalog database\n.\u002Fbuild\u002Frelease\u002Ftest\u002Funittest --test-config test\u002Fconfigs\u002Fsqlite.json\n\n# run tests with deletion vectors enabled\n.\u002Fbuild\u002Frelease\u002Ftest\u002Funittest --test-config test\u002Fconfigs\u002Fdeletion_vectors.json\n```\n","DuckLake是一个集成了数据湖和目录格式的开放Lakehouse解决方案，基于SQL和Parquet构建。它通过将元数据存储在目录数据库中、数据存储为Parquet文件的方式，支持直接从DuckDB读写数据。核心功能包括使用标准SQL进行表创建与查询、版本控制的时间旅行查询、模式演进以及变更数据捕获等，这些特性使得数据管理和分析更加灵活高效。适用于需要高性能数据分析处理能力且偏好SQL操作界面的各种业务场景，如企业级数据仓库建设、实时数据分析平台搭建等。",2,"2026-06-11 04:07:51","trending"]