2003 年前後,企業面臨 「結構化數據用 SQL,非結構化數據找不到」 的雙重困境:
IBM 回應:WebFountain — 大規模非結構化文本分析引擎,整合進 DB2 Information Integrator V2 (代號 Masala),實現 「企業內部的 Google」。
| 層次 | 組件 | 角色 | 關鍵技術 |
|---|---|---|---|
| 采集層 | WebFountain Crawler | 遍歷文件系統、數據庫、Web、郵件、協作平台 | 增量爬蟲、去重、變更檢測、ACL 同步 |
| 處理層 | 文本分析管道 | 提取實體、關係、情感、分類、摘要 | NLP、統計語言模型、本體映射、多語言支持 |
| 索引層 | 倒排索引集群 | 分布式全文索引、實時更新 | Lucene 前身技術、分片/副本、壓縮編碼 |
| 查詢層 | WebFountain Query Engine | 自然語言查詢、語義擴展、分面導航 | 查詢重寫、相關性排序、機器學習排序 |
| 集成層 | DB2 II Masala Wrapper | 將搜索結果呈現為關系表/視圖 | SQL/MED、Nickname、Predicate 下推、聯邦查詢 |
-- 傳統方式: 兩套系統、兩次查詢、應用層合併
-- DB2 II + WebFountain 方式: 單一 SQL 完成結構化+全文混合查詢
SELECT
c.customer_id, c.name, c.email,
s.doc_title, s.snippet, s.relevance_score,
s.last_modified
FROM
crm.customers c
JOIN
-- WebFountain 搜索結果虛擬表
TABLE(WEBF_SEARCH('quarterly financial report risk exposure', 10)) s
ON CONTAINS(c.profile_text, s.query_terms)
WHERE
c.region = 'APAC'
AND c.status = 'ACTIVE'
ORDER BY
s.relevance_score DESC;
| 廠商/產品 | 定位 | 核心技術 | 局限性 | IBM 差異化 |
|---|---|---|---|---|
| BEA Liquid Data | XML 數據虛擬化 | XQuery 引擎、XML 視圖 | 聚焦 XML,非結構化文本弱 | 全文搜索 + 關系數據原生融合 |
| MetaMatrix | 聯邦查詢 | JDBC/ODBC Wrapper、元數據模型 | 無內建全文搜索引擎 | WebFountain 原生集成 |
| Nimble Technology (Actuate 收購) | EII 平台 | 動態數據服務、緩存 | 早期階段,生態有限 | DB2 內核級集成、企業級成熟度 |
| Verity / Autonomy / FAST | 專業搜索引擎 | 倒排索引、語義分析 | 獨立產品,與數據庫集成鬆散 | 搜索即數據庫服務,SQL 透明調用 |
「公司無需投資建立新的數據倉庫,即可利用現有的不規則數據搜索所需信息」 — 分析師評價
IBM 規劃將 WebFountain 能力下沉至 WebSphere Application Server 內核,實現:
| 時代 | 產品/技術 | 核心進化 | 關鍵能力 |
|---|---|---|---|
| 2003-2006 | WebFountain + DB2 II Masala | 搜索與數據庫首次內核級融合 | 大規模爬蟲、NLP 實體提取、SQL 搜索一體化 |
| 2007-2012 | IBM OmniFind / Yahoo! 合作 | 企業搜索產品線商業化 | 面向 SharePoint/Notes/文件系統的連接器、分面搜索 |
| 2013-2018 | Watson Explorer / Watson Discovery | 認知計算、機器學習排序 | 自然語言問答、知識圖譜構建、預訓練模型微調 |
| 2019-至今 | Cloud Pak for Data / Watson Discovery / Elasticsearch 集成 | 雲原生、Kubernetes、向量檢索、RAG | 混合搜索 (關鍵詞+向量)、生成式 AI 摘要、多模態檢索 |
| DB2 內建 | Db2 11.5+ / Db2 Warehouse | 數據庫內建全文/向量搜索 | CREATE INDEX ... EXTENSION TEXT/VECTOR、SQL 搜索函數、零移動分析 |
-- Db2 11.5.7+ 原生向量索引 (無需外部引擎)
CREATE TABLE docs (
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
title VARCHAR(500),
content CLOB(10M),
embedding BLOB(8192) -- 存儲 1024 維 float32 向量 (4KB)
);
-- 創建 HNSW 向量索引 (近似最近鄰搜索)
CREATE INDEX idx_docs_embedding ON docs(embedding)
EXTENSION VECTOR(HNSW, DISTANCE=COSINE, M=16, EF_CONSTRUCTION=200);
-- 混合搜索: 關鍵詞過濾 + 向量相似度
SELECT id, title,
VECTOR_DISTANCE(embedding, :query_vec, COSINE) AS distance
FROM docs
WHERE CONTAINS(content, 'financial risk') -- 全文過濾
AND VECTOR_DISTANCE(embedding, :query_vec, COSINE) < 0.3
ORDER BY distance
LIMIT 10;
-- RAG 流程:
-- 1. 用戶問題 → Embedding 模型 → 查詢向量
-- 2. Db2 混合搜索 → 返回 Top-K 文檔片段
-- 3. 構建 Prompt: Context + Question → LLM 生成回答
-- 4. 回答引用來源文檔 ID,可追溯驗證
IBM 將 WebFountain 整合進 DB2 Information Integrator (Masala) 是 「搜索數據庫化、數據庫搜索化」 的里程碑嘗試。雖 2004 年技術受限於硬體成本、NLP 成熟度、生態建設,但其架構願景 — 統一元數據、SQL 透明調用、安全一體化、零 ETL 洞察 — 在 20 年後通過 向量數據庫、RAG、大語言模型 獲得了完美實現。今天的 Db2 原生向量索引 + 全文搜索 + AI 函數,正是 WebFountain 願景在雲原生 AI 時代的落地。