duckdb/duckdb-wasm là dự án Data trên GitHub, viết chủ yếu bằng TypeScript, với 2.2k sao. WebAssembly version of DuckDB
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
DuckDB is an in-process SQL OLAP Database Management System.
DuckDB-Wasm brings DuckDB to every browser thanks to WebAssembly.
Duckdb-Wasm speaks Arrow fluently, reads Parquet, CSV and JSON files backed by Filesystem APIs or HTTP requests and has been tested with Chrome, Firefox, Safari and Node.js. Learn more about DuckDB-Wasm from our VLDB publication or the recorded talk.
Try it out at shell.duckdb.org or at duckdb.org/visualizer.
External third party embedding of DuckDB-Wasm, read the API documentation, check out the web-app examples, and chat with us on Discord.
DuckDB and DuckDB-Wasm
DuckDB-Wasm is currently based on DuckDB v1.5.6.
Relevant differences:
Default HTTP stack is different between native and Wasm versions of DuckDB
LOAD httpfs will opt-in to using the same HTTP logic, but re-implemented in JavaScript
Notable differences in network interactions:
Requests are always upgraded to HTTPS
Requests needs server to allow Cross Origin access on a given resource
Extension install is lazy, meaning that INSTALL extension_name FROM 'https://repository.endpoint.org'; defer fetching the extension to the first LOAD extension_name; instruction. INSTALL x FROM community; shorthands are also supported.
DuckDB-Wasm builds are optimized for download speed. Core extensions like autocomplete, JSON, Parquet and ICU are usually bundled DuckDB binaries, while in duckdb-wasm they are autoloaded (including fetching them) at runtime. In particular for ICU autoloading do not work corrently in all cases, explicit LOAD icu; might be needed to reproduce same behaviour.
DuckDB-Wasm is sandboxed and migth not have the same level of support for out-of-core operations and access to file system
DuckDB-Wasm default mode is single threaded. Multithreading is at the moment still experimental.
Supported DuckDB features:
DuckDB databases files are compatible to be read from DuckDB-Wasm.
Databases files can be made available as simple as: ATTACH 'https://blobs.duckdb.org/data/test.db'; FROM db.t; demo
Spatial support via LOAD spatial spatial demo
A growing subset of extensions, either core, community or external, are supported for DuckDB-Wasm
Multithreading work but it's still experimental and by default not enabled
DuckDB-Wasm and DuckDB Extension
DuckDB is extensible and this allows to delegate functionality to extensions.
Core extensions are available at https://extensions.duckdb.org, and community extensions are available at https://community-extensions.duckdb.org.
--- Excplicitly load extensions
LOAD icu;
--- Or have them autoloaded when using relevant functions or settings
DESCRIBE FROM read_parquet('https://blobs.duckdb.org/stations.parquet'); -- (this autoloads JSON)
--- Or register extensions
INSTALL h3 FROM community;
INSTALL sqlite_scanner FROM 'https://extensions.duckdb.org';
INSTALL quack FROM 'https://community-extensions.duckdb.org';
--- And then load them
LOAD h3;
LOAD sqlite_scanner;
LOAD quack;
FROM duckdb_extensions() WHERE loaded;
Will show that h3, icu, parquet, quack and sqlite_scanner have been loaded.
You can try the Shell demo with loading of extensions but this do require about 3.2 MB of compressed Wasm files to be transfered over the network (on first visit, caching might help).
Extension sizes will vary depending, among other things, on provided functionality or toolchain used.
Build from source
See docs/local_development_guide.md for
prerequisites, checkout and patches, building and serving the wasm_eh and
wasm_threads bundles, loading extensions from the published repositories or
from unsigned local checkouts, test data, and troubleshooting.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/duckdb/duckdb-wasm là nguồn chính thức.
duckdb/duckdb-wasm có bao nhiêu sao?
duckdb/duckdb-wasm có 2.2k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/duckdb/duckdb-wasm. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
duckdb/duckdb-wasm có phải mã nguồn mở không?
Có — duckdb/duckdb-wasm phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/duckdb/duckdb-wasm.
duckdb/duckdb-wasm còn đang phát triển không?
Commit gần nhất trên duckdb/duckdb-wasm là 3 tháng trước (theo timestamp GitHub). Repo có 239 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
duckdb/duckdb-wasm là gì?
duckdb/duckdb-wasm (duckdb/duckdb-wasm) là dự án TypeScript trên GitHub. Theo mô tả gốc: WebAssembly version of DuckDB
duckdb/duckdb-wasm so với các dự án Data khác thế nào?
duckdb/duckdb-wasm được TopGit xếp vào nhóm Data, với 2.2k sao GitHub và viết bằng TypeScript. Xem trang chủ đề Data trên TopGit để so sánh với các dự án tương tự theo số sao và mức độ hoạt động.
Đọc đầy đủ README ở tab phía trên.
duckdb-wasm có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về duckdb-wasm.