DuckDB - DuckDB-Wasm:瀏覽器中的高效分析 SQL

banq發表於2021-11-05

DuckDB-Wasm 是一個用於瀏覽器的程式內分析 SQL 資料庫。它由 WebAssembly 提供支援,可以流利地使用 Arrow 語言,讀取由檔案系統 API 或 HTTP 請求支援的 Parquet、CSV 和 JSON 檔案,並且已經過 Chrome、Firefox、Safari 和 Node.js 的測試。您可以在瀏覽器中的shell.duckdb.orgObservable上試用它。
 
Web 瀏覽器已經發展成為一個通用計算平臺,甚至可以在您的汽車中執行。它的興起伴隨著對瀏覽器程式語言 JavaScript 的需求不斷增加。JavaScript 首先被設計為非常靈活,與 C++ 等本地語言相比,其代價是處理效率降低。考慮到更復雜的資料分析任務的執行時間,這些任務的執行時間通常落後於本地執行幾個數量級,這一點變得尤為明顯。過去,此類分析任務因此被推送到伺服器,這些伺服器將任何客戶端處理與 Internet 上的額外往返聯絡起來,並引入了它們自己的一組可擴充套件性問題。
4 年前,隨著 WebAssembly 的引入,瀏覽器的處理能力得到了極大的提升。
WebAssembly(縮寫為 Wasm)是一種用於基於堆疊的虛擬機器的二進位制指令格式。Wasm 被設計為程式語言的可移植編譯目標,支援在 Web 上部署客戶端和伺服器應用程式。
Wasm 堆疊機旨在以大小和載入時間高效的二進位制格式進行編碼。WebAssembly 旨在透過利用各種平臺上可用的通用硬體功能以本機速度執行。
四年後,WebAssembly 革命正在全面推進,第一個實現在四個主要瀏覽器中釋出。它已經為我們帶來了遊戲引擎整個 IDE甚至Photoshop的瀏覽器版本。今天,我們加入了第一個 npm 庫@duckdb/duckdb-wasm 的行列
作為一個程式內分析資料庫,DuckDB 有難得的機會顯著加快瀏覽器中的 OLAP 工作負載。我們認為需要一個全面且獨立的資料分析庫。DuckDB-wasm 自動將您的查詢解除安裝到專用的工作執行緒,並從您的本地檔案系統或由純 SQL 輸入驅動的 HTTP 伺服器讀取 Parquet、CSV 和 JSON 檔案。
詳細點選標題

相關文章