The Vega grammar has been broadly adopted by a growing ecosystem of browser-based visualization tools. However, the reference Vega renderer does not scale well to large datasets (e.g., millions of rows or hundreds of megabytes) because it requires the entire dataset to be loaded into browser memory. We introduce VegaFusion, which brings automatic server-side scaling to the Vega ecosystem. VegaFusion accepts generic Vega specifications and partitions the required computation between the client and an out-of-browser, natively-compiled server-side process. Large datasets can be processed server-side to avoid loading them into the browser and to take advantage of multi-threading, more powerful server hardware and caching. We demonstrate how VegaFusion can be integrated into the existing Vega ecosystem, and show that VegaFusion greatly outperforms the reference implementation. We demonstrate these benefits with VegaFusion running on the same machine as the client as well as on a remote machine.
翻译:以浏览器为基础的可视化工具日益壮大的生态系统广泛采用了 Vega 语法。 但是, 参照 Vega 转换器对于大型数据集( 如百万行或数百兆字节) 而言规模并不很好, 因为它要求将整个数据集装入浏览器内存。 我们引入 VegaFusion, 这使得 VegaFusion 的服务器向 Vega 生态系统自动扩展。 VegaFusion 接受通用 Vega 规格, 并分隔客户与外部浏览器、 本地编译服务器侧面程序之间所需的计算。 大型的服务器数据集可以被处理, 以避免装入浏览器内, 并且利用多读、 更强大的服务器硬件和缓存等功能。 我们演示 VegaFusion 如何融入现有的 VegaFusion 生态系统, 并显示 VegaFusion 大大超过引用功能。 我们展示了这些好处, VegaFusion 与客户同时运行的机器以及远程机器的 VegaFusion 。