Infobright 是基於 MySQL 邏輯層、自研列式存儲引擎 (BriteHouse) 的開源數據倉庫方案,以「知識網格」技術實現高壓縮、免索引、快速聚合查詢。本文系統解析其架構原理、核心優勢、適用場景、版本差異、優化實踐與導入工具,為海量數據分析選型提供參考。

知識網格** = DPN + Histogram + CMAP + P2P,替代傳統索引,實現「粗糙集」三分法查詢剪枝:
| 優勢 | 技術支撐 | 量化指標 |
|---|---|---|
| 查詢效能 | 知識網格剪枝 + 列式掃描 + 向量化計算 | 同等 SELECT 比 MyISAM/InnoDB 快 5~60 倍 |
| 存儲容量 | 高壓縮 + 列式 | TB 級、億級記錄 |
| 壓縮比 | 列式 + 專利自適應算法 | 平均 10:1,峰值 40:1 |
| 免索引維護 | 知識網格替代 B-Tree | 無索引膨脹、無 DML 索引開銷 |
| 聚合查詢 | DPN 預計算統計值 | SUM/COUNT/AVG/GROUP BY 極快 |
| 運維簡單 | 無分區、無物化視圖、無索引調優 | 極少 DBA 介入 |
LOAD DATA INFILE 批量導入,無 INSERT/UPDATE/DELETE| 特性 | ICE (社區版) | IEE (企業版) |
|---|---|---|
| 查詢效能 | 基準 | 快 50%~500% (多線程調度) |
| DML 支援 | 無 | 完整 INSERT/UPDATE/DELETE |
| DDL 支援 | 有限 | ALTER TABLE RENAME/ADD/DROP COLUMN |
| Hadoop 整合 | 無 | DLP 分布式導入 |
| 高可用 | 無 | 主從複製 (SQL Statement Based) |
| 臨時表 | 無 | 支援 |
| 商業支援 | 無 | SLA、培訓、專家服務 |
| 推薦 | 不推薦 |
|---|---|
| TINYINT/SMALLINT/MEDIUMINT/INT/BIGINT | BINARY/VARBINARY |
| DECIMAL (少小數位) | FLOAT/DOUBLE |
| DATE/TIME | VARCHAR/TINYTEXT/TEXT |
核心:整數 > 日期/時間 > 定點數 > 定長字符 > 變長字符/文本
CREATE TABLE fact_table (
act CHAR(15) COMMENT 'lookup',
part CHAR(4) COMMENT 'lookup'
) ENGINE=BRIGHTHOUSE;
-- 適用:枚舉值 < 10000 且 行數/枚舉值 > 10
-- 如:性別、省份、年齡段、狀態碼
機制類似位圖索引,以短整數替代字符,大幅提升壓縮與查詢。
按高選擇性欄位 (如日期) 排序導入,使 DP 內數值分布集中,DPN min/max 區間不重疊,查詢剪枝更精準。
OR,改用 IN 或 UNIONUNION ALL、SELECT *INSERT (不推薦大數據量)@bh_dataformat='mysql')@bh_dataformat='txt_variable')、二進制 (@bh_dataformat='binary')Infobright 以「列式存儲 + 知識網格 + 高壓縮」三大技術支柱,為海量數據分析提供極具性價比的開源方案。社區版 ICE 適合**單機、低併發、純分析、批量載入**場景;企業版 IEE 解決了 DML、高可用、多線程、Hadoop 整合等生產級缺口。選型時需清醒認識:**它是 OLAP 專用引擎,非 OLTP 替代品**。與 MySQL 混合部署 (OLTP 用 InnoDB,OLAP 用 BriteHouse) 是常見最佳架構模式。