| This is the exact reason we applied duckdb and duckdb-wasm into our service. Our team is currently building a form builder SaaS. Most forms have responses under 1,000, but some of them would have more than 50,000 responses. So, when user tries to explore through all responses in our “response sheet” feature, usually they could be loaded via infinite scrolling (load as they scroll). This uses up to 100MB of network in total if they had to get object arrays of 50,000 rows of data with 50 columns. That was where duckdb kicked in : just store the responses into S3 as parquet file(in our case Cloudflare R2). Then, load the whole file into duckdb-wasm into client. So when you scroll through sheet, instead of getting rows from server, you query rows from local db. This made our sheet feature very efficient and consistent in terms of their speed and memory usage. If network speed and memory is your bottle neck when loading “medium” data into your client, you definitely should give it a try. PS. If you have any questions, feel free to ask! PS. Our service is called Walla, check it out at https://home.walla.my/en |
An improvement could be having pre-calculated DuckDB database files that are directly attached from the DuckDB WASM frontend, see https://duckdb.org/docs/guides/network_cloud_storage/duckdb_...