Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Replacing a Fox with a Duck... Beware that's a killer be
Message
From
30/03/2023 12:22:20
 
 
To
28/03/2023 05:45:46
General information
Forum:
Python
Category:
Other
Miscellaneous
Thread ID:
01686381
Message ID:
01686425
Views:
55
Hi Daniel,

just a few days ago I ran into a mention of duckDB - but this was in the context of running in Browser.

Seems duckDB also has a version compiled into WASM to run as WebSQL replacement -
similar to SQL.js (SQLite emsripted),
AbsurdSQL (SQLite on IndexDB persistance layer, read up on it and laugh!) and
"SQLite WASM backed by Origin Private File System"

which for Google is the tool allowing poor old WebSQL to be deprecated now
in Chromium browsers long after Apple removed it from Safari
(POX on Oracle...)

>Should you have some interest on what kind of SQL-based performance you can reach from a recent engine such as duckdb, possibly what would be the most recent equivalent of a modern version of an in-memory in-process engine à la foxpro in 2023:

You had me on the "perf" word ;-)

>
>The load time of a 720MB CSV file containing the lineitem table from the TPC-H benchmark is below 0.6 seconds for a 600 million lines table. Yep, below one second to load a beasty dataset straight from a csv!

I think I have a TPC-H schema somewhere on my disks -
but not the CSV files or a version of the 2 dozen SQL statements.
Any link to a download available ?
Perhaps a comparison suite for "own machine for local / embedded use"
is not to difficult to code in duckDB, vfp, x#, and perhaps Cockroach or Postgres
PouchDB (local CouchDB) or MiniMongo (local JS MongoDB) if asked by customer to compare...
and perhaps later a comparison Browser SQL vs. Application

>That's possibly a recent smart Apple machine. But the performance is still mind-boggling on plain vanilla win10 machines...
Until JR writes about Windows and vfp perf on Apple M chips I'll ket those machines pass
(Even if "Silent Running" is not only a great movie, but interesting to hack on)

>More information on this muscular duck:
>https://duckdb.org/

Wow! Not only LevenShtein, but Jaro and Jaro Winkler as well as inbuilt string functions.
Would have saved me some hair. Scope of other functions seems good enough, but names different.

Which SQL dialect is it closest to ? I had remembered PostgreSQL as closest on parser level?
But now I read about similarities to SQLite on the CLI front ?
And is this union data type similar to SQLite working with text columns only (behind the scenery)?
SQLite persisting any data type as text IMO is its worst facet.

DuckDB has part compression for strings! Should work better than on file/OS level, esp. if used as hash.

>That's a game changer in terms of what you can reach as a SQL data mangler on a sheer workstation. Beware that you will extract performance from your multi-core cpu in the a way no pack-office package would. It will possibly get hot!

I imagine/classify duckDB still as "more OLAP than OLTP".
If I develop again for customers, it probably will be OLTP, not OLAP
(tooooo bad, would like to get back into statistics, ML, time series and other data analysis)

But with current hardware (even newer ARM / mobile Android chipsets) running close to
Ludicrous Speed for single user / embedded / "vfp cursor" tasks might satisfy any Spaceball,
as differences in DB layer probably are irrelevant when accessed from human user via GUI.

Will be interesting to time the WASM offerings compared to "native"

tia for links in that area & best regards
thomas
Previous
Reply
Map
View

Click here to load this message in the networking platform