@skiabox Yeah โ Memory64 is what lets the wasm heap go past 4GB, so it's a hard prereq. Chrome 133 is out of beta now, and if you can't upgrade the browser, the Node/Python packages run the exact same engine without the Memory64 gate.
Introducing chDB-Wasm ๐
A complete ClickHouse OLAP engine, compiled to WebAssembly, running fully client-side. No server. No install. Just open a tab and run SQL.
Try it now: https://t.co/bkC8T7nPk1
New in chdb-wasm on main: the browser SQL shell now matches clickhouse-client.
PrettyCompact rendering, ClickHouse SQL syntax highlighting, a live progress bar, and Ctrl+C to cancel a running query.
https://t.co/WZIkhji0Iw
PrettyCompact rendering, ClickHouse SQL syntax highlighting, a live progress bar, and Ctrl+C to cancel a running query.
@ppkatariya SQL surface is 1:1 with server โ same ClickHouse dialect, MergeTree family, all analytical functions. What drops out is anything that needs the host: distributed cluster / Keeper / replication, plus remote reads are CORS-scoped since the browser does the fetch.
Wiring an MCP server for "query any data anywhere"? chDB reads 70+ formats from one Python import: Parquet on S3, Iceberg, MySQL, Postgres, Arrow, JSON, CSV, ORC. No sidecar. No ETL. The agent picks a URI and runs SQL.
New in chdb-node on main: a hypequery adapter.
Run hypequery's type-safe TypeScript query builder against in-process chDB, no ClickHouse server needed. Wire it up with one adapter call.
https://t.co/OHL3rC4bnn
New in chdb-node on main: Vercel AI SDK and Mastra tool adapters.
Agents can list tables, describe s3/file/postgres sources, and run read-only SQL on embedded chDB. Ships with a Mastra HNSW vector store too.
https://t.co/w5YZGsHKXn
Everyone said this was impossible.
ClickHouse is a massive multi-threaded engine. Porting it to WebAssembly โ a single-threaded runtime โ was supposed to be a non-starter. Every AI we asked told us the same thing: can't be done.
But years of working on this engine gave me a different intuition. From first principles, there was no fundamental barrier. Just a hard problem that everyone had assumed away.
So we pointed AI at it โ refactor, regress, repeat โ instead of taking "impossible" for an answer.
The result: https://t.co/OgmJ09qJpC
A full ClickHouse OLAP engine, running entirely in your browser tab. No server. Query local files and S3 Parquet in-process.
Huge thanks to @wudidapaopao for the relentless work that made it real.
Under the hood:
โข Full ClickHouse SQL
โข Reads Parquet, CSV, JSON directly
โข Query remote sources (S3, URLs) from the browser
โข Runs entirely in WebAssembly, no backend
New in chdb-wasm on main: the browser SQL shell now matches clickhouse-client.
PrettyCompact rendering, ClickHouse SQL syntax highlighting, a live progress bar, and Ctrl+C to cancel a running query.
https://t.co/WZIkhji0Iw
PrettyCompact rendering, ClickHouse SQL syntax highlighting, a live progress bar, and Ctrl+C to cancel a running query.
Part three of our LogHouse series: 19 PiB -> 431 PiB across 1.59 quadrillion rows.
https://t.co/opJQcGl441
Two years ago, LogHouse stored 19 PiB.
Today it stores 431 PiB across 1.59 quadrillion rows, ingesting peaks of 80 GiB/s and 190 million rows/sec.
chDB as agent memory: 500k rows/s INSERT on a laptop, sparse-index per-user time slices via ORDER BY (user_id, ts), and ~10x compression on chat text with LowCardinality(role) + ZSTD. Memory layer that scales with the engine, not a separate service.
- 500k rows/s sustained INSERT on a laptop
- ORDER BY (user_id, ts): per-user time slice skips most parts
- LowCardinality(role) + ZSTD: ~10x compression on chat text
- 500k rows/s sustained INSERT on a laptop
- ORDER BY (user_id, ts): per-user time slice skips most parts
- LowCardinality(role) + ZSTD: ~10x compression on chat text
ine, not a separate service.Agent memory in chDB, single process:
- 500k rows/s sustained INSERT on a laptop
me slice skips most parts
New in chdb-node on main: the fluent query builder gets a stream() terminal that yields big results one row at a time, with values bound server-side.
A forgotten LIMIT on an OLAP scan no longer buffers the whole result and risks OOM.
https://t.co/ELepMTNNGv
Embedded analytics on a DataFrame, in-process:
import chdb, pandas as pd
df = https://t.co/fgkFZl4n7O_parquet("traces.parquet")
chdb.query("SELECT tool, avg(latency_ms) FROM Python(df) GROUP BY 1 ORDER BY 2 DESC", "DataFrame")
Full ClickHouse SQL. No server, no copy.
New in chdb-core on main: chDB now builds to WebAssembly (wasm64). Run the full ClickHouse engine in the browser or Node via a new chdb-wasm npm package. Query local files, S3, and Parquet from a Web Worker. https://t.co/9qY43QZSXa
Embedded OLAP for an agent:
- sqlite: row store, fine for state, small logs
- duckdb: columnar, polished pandas + Parquet path
- chDB: columnar, full ClickHouse SQL, native vectors and time-series
All three zero-ops. Match the engine to the workload.
Agent memory works in pgvector. Works in Pinecone. Works in your local vector DB.
What changes with chDB embedded is that 'find similar past chats for user X in the last 30 days' is one SQL, in-process, no service, no creds.
Sometimes the win is just the missing sidecar.
What changes with chDB embedded is that 'find similar past chats for user X in the last 30 days' is one SQL, in-process, no service, no creds.
What changes with chDB embedded is that 'find similar past chats for user X in the last 30 days' is one SQL, in-process, no service, no creds.
Back in March we took stock of geospatial in ClickHouse.
https://t.co/HuL4Wo9AQZ
An H3-indexed radius query over 10M NYC taxi rows ran in 0.006s, about 12x faster than a bounding box.
There are six geometry types and WKT/WKB import from PostGIS and GeoParquet too.