Show HN:ColumnLens – 在你的 Mac 上,毫秒级查询数百万行数据

2作者: hilti5 个月前
我们一直将数据发送到云端进行分析,但现代Mac电脑的性能足以在几毫秒内本地查询数百万行数据,即使是8GB内存的MacBook Neo也不在话下。 我开发ColumnLens是因为我不想再为了执行GROUP BY操作而将敏感数据上传到SaaS工具。它是一个原生C++桌面应用程序,可以在大约3秒内打开5GB以上的CSV、JSONL、Parquet和Excel文件,然后让你使用DuckDB的完整SQL引擎进行查询——JOIN、CTEs、窗口函数,所有操作都在你的机器上运行。 这个想法很简单:你的笔记本电脑就是一个非常棒的分析工作站。你不需要云端管道也能查看你的数据。 在构建它的过程中,我学到了一些东西: * DuckDB的列式引擎非常高效。1200万行数据,查询时间不到一秒,内存占用不到1GB。而且,这些性能是在一个可以装进背包的硬件上实现的。 * ImGui + OpenGL是构建数据密集型桌面应用程序的绝佳组合。没有DOM,没有布局引擎的开销——只有原始的GPU渲染。数据网格可以滚动1200万行数据,而不会掉帧。 * 我添加了一个“3D城市视图”,将行映射到建筑物(高度=一列,颜色=另一列)。听起来有点花哨,但异常值和聚类在表格或图表中是无法立即看到的。我们的大脑擅长在天际线中发现高耸的建筑物。 * Lua脚本比预期的更有用。人们编写小脚本来从API获取数据、运行查询和配置图表——无需离开应用程序即可进行可重复的分析。 * 所有操作都在本地运行。零遥测,零网络调用。二进制文件只有33MB,静态链接。 免费下载地址:<a href="https:&#x2F;&#x2F;columnlens.com" rel="nofollow">https:&#x2F;&#x2F;columnlens.com</a> 很想听听其他正在构建本地优先数据工具的人的意见——我认为“将所有内容发送到云端”的时代正在开始转变。
查看原文
We keep shipping data to the cloud to analyze it, but modern Macs have enough horsepower to query millions of rows locally in milliseconds. Even an 8GB MacBook Neo.<p>I built ColumnLens because I wanted to stop uploading sensitive data to SaaS tools just to run a GROUP BY. It&#x27;s a native C++ desktop app that opens 5GB+ CSV, JSONL, Parquet, and Excel files in about 3 seconds, then lets you query them with DuckDB&#x27;s full SQL engine — JOINs, CTEs, window functions, all running on your machine.<p>The idea is simple: your laptop is a perfectly good analytics workstation. You shouldn&#x27;t need a cloud pipeline to look at your data.<p>Some things I learned building it:<p>- DuckDB&#x27;s columnar engine is absurdly efficient. 12M rows, sub-second queries, under 1 GB RAM. On hardware that fits in a backpack.<p>- ImGui + OpenGL is a great stack for data-heavy desktop apps. No DOM, no layout engine overhead — just raw GPU rendering. The data grid scrolls 12M rows without a single frame drop.<p>- I added a &quot;3D City View&quot; that maps rows to buildings (height = one column, color = another). Sounds gimmicky, but outliers and clusters are immediately visible in ways they aren&#x27;t in tables or charts. Our brains are good at spotting the tall building in a skyline.<p>- Lua scripting turned out more useful than expected. People write small scripts to fetch data from APIs, run queries, and configure charts — repeatable analysis without leaving the app.<p>- Everything runs locally. Zero telemetry, zero network calls. The binary is 33MB, statically linked.<p>Free download at <a href="https:&#x2F;&#x2F;columnlens.com" rel="nofollow">https:&#x2F;&#x2F;columnlens.com</a><p>Would love to hear from anyone else building local-first data tools — I think the &quot;ship everything to the cloud&quot; era is starting to swing back.