iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
自我挑戰組

攔截記憶碼:每日一小時記錄技術學習系列 第 24

Day 23 - ChartDB:用 SQL 操作的資料可視化引擎

  • 分享至 

  • xImage
  •  

攔截源頭

  • 發現管道:社群
  • 攔截原因:最近我在研究資料可視化與內部儀表板工具(像 Metabase、Superset),但常覺得這些工具「太重」—— 要架 DB、設 UI、定義 Dashboard。
    而 ChartDB 則主打「用 SQL 就能畫圖」,一句話秒中我。
    就像我朋友說的:「這不就是資料分析師夢想中的 CLI Power BI 嗎?」
  • Github:ChartDB

技術初探

  • 官方定義:ChartDB is a SQL-native visualization engine. It turns your data queries into live, interactive charts.

  • 核心賣點:

    • SQL 驅動圖表生成:不需前端框架,直接用查詢語句畫圖。
    • 支援即時資料連線(CSV、DuckDB、Postgres、BigQuery)。
    • 可嵌入或自託管:支援雲端版與本地部署。
    • 內建 AI 模型:能幫你「自動生成查詢 + 圖表」。
    • 自然語言查詢 (NLQ):輸入英文問題,它幫你轉 SQL 並畫出結果。
  • 適用場景:

    • 團隊內部數據探索與即時可視化
    • 想快速生成圖表的資料分析師
    • 建立個人 data notebook 或 AI charting agent

實戰使用

快速安裝

npm install -g chartdb

啟動本地伺服器後,會出現一個 Web UI(預設在 http://localhost:3000)。
你可以直接在裡面輸入 SQL 查詢,ChartDB 會自動幫你生成對應的圖表。

Hello World:查詢 + 畫圖

假設你有一份 CSV 檔案:sales.csv

date,product,amount
2024-01-01,Book,120
2024-01-02,Book,150
2024-01-03,Pen,80
2024-01-03,Book,200

直接在 ChartDB 查詢:

SELECT date, SUM(amount) AS total_sales
FROM sales
GROUP BY date
ORDER BY date;

結果會直接生成折線圖 📈,X 軸是日期、Y 軸是銷售額。
不需要設定任何圖屬性,它會根據欄位自動推斷。

連線到外部資料庫

ChartDB 支援多種來源(Postgres、DuckDB、BigQuery、Snowflake):

chartdb connect postgres://user:password@localhost:5432/mydb

之後一樣用 SQL 查詢即可:

SELECT region, SUM(revenue) FROM sales_data GROUP BY region;

AI 模式:用自然語言畫圖

輸入:

“Show me the monthly sales growth for the top 3 products in 2024.”

ChartDB 背後的 AI 模型(官方稱為 ChartBot)會:

  • 自動生成 SQL 查詢
  • 執行查詢
  • 視覺化輸出

整個過程完全不需要你會 SQL。

記憶碼摘要

技術:ChartDB  
分類:SQL 驅動可視化 / 資料分析工具  
難度:⭐⭐☆☆☆(1–5 顆星)  
實用度:⭐⭐⭐⭐⭐(1–5 顆星)  
一句話:用 SQL 直接畫圖,讓資料可視化變成資料查詢的一部分。  
關鍵指令:npx chartdb  
適用情境:想快速將資料查詢結果轉成互動圖表,或用 AI 自動產圖。

結語

ChartDB 給我的感覺是「SQL + 可視化的自然融合」。
它不再讓查詢結果停留在表格階段,而是讓「視覺分析」變成查詢流程的一環。
對開發者來說,它幾乎是「可視化層的 SQLite」—— 輕量、快速、即開即用。


上一篇
Day 22 - zen-mcp-server:為 Claude Code 打造的輕量 MCP 伺服器框架
系列文
攔截記憶碼:每日一小時記錄技術學習24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言