DuckDB は、インプロセス SQL OLAP データベース管理システムです。
DuckDB-Wasm は、WebAssembly のおかげですべてのブラウザに DuckDB を提供します。
Duckdb-Wasm は Arrow を流暢に話し、ファイルシステム API または HTTP リクエストに基づいて Parquet、CSV、および JSON ファイルを読み取り、Chrome、Firefox、Safari、および Node.js でテストされています。 DuckDB-Wasm について詳しくは、VLDB 出版物または録画された講演をご覧ください。
shell.duckdb.org または DuckDB-Wasm の外部サードパーティ埋め込みで試して、API ドキュメントを読み、Web アプリのサンプルを確認し、Discord でチャットしてください。
DuckDB-Wasm は現在、DuckDB v1.1.1 に基づいています。
関連する相違点:
INSTALL extension_name FROM 'https://repository.endpoint.org';
拡張機能のフェッチを最初のLOAD extension_name;
命令。 INSTALL x FROM community;
短縮表記もサポートされています。LOAD icu;
同じ動作を再現するために必要になる場合があります。サポートされている DuckDB の機能:
ATTACH 'https://blobs.duckdb.org/data/test.db'; FROM db.t;
デモLOAD spatial
による空間サポート 空間デモDuckDB は拡張可能であるため、機能を拡張機能に委任できます。
コア拡張機能は https://extensions.duckdb.org で入手でき、コミュニティ拡張機能は 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;
h3、icu、parquet、quack、sqlite_scanner がロードされたことが表示されます。
拡張機能をロードして Shell デモを試すこともできますが、これにはネットワーク経由で約 3.2 MB の圧縮 Wasm ファイルを転送する必要があります (最初の訪問では、キャッシュが役立つ場合があります)。
拡張機能のサイズは、提供される機能や使用されるツールチェーンなどによって異なります。
git clone https://github.com/duckdb/duckdb-wasm.git
cd duckdb-wasm
git submodule init
git submodule update
make apply_patches
make serve
サブプロジェクト | 説明 | 言語 |
---|---|---|
アヒルデータベースワズム | ワズムライブラリ | C++ |
@duckdb/duckdb-wasm | Typescript API | タイプスクリプト |
@duckdb/duckdb-wasm-shell | SQLシェル | さび |
@duckdb/duckdb-wasm-app | GitHub ページ | タイプスクリプト |
@duckdb/react-duckdb | 反応フック | タイプスクリプト |