Infobright是一款基于獨特的專利知識網格技術的列式數據庫。Infobright是開源的MySQL數據倉庫解決方案,引入了列存儲方案,高強度的數據壓縮,優化的統計計算(類似sum/avg/group by之類),infobright 是基于mysql的,但不裝mysql亦可,因為它本身就自帶了一個。mysql可以粗分為邏輯層和物理存儲引擎,infobright主要實現的就是一個存儲引擎,但因為它自身存儲邏輯跟關系型數據庫根本不同,所以,它不能像InnoDB那樣直接作為插件掛接到mysql,它的邏輯層是mysql的邏輯層加上它自身的優化器。
Infobright特征
優點:
- 大數據量查詢性能強勁、穩定:百萬、千萬、億級記錄數條件下,同等的SELECT查詢語句,速度比MyISAM、InnoDB等普通的MySQL存儲引擎快5~60倍。高效查詢主要依賴特殊設計的存儲結構對查詢的優化,但這里優化的效果還取決于數據庫結構和查詢語句的設計。
- 存儲數據量大:TB級數據大小,幾十億條記錄。數據量存儲主要依賴自己提供的高速數據加載工具(百G/小時)和高數據壓縮比(>10:1)
- 高數據壓縮比:號稱平均能夠達到 10:1 以上的數據壓縮率。甚至可以達到40:1,極大地節省了數據存儲空間。高數據壓縮比主要依賴列式存儲和 patent-pending 的靈活壓縮算法.
- 基于列存儲:無需建索引,無需分區。即使數據量十分巨大,查詢速度也很快。用于數據倉庫,處理海量數據沒一套可不行。不需要建索引,就避免了維護索引及索引隨著數據膨脹的問題。把每列數據分塊壓縮存放,每塊有知識網格節點記錄塊內的統計信息,代替索引,加速搜 索。
- 快速響應復雜的聚合類查詢:適合復雜的分析性SQL查詢,如SUM, COUNT, AVG, GROUP BY
Infobright的價值
- 節約設計開銷。沒有復雜的數據倉庫模型設計要求(比如星狀模型、雪花模型),無需要物化視圖、數據分區、索引建立
- 節省存儲資源。高壓縮比率通常是10:1,某些應用可能達到40:1
- 集成利用廣泛。和眾多的BI套件相容,比如Pentaho、Cognos、Jaspersof
- 降低運維成本。隨著數據庫的逐漸增大,查詢和裝載性能持續保持穩定,實施和管理簡單,需要極少的管理
- 商業保證。第一個商業支持的開源倉儲分析數據庫,是Oracle/MySQL 官方推薦的倉儲集成架構
Infobright的適用場景
- 大數據量的分析應用。網頁/在線分析、移動分析、客戶行為分析、分析營銷和廣告
- 日志/事件管理系統。電信詳單分析和報告、系統/網絡 安全認證記錄
- 數據集市。企事業單位特定數據倉庫、為中小企業提供數據倉庫
- 嵌入式分析。為獨立軟件供應商/ SaaS供應商提供嵌入式分析應用
限制:
- 不支持數據更新:社區版Infobright只能使用“LOAD DATA INFILE”的方式導入數據,不支持INSERT、UPDATE、DELETE。這使對數據的修改變得很困難,這樣就限制了它作為實時數據服務的數據倉庫來使用。
- 不支持高并發:只能支持10多個并發查詢,雖然單庫 10 多個并發對一般的應用來說也足夠了,但較低的機器利用率對投資者來說總是一件不爽的事情,特別是在并發小請求較多的情況下。
- 沒有提供主從備份和橫向擴展的功能。如果沒有主從備份,想做備份的話,也可以主從同時加載數據,但只能校驗最終的數據一致性,使得從機在數據加載時停服務的時間較長;橫向擴展方面,它本身就不是分布式的存儲系統。
與MySQL對比
- infobright適用于數據倉庫場合:即非事務、非實時、非多并發;分析為主;存放既定的事實,例如日志,或匯總的大量的數據。所以它并不適合于應對來自網站用戶的請求。實際上它取一條記錄比mysql要慢很多,但它取100W條記錄會比mysql快。
- mysql的總數據文件占用空間通常會比實際數據多,因為它還有索引。infobright的壓縮能力很強大,按列按不同類型的數據來壓縮。
- 服務形式與接口跟mysql一致,可以用類似mysql的方式啟用infobright服務,然后原來連接mysql的應用程序都可以以類似的方式連接與查詢infobright。這對熟練mysql者來說是個福音,學習成本基本為0。
infobright有兩個發布版:開源的ICE及閉源商用的IEE。ICE提供了足夠用的功能,但不能 INSERT,DELETE,UPDATE,只能LOAD DATA INFILE。IEE除提供更充分的功能外,據說查詢速度也要更快。
社區ICE版,國內各大企業均有測試,投入生成系統的較少,主要有以下原因:
- 對DML、alter語句限制
- 需定時增量load導出導入
- 自帶的MyISAM難以支持高并發,若想充分利用服務器資源,需開啟另外的MySQL實例
- 對中文等多字節文字支持不好
- 僅支持單核調度
- 缺少原廠的支持
ICE與IEE版本區別
IEE包含針對大多數企業工作需求的附加特性,如:更好的查詢性能、DML語句支持、分布式導入等。另外,IEE版本還包含了一定級別的Infobright原廠或代理商的支持救援服務、產品培訓等。
- 明顯的查詢性能差異。雖然IEE和ICE版本均具有明顯超出例如Oracle、SQL Server、MySQL等行式數據庫的查詢性能,但IEE還要比ICE版本快50-500%。這個明顯差距來自于IEE核心引擎中特有的――多線程調度模塊(自IEE3.5引入).而在ICE中,一個獨立的查詢只能使用單個CPU核心,其他的查詢進程只能使用其他核心。對于需要篩選和區分大量數據的復雜查詢,使用IEE多線程調度模塊可以顯著地節約查詢時間。
- 支持DML語句。IEE支持標準的SQL 數據操作語言,使用insert、update、delete操控數據。而ICE只支持Load data infile進行數據導入,任何數據的變化都需要重新導入全部數據。DML語句的使用會降低數據查詢性能,隨次數遞增。
- 支持DDL語句。包括alter table rename,add column,drop column(但是列操作只能對最后列生效)
- 支持Hadoop接口(通過DLP)
- 高級復制和高可用。IEE版本包含主從功能,基于SQL statement
- 更簡易的導入和更快的導入速度。IEE支持分布式導入工具-DLP;且包含標準的MySQL原生loader,用于處理一些復雜數據的導入,另一方面也說明IBloader的容錯性較差
- Load或DML同時的一致性查詢
- 支持臨時表
- 其他商業授權,售后支持等
架構
基于MySQL的內部架構
主站蜘蛛池模板:
河源市|
铁力市|
海伦市|
龙岩市|
天长市|
沿河|
通海县|
上栗县|
屯留县|
饶河县|
登封市|
抚州市|
漳州市|
大新县|
平泉县|
屏边|
岑溪市|
彭阳县|
邹城市|
达州市|
朔州市|
望奎县|
德清县|
阿拉善右旗|
盐城市|
佛山市|
三门峡市|
樟树市|
平安县|
沛县|
凤凰县|
门头沟区|
招远市|
浠水县|
明溪县|
杭锦旗|
东台市|
梁山县|
崇礼县|
南开区|
剑河县|