Neo4j 圖資料庫節點關聯視覺化封面圖

圖資料庫 Neo4j 完整介紹:何時該從 PostgreSQL 升級?老闆與開發者雙視角選型指南

自由揚John17 分鐘閱讀
複製引文

早上九點,你點開後台的推薦引擎報表。系統花了 8 秒才把首頁的「猜你喜歡」算完,使用者早就滑走。工程師說已經把商品、訂單、會員、瀏覽紀錄 四張表的索引重建過、把 JOIN 改寫成 CTE,再快也壓不下 5 秒。你問他卡在哪,他丟了一張查詢計畫圖過來——七層巢狀 JOIN,後面三層每跳一次都全表掃。

真正的瓶頸在資料模型——關聯式表結構天生不擅長處理多跳關係。當「找朋友的朋友的朋友會買什麼」、「這筆轉帳跟詐騙集團隔幾個帳戶」、「這篇研究跟那篇研究透過哪幾個共同作者連起來」變成日常查詢,關聯式資料庫面對的不只是「慢一點」,而是結構性卡關。這時候你會聽到「Neo4j」這個名字——它是過去十年最知名的圖資料庫,被 NASA、UBS、Volvo 拿去處理連線比節點還重要的場景。

這篇文章會用老闆視角開場(什麼業務問題需要它),技術細節點到為止(Cypher 長什麼樣、跟 PostgreSQL 怎麼選),最後回到實務(AuraDB 真實價格、自建成本、什麼時候該找外包)。看完你不會變成 Neo4j 工程師,但你會知道下次工程主管丟「我們需要圖資料庫」這句話過來的時候,該追問什麼。

Neo4j 圖資料庫節點關聯視覺化封面圖
Neo4j 圖資料庫節點關聯視覺化封面圖

為什麼你的「找朋友的朋友」查詢越跑越慢?關聯式資料庫的天花板

關聯式資料庫(PostgreSQL、MySQL、SQL Server)儲存資料的方式是表 + 外鍵。會員表一張、訂單表一張、商品表一張,需要關聯就靠 foreign key 對照。對「查某個會員的最近 10 筆訂單」這種扁平查詢,這套架構快得驚人——索引一查,O(log n),幾毫秒。

問題出在你開始問多跳問題:「跟我買過同樣商品的人,他們還買了什麼?」這在 SQL 裡是兩層 JOIN。再追一層「這些東西在我朋友圈裡誰買過?」變三層。社交圖譜、知識圖譜、反詐欺典型的查詢動輒 4–6 跳。每多一跳,JOIN 的中間結果集就是上一層的乘積——資料量是線性成長,但 JOIN 的成本是指數成長

一份 IEEE 2024 年的對照研究 把同一份資料分別放進 PostgreSQL 跟 Neo4j 跑同樣的多跳查詢。在 3 跳以內,PostgreSQL 還能拼速度(甚至略勝);4 跳開始拉開差距;6 跳以上,Neo4j 的回應時間幾乎是常數,PostgreSQL 則被中間結果集吃光記憶體。pgbench 的Postgres vs Neo4j 對照頁 講得更直接:超過 5 張表的 JOIN,「Neo4j 開始顯現顯著優勢」。

更實務的觀察是:當你的工程師開始在 PostgreSQL 裡用 recursive CTE 寫「找路徑」邏輯,那篇 SQL 通常會長到 80 行以上、跑起來慢到需要排程跑、改一個欄位整段重寫——這是訊號,資料模型已經跟業務需求脫鉤。

ℹ️什麼時候該認真考慮圖資料庫?

三個訊號同時出現就值得評估:(1) 主要查詢有 4 跳以上關聯遍歷;(2) 關係本身是查詢條件(不只是用來 JOIN,還要篩選關係屬性);(3) 圖結構會頻繁變動(新增邊比新增節點還多)。三個只中一個——先把 PostgreSQL 索引調好,不用換 DB。

Neo4j 是什麼?圖資料庫的核心三件套

Neo4j 是目前最廣泛採用的圖資料庫,2007 年開源、總部在瑞典/美國。它把資料模型從「表」改成Property Graph Model——三個核心概念:節點(Node)、關係(Relationship,也叫邊)、屬性(Property)。

節點代表實體(一個人、一筆交易、一個商品);關係是節點之間的有向連線(「Alice 認識 Bob」「訂單包含商品 A」);屬性可以掛在節點上也可以掛在關係上(「Alice 認識 Bob,認識時間 2021」)。關係是頭等公民——它它是儲存時就用物理指標固定起來,而非查詢時才用 JOIN 算。Neo4j 5.x 的儲存層讓「跳一跳」變成 constant time per hop,不依賴索引查找。

市場面看起來也不是冷門技術。MarketsandMarkets 的圖資料庫市場報告 把全球規模從 2018 年的 6.51 億美元,預估推到 2026 年的 37.31 億美元,年複合成長率 24.5%。Neo4j 在 Gartner 2025 Cloud DBMS Magic Quadrant 連續第四年入榜,2025 年同時拿到 Voice of the Customer 的 Customers' Choice 認證。客戶名單包含 NASA、UBS、Volvo、Adobe,1,000+ 家企業在用。

跟關聯式資料庫的對照

維度

關聯式資料庫(PostgreSQL)

圖資料庫(Neo4j)

儲存單位

Row(一列)

Node + Relationship

查詢語言

SQL

Cypher(W3C 標準化進行中,叫 GQL)

關係儲存

Foreign Key + JOIN

物理指標,遍歷時 O(1)

強項

扁平結構、ACID 寫入、報表 OLAP

多跳查詢、路徑搜尋、社交網絡

弱項

深層遞迴、樹/圖遍歷

全表掃描、扁平聚合

水平擴展

成熟(讀寫分離、sharding)

讀可擴展,寫節點目前只能 vertical scale

典型場景

電商交易、ERP、會計

詐欺偵測、推薦、知識圖譜、GraphRAG

資料庫架構電路板示意圖
資料庫架構電路板示意圖

Cypher 查詢語言:一段 SQL 寫不出的「朋友的朋友」

Cypher 是 Neo4j 的查詢語言,最大的特色是用 ASCII art 畫圖。節點是 `()`,關係是 `-[]->`,屬性放在 `{}` 裡。看一眼就懂查的是什麼,這點對讀程式碼的人很友善。

先看建立資料:

CYPHER
// 建立兩個會員節點和一條關係
CREATE (alice:Person {name: 'Alice', age: 32})
CREATE (bob:Person {name: 'Bob', age: 28})
CREATE (alice)-[:FRIEND {since: 2021}]->(bob);

再看「找 Alice 的朋友的朋友(但不包括 Alice 自己已經認識的)」——這在 SQL 要寫 30 行 CTE,在 Cypher 是兩行:

CYPHER
MATCH (alice:Person {name: 'Alice'})-[:FRIEND]->(:Person)-[:FRIEND]->(fof)
WHERE NOT (alice)-[:FRIEND]->(fof) AND fof <> alice
RETURN DISTINCT fof.name;

更實際的例子:反詐欺場景常見的「這張信用卡跟已知詐騙集團隔幾個帳戶?」

CYPHER
MATCH path = shortestPath(
  (card:Card {id: '4111-xxxx'})-[:TRANSFER*1..6]-(fraud:Fraudster)
)
RETURN length(path) AS hops, [n IN nodes(path) | n.id] AS chain;

`*1..6` 是 Cypher 的可變長度路徑語法,「找 1 到 6 跳的最短連線」。同樣的需求在 PostgreSQL 要用 recursive CTE + 自訂深度限制,效能還會隨深度爆炸。

Cypher 不是 Neo4j 獨占了——它已經被 ISO 工作組整理進 GQL(Graph Query Language) 國際標準,2024 年正式發布。意思是學了不會被綁死在 Neo4j 一家,AWS Neptune、Memgraph、TigerGraph 多少都支援子集。

Cypher 學習曲線比想像中低

對寫過 SQL 的工程師,掌握 MATCH / CREATE / WHERE / RETURN 大概一週上手;難的不是語法,是「思考方式」要從「表 + JOIN」切到「節點 + 路徑」。建議從官方 Neo4j Sandbox 免費環境開始玩,比裝環境快。

三個讓 Neo4j 一戰成名的業務場景

詐欺偵測:比關聯式資料庫快 1,000 倍

這是 Neo4j 行銷頁最常掛在嘴邊的數字:複雜詐欺模式偵測比關聯式資料庫快 1,000 倍。1000x 是上限,不是平均,但即使打對折也很可觀。

為什麼快?因為詐欺集團的核心特徵是拓樸——一群人共用地址、共用電話、共用銀行帳戶。在 RDBMS 你要先 JOIN 出共用地址的會員、再 JOIN 出他們的交易、再 JOIN 出交易對象……每多一層中間表都會爆炸。Neo4j 把它變成「找連通分量」「找最短路徑」「算 PageRank 排序高風險帳戶」這類在圖上原生高效的演算法。

實務上一個常見架構:交易資料用 Kafka 串流寫進 Neo4j,每筆交易進來都觸發「跟已知詐騙者隔幾跳」的查詢,算出一個 Network Risk Score。這個分數即時餵給授權引擎,授權引擎決定要不要放行——整套流程在毫秒級完成。台灣的金融機構這幾年也在試水,常跟核心系統並存(核心還是 Oracle/DB2,圖資料庫專門做風險評估)。

推薦引擎:協同過濾的天然主場

「跟你買過同樣商品的人還買了什麼」是協同過濾的經典場景,本質就是兩跳查詢——你買的商品 → 其他買過這商品的人 → 他們買的其他商品。Cypher 寫起來自然,Neo4j 5.x 開始內建 vector index,可以把節點的 embedding 直接存在節點屬性上做相似度搜尋。

最強的是混合查詢:「找跟商品 X 相似的、而且被 VIP 會員買過、而且還在庫存裡的」——這在一個 Cypher 查詢裡寫完,向量相似度 + 圖遍歷 + 屬性過濾全部一鍋煮。Modern DataTools 的 Neo4j 2026 評測 把這個能力列為「比純向量資料庫(如 Pinecone)多出一個維度」的關鍵差異。

知識圖譜:主資料管理 + 合規 + 企業搜尋

這是大型企業最常落地的場景,不性感但很實在。Neo4j 的客戶清單裡 NASA 把任務日誌、零件、人員全部建成圖;UBS 用來做反洗錢的法規遵循;輝瑞用來在分散的研究文件裡找蛋白質之間的關聯。共通點是資料散在 N 個系統,要回答的問題卻是跨系統的關聯

業界做知識圖譜的常見技術路徑大概是這樣:把現有 RDBMS / 文件 / API 的內容萃取成節點和關係 → 用 ETL 工具持續同步 → Cypher 查詢層暴露給 BI 或 LLM。具體價值往往要看資料的「整合度」——如果各系統本來就有共同 ID,圖譜很快會有用;如果連客戶 ID 都對不齊,光做 entity resolution 就會卡半年。

圖資料庫數據分析儀表板
圖資料庫數據分析儀表板

Neo4j vs PostgreSQL:什麼時候非用不可,什麼時候別亂用

先說結論:絕大多數應用程式不需要 Neo4j。pgbench 那篇對照文也承認,「PostgreSQL 在大多數類別下表現更好」——它指的是常見 OLTP 場景。Neo4j 是工具Neo4j 是工具,用錯地方反而是包袱。

給老闆的判斷框架:

你的主要查詢長這樣

推薦資料庫

理由

訂單、會員、商品的 CRUD + 簡單 JOIN

PostgreSQL

成熟、便宜、找人好找

報表、儀表板、群組統計

PostgreSQL + 資料倉儲(如 BigQuery)

OLAP 工具鏈整合度高

3 跳以內的關聯查詢

PostgreSQL

索引調好就夠

4 跳以上的關係遍歷

Neo4j

JOIN 成本指數成長 vs constant per hop

反詐欺 / 反洗錢 / 風險網絡

Neo4j

拓樸演算法原生支援

即時推薦(社交、內容、商品)

Neo4j 或 Postgres + pgvector

看深度和複雜度

GraphRAG / LLM 知識圖譜

Neo4j(或 Neptune、Memgraph)

原生 vector index + 圖遍歷

大量寫入(每秒 10K+ TPS)

PostgreSQL / Kafka + 物化

Neo4j 寫入是垂直擴展

⚠️不要為了「酷」換 Neo4j

見過不少團隊把扁平 CRUD 系統硬塞進 Neo4j,結果寫入吞吐不夠、找不到熟練工程師、運維成本翻倍。技術選型的第一原則是「業務需求倒推」,不是「履歷上多一個 keyword」。

GraphRAG 與 Agent 時代:Neo4j 在 LLM 應用的新戰場

如果說過去十年圖資料庫的成長靠詐欺偵測和推薦系統,2024 年之後最大的成長動能變成GraphRAG

GraphRAG(Graph Retrieval-Augmented Generation)由Microsoft Research 2024 年論文 帶火,現在 Microsoft 開源版本在 GitHub 上拿到 31.6k star。核心想法是:傳統 RAG 把文件切成 chunk、做向量檢索,但 chunk 之間的關係斷了。GraphRAG 先把文件抽出實體和關係建成圖,再讓 LLM 在「相關實體+周邊關係」這種結構化上下文上推理。對「請列出這份契約裡所有可能引起法律風險的條款,並說明條款之間的依賴」這類需要結構推理 的問題,效果遠勝純向量檢索。

Neo4j 從 2024 起把資源全壓在這條線上。2025 年宣布三年投資 1 億美元 強化 Agentic AI 能力,跟 LangChain 共同維護 LangChain Neo4j integration,跟微軟合作推出Neo4j GraphRAG Context Provider for Agent Framework。產業趨勢很清楚:純向量 RAG 已是 baseline,下一輪比的是混合 graph + vector 的檢索品質。

如果你正在規劃 Multi-Agent 系統的記憶層或檢索層,Neo4j 是繞不過去的選項。延伸閱讀我們之前寫過的 LangGraph 完整實戰指南,裡面提到 StateGraph 的狀態管理跟知識圖譜搭配的場景——LangGraph 管「Agent 推理流程的圖」、Neo4j 管「Agent 知識記憶的圖」,兩者不衝突。

Neo4j 真實成本:AuraDB、自建、隱形支出

講錢的部分最容易踩雷,因為 Neo4j 的價格結構在過去三年改過好幾次。下面是 2026 年的版本,但仍建議簽約前找原廠或代理商重新報價。

AuraDB(官方雲端託管)

方案

價格

上限

適用情境

Free

$0

200K 節點 / 400K 關係

原型、學習、demo

Professional

$65 / GB / 月

128 GB

POC、中小型 production

Business Critical

$146 / GB / 月

512 GB

正式上線、需要 99.95% SLA

Virtual Dedicated Cloud

客製報價

客製

金融 / 醫療等合規要求

AuraDB 的成本陷阱是「按容量算」——你你付的是儲存的圖大小。所以一個 50 GB 的圖,每月 Professional 是 50 × $65 = $3,250 美元,年費約 $39K 美元起跳。Neo4j 官方定價頁 有提到,閒置時暫停實例可省約 80% 費用——但暫停期間外部服務無法存取。

Self-Hosted(Enterprise Edition)

自己架的話算 core 數。Vendr 整理的 2026 價格區間 顯示 Enterprise Edition list price 約 $3,000–$6,000 USD 一個 core 一年。一個 16-core 的 production 部署加 Premium 支援,list 大概 $80K–$200K 一年,實際透過量+多年合約砍 15–30% 算正常。

ℹ️隱形成本比 license 還貴

Neo4j 工程師台灣市場很少,平均薪資比 PostgreSQL DBA 高 30–50%。再加上備份、監控、版本升級(5.x → 6.x 不是平滑升級)、跨可用區的 cluster 部署、與既有資料管線的整合工程,整體 TCO(總持有成本)通常是 license 費用的 2–3 倍。預算抓不出這部分,導入會卡在第二年維運。

社群版(Community Edition)

Neo4j 還有完全免費的 Community Edition(GPLv3 授權)。但少了水平擴展、線上備份、RBAC 權限控管、Causal Cluster。適合學習、單機 POC、純研究專案,不建議跑正式 production。注意 GPLv3 的傳染性——如果你把 Neo4j 嵌進產品分發給客戶,整套軟體可能要開源。SaaS 形式內部使用通常沒問題。

採購 / 自建 / 找外包:實務決策路徑

假設你已經確認「業務需要圖資料庫」(如果還在這一步,先回到 H2 #1 的判斷框架),下一個問題是:要怎麼把它做起來?三條路:

路徑

適合對象

風險

時間 / 預算(粗估)

買 SaaS(AuraDB + 內部開發)

已有資深後端工程師、願意自己學 Cypher

陷在「會建模但建不對」的撞牆期

POC 1–2 個月,$5K–$30K

找外包做 POC + 內化

業務需求清楚但團隊沒 graph 經驗

外包跑完後沒人維護

POC 2–3 個月,$200K–$800K NTD

原廠/合作夥伴交鑰匙專案

金融、醫療、政府等合規需求高

綁定深、後期改動成本高

6–12 個月,數百萬到千萬 NTD

中小企業最常選的是第二種「外包 + 內化」路線。原因是:圖資料模型的設計(schema design)跟 RDBMS 的正規化邏輯不一樣,第一版幾乎都要重做——找有實戰經驗的外包先把 schema 跟資料管線跑通,比讓內部團隊自己摸黑半年快很多。

我們在歷年 AI 系統開發客製化系統開發 的諮詢經驗中,做過 補課系統製造業生產力管理系統AI 智慧客服系統 等案——遇到「資料關聯複雜到 PostgreSQL 寫不下去」的情境,會評估是否要引入圖資料庫,而非看到 Neo4j 三個字就硬塞。技術選型的順序,永遠是先有業務需求、再選工具。

找外包的提問清單

找廠商談 Neo4j 案,務必問清楚這四件事:(1) 過去做過幾個 production 圖資料庫案?(2) schema design 階段會交付什麼文件?(3) 部署是 AuraDB 還是自架?運維責任怎麼分?(4) 案子結束後內部團隊要怎麼接手?沒有具體答案的,履歷上有 Neo4j 也別簽。

常見踩雷:水平擴展、寫入瓶頸、人才短缺

寫入只能 vertical scale

這是 Neo4j 最常被攻擊的點。它的 Causal Cluster 可以讓讀取水平擴展(多個副本分擔查詢),但寫入永遠只有一個 leader 節點。如果你的場景是每秒 5,000+ 的高頻寫入,Neo4j 不是好選擇。實務替代方案是把 Kafka 當前端緩衝,批次寫進 Neo4j,犧牲一點即時性換來吞吐量。

Memory 吃很兇,硬體預算抓不準會爆

Neo4j 性能依賴 page cache 把熱資料留在記憶體裡。如果你的圖大小是 100 GB,建議至少配 64 GB RAM 給 Neo4j。Neo4j 官方記憶體計算文件 給了公式,但實際跑下來常常比公式還吃。預算時把 RAM 抓寬一點。

人才在台灣很稀有

104 上搜「Neo4j」的職缺數量不到「PostgreSQL」的 1/30。意思是:你要的話只能自己培訓現有後端工程師、或從相關領域(資料工程師、ML 工程師)轉訓。預算上要把「人才養成」當成一個獨立成本項,不是順便。

資料模型重做機率超過 50%

這是業界公認的痛點。第一版 schema 設計幾乎不會對,因為「該建成節點還是屬性」「該建成關係還是中介節點」的判斷需要看實際查詢模式才能決定,而查詢模式通常要等 PM 寫完前端才會清楚。預期 POC 階段會重構 1–2 次資料模型,不要把第一版當定稿。

結語:圖資料庫不是萬靈丹,但對的場景能解掉死結

回到開場那個 8 秒才跑完的推薦系統——它不見得需要 Neo4j。也許重建索引、調 query plan、加快取就解決了。但如果問題是「我們已經把 PostgreSQL 榨乾,業務還在問更深層的關聯」,那 Neo4j 是一條值得認真評估的路。

這篇文章的目的不是說服你導入,是讓你下次工程主管丟一句「我們要做圖資料庫」時,能問出對的問題:

我們的主要查詢真的有 4 跳以上?寫入吞吐撐得住?預算夠不夠請或養人?POC 失敗的 exit 路徑是什麼?這些問題沒答案之前,先別簽合約。

企業級資料庫機房伺服器
企業級資料庫機房伺服器
QNeo4j 是免費的嗎?

Community Edition 是免費的(GPLv3 授權),單機可用,但沒有水平擴展、線上備份、RBAC 等企業功能。Enterprise Edition 收費;AuraDB Free 雲端版有 200K 節點上限可永久免費使用,適合學習和原型。商業正式環境一般會用 AuraDB Professional($65/GB/月起)或自建 Enterprise($3000-6000/core/年)。

QNeo4j 跟 PostgreSQL 衝突嗎?可以共存嗎?

完全可以共存,而且這是業界最常見的架構。核心交易、會員、財務通常還是放 PostgreSQL 或 MySQL;圖資料庫作為「衍生資料層」,從主資料庫透過 ETL 或 CDC 同步過來,專門服務需要關聯遍歷的查詢(反詐欺、推薦、知識圖譜)。雙寫一致性是要注意的工程議題。

Q我們的資料量只有幾十萬筆,會不會殺雞用牛刀?

判斷標準看的是查詢模式,跟資料量沒有絕對關係。如果你的幾十萬筆資料之間關係複雜(社交網絡、組織架構、零件依賴),Neo4j 依然有價值;反過來,幾億筆但全是扁平交易紀錄,繼續用 PostgreSQL。回到本文 H2 #1 那三個訊號:查詢深度、關係是否作為篩選條件、圖結構變動頻率。

Q學 Cypher 難嗎?團隊要多久能上手?

對寫過 SQL 的工程師大概一週能寫基本 MATCH / CREATE / WHERE / RETURN。難的不是語法,是「圖思維」——schema 怎麼設計、什麼該建成節點、什麼該建成關係,這個通常要 1-2 個月實戰才會有手感。建議讓核心工程師去上 GraphAcademy 免費課程([graphacademy.neo4j.com](https://graphacademy.neo4j.com/)),有官方認證可以拿。

QNeo4j 跟 Neptune、ArangoDB、Memgraph 比怎麼選?

Neo4j 生態最成熟、文件最齊、社群最大,但價格也是最貴的;AWS Neptune 整合 AWS 生態好,但 Cypher 支援有限(主推 Gremlin);ArangoDB 是多模資料庫,圖只是它的一種模式,適合需要文件 + 圖混合的場景;Memgraph 主打高效能 in-memory、跟 Neo4j 語法相容,預算敏感+性能要求高的場景值得評估。決策關鍵:你已經在哪個雲?團隊熟哪套?

QGraphRAG 真的比向量 RAG 好嗎?什麼時候該用?

答案是「看任務類型」。純語義檢索(找相似文件)向量 RAG 已經夠好;需要「跨文件結構推理」(這份契約跟那份契約的條款關聯、這個事件涉及哪些人、人跟人之間的關係)GraphRAG 顯著更強。目前主流做法是兩者並用——向量管「找相關」、圖管「找關聯」,結果合併餵給 LLM。Neo4j 5.x 同時支援兩者,所以越來越多人選它做混合架構的儲存層。

在規劃圖資料庫 / GraphRAG 案?我們可以聊聊

從 schema 設計、Cypher 教學、AuraDB vs 自建決策、到跟既有系統整合,恆遠的 AI 系統開發客製化系統開發 服務有處理過資料模型複雜的案子。免費首次諮詢,先聊清楚再決定要不要動工:預約 AI 顧問諮詢

延伸閱讀:AI Agent 系統採購完整框架LangGraph 完整實戰指南企業 AI 導入完整指南

分享文章

AUTHOR

自由揚John

查看作者頁

留言(0)

尚無留言,成為第一個留言的人吧!

需要網站系統架設或軟體開發?

無論是品牌官網、客製化系統還是應用程式,我們的團隊擁有豐富經驗,歡迎聯繫我們,讓專業為您的事業加分。