Je découvre #duckdb
▻https://duckdb.org/docs/archive/0.9.2
Quel merveilleux outil pour travailler avec open data.
Merci @simplicissimus pour ce lien vers la présentation à Toulouse.
▻https://seenthis.net/messages/1038730
Côté pratique c’est mpressionnant
Data Import & Export
CSV Import
CSV Export
Parquet Import
Parquet Export
Query Parquet
HTTP Parquet Import
S3 Parquet Import
S3 Parquet Export
JSON Import
JSON Export
Excel Import
Excel Export
SQLite Import
PostgreSQL Import
Tout sauf du #PHP
There are various client APIs for DuckDB:
C
C++
Java
Julia
Node.js
Python
R
Rust
WebAssembly/Wasm
ADBC API
ODBC API
Additionally, there is a standalone Command Line Interface (CLI) client.
There are also contributed third-party DuckDB wrappers for:
C# by Giorgi
Common Lisp by ak-coram
Crystal by amauryt
Go by marcboeker
Ruby by suketa
Zig by karlseguin
Les arguments pour
▻https://duckdb.org/why_duckdb
... what goals DuckDB has and why and how we try to achieve those goals through technical means. To start with, DuckDB is a relational (table-oriented) DBMS that supports the Structured Query Language (SQL)
...
no external dependencies ...
no DBMS server software to install ...
support for complex queries in SQL with a large function library ...
DuckDB is deeply integrated into Python and R for efficient interactive data analysis. DuckDB provides APIs for Java, C, C++, Julia, Swift, and others.
...
DuckDB is released under the very permissive MIT License
etc.
don’t
High-volume transactional use cases (e.g., tracking orders in a webshop)
Large client/server installations for centralized enterprise data warehousing
Writing to a single database from multiple concurrent processes
Multiple concurrent processes reading from a single writable database
mais
PHP example to integrate DuckDB using PHP-FFI
▻https://github.com/thbley/php-duckdb-integration
Currently there is no PHP extension available for using DuckDB, so I created a small library using PHP-FFI.
DuckDB is an embeddable SQL OLAP database management system. It does not require external servers. Databases are stored in single files (similar to SQLite). Compared to SQLite, DuckDB is much faster. E.g. I imported 16M rows from a CSV file in 5s on my notebook (i5-8250U).
DuckDB can import CSV files with automatic format detection and automatic table creation using:
CREATE TABLE test1 AS SELECT FROM read_csv_auto(’test1.csv’);
CREATE TABLE test2 AS SELECT FROM read_csv_auto(’test2.csv.gz’);
Usage:
php -dffi.enable=1 test.php
or:
docker build -t php-ffi .
docker run -it —rm -v $(pwd):/code php-ffi php /code/test.php
Requirements:
PHP 7.4+ with FFI extension enabled
Question / défi
Directly running DuckDB queries on data stored in SQLite files | Hacker News
▻https://news.ycombinator.com/item?id=30801575
#SQL #open_data