DuckDB ist ein In-Process-SQL-OLAP-Datenbankverwaltungssystem.
DuckDB-Wasm bringt DuckDB dank WebAssembly in jeden Browser.
Duckdb-Wasm spricht fließend Arrow, liest Parquet-, CSV- und JSON-Dateien, die durch Dateisystem-APIs oder HTTP-Anfragen unterstützt werden, und wurde mit Chrome, Firefox, Safari und Node.js getestet. Erfahren Sie mehr über DuckDB-Wasm in unserer VLDB-Publikation oder im aufgezeichneten Vortrag.
Probieren Sie es unter shell.duckdb.org oder die externe Einbettung von DuckDB-Wasm durch Dritte aus, lesen Sie die API-Dokumentation, schauen Sie sich die Web-App-Beispiele an und chatten Sie mit uns auf Discord.
DuckDB-Wasm basiert derzeit auf DuckDB v1.1.1.
Relevante Unterschiede:
INSTALL extension_name FROM 'https://repository.endpoint.org';
Verschieben Sie das Abrufen der Erweiterung auf den ersten LOAD extension_name;
Anweisung. INSTALL x FROM community;
Kurzschriften werden ebenfalls unterstützt.LOAD icu;
Möglicherweise ist es erforderlich, das gleiche Verhalten zu reproduzieren.Unterstützte DuckDB-Funktionen:
ATTACH 'https://blobs.duckdb.org/data/test.db'; FROM db.t;
DemoLOAD spatial
räumliche DemoDuckDB ist erweiterbar und ermöglicht die Delegierung von Funktionen an Erweiterungen.
Kernerweiterungen sind unter https://extensions.duckdb.org und Community-Erweiterungen unter https://community-extensions.duckdb.org verfügbar.
-- - 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;
Zeigt an, dass h3, icu, parquet, quack und sqlite_scanner geladen wurden.
Sie können die Shell-Demo mit dem Laden von Erweiterungen ausprobieren, aber dafür müssen etwa 3,2 MB komprimierter Wasm-Dateien über das Netzwerk übertragen werden (beim ersten Besuch könnte Caching hilfreich sein).
Die Größe der Erweiterungen variiert unter anderem je nach bereitgestellter Funktionalität oder verwendeter Toolchain.
git clone https://github.com/duckdb/duckdb-wasm.git
cd duckdb-wasm
git submodule init
git submodule update
make apply_patches
make serve
Teilprojekt | Beschreibung | Sprache |
---|---|---|
duckdb_wasm | Wasm-Bibliothek | C++ |
@duckdb/duckdb-wasm | Typescript-API | Typoskript |
@duckdb/duckdb-wasm-shell | SQL-Shell | Rost |
@duckdb/duckdb-wasm-app | GitHub-Seite | Typoskript |
@duckdb/react-duckdb | Reagieren Sie auf Hooks | Typoskript |