DuckDB es un sistema de gestión de bases de datos SQL OLAP en proceso.
DuckDB-Wasm lleva DuckDB a todos los navegadores gracias a WebAssembly.
Duckdb-Wasm habla Arrow con fluidez, lee archivos Parquet, CSV y JSON respaldados por API del sistema de archivos o solicitudes HTTP y ha sido probado con Chrome, Firefox, Safari y Node.js. Obtenga más información sobre DuckDB-Wasm en nuestra publicación VLDB o en la charla grabada.
Pruébelo en shell.duckdb.org o en la incorporación de DuckDB-Wasm de un tercero externo, lea la documentación de la API, consulte los ejemplos de aplicaciones web y charle con nosotros en Discord.
DuckDB-Wasm se basa actualmente en DuckDB v1.1.1.
Diferencias relevantes:
INSTALL extension_name FROM 'https://repository.endpoint.org';
aplazar la búsqueda de la extensión al primer LOAD extension_name;
instrucción. INSTALL x FROM community;
También se admiten taquigrafías.LOAD icu;
podría ser necesario para reproducir el mismo comportamiento.Funciones compatibles con DuckDB:
ATTACH 'https://blobs.duckdb.org/data/test.db'; FROM db.t;
manifestaciónLOAD spatial
DuckDB es extensible y esto permite delegar funcionalidad a extensiones.
Las extensiones principales están disponibles en https://extensions.duckdb.org y las extensiones comunitarias están disponibles en 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;
Mostrará que se han cargado h3, icu, parquet, quack y sqlite_scanner.
Puede probar la demostración de Shell con la carga de extensiones, pero esto requiere transferir alrededor de 3,2 MB de archivos Wasm comprimidos a través de la red (en la primera visita, el almacenamiento en caché podría ayudar).
Los tamaños de las extensiones variarán dependiendo, entre otras cosas, de la funcionalidad proporcionada o de la cadena de herramientas utilizada.
git clone https://github.com/duckdb/duckdb-wasm.git
cd duckdb-wasm
git submodule init
git submodule update
make apply_patches
make serve
Subproyecto | Descripción | Idioma |
---|---|---|
patodb_wasm | Biblioteca Wasm | C++ |
@duckdb/duckdb-wasm | API mecanografiada | Mecanografiado |
@duckdb/duckdb-wasm-shell | Shell SQL | Óxido |
@duckdb/duckdb-wasm-aplicación | Página de GitHub | Mecanografiado |
@duckdb/react-duckdb | Ganchos de reacción | Mecanografiado |