簡介
StoneDB是一款支持行列混存+記憶體計算的HTAP資料庫,採用完全自主研發的存儲和計算引擎。StoneDB 採用基於知識格線技術和列式存儲引擎,該存儲引擎為海量數據背景下 OLAP 套用而設計,通過列式存儲數據、知識格線過濾、高效數據壓縮等技術,為套用系統提供低成本和高性能的數據查詢支持。
StoneDB 是 100% 兼容 MySQL 5.6、5.7協定和 MySQL 生態等重要特性,支持 MySQL 常用的功能及語法,支持 MySQL 生態中的系統工具和客戶端,如 Navicat、Workbench、mysqldump、mydumper。由於 100% 兼容 MySQL,因此 StoneDB 的所有工作負載都可以繼續使用 MySQL 資料庫體系運行。
StoneDB 專門針對 OLAP 應用程式進行了設計和最佳化,支持百億數據場景下進行高性能、多維度欄位組合的複雜查詢。
產品優勢
兼容MySQ、簡化架構和管理、實時性高、分析性能強勁、成本節約、完全開源等。
完全兼容 MySQL
StoneDB 是在原生的 MySQL 中加入的存儲引擎,最終集成為 HTAP 資料庫,因此是 100% 兼容 MySQL 的。支持標準資料庫接口,包括 ODBC、JDBC 和本地連線。支持 API 接口,包括 C、C++、C#、Java、PHP、Perl 等。StoneDB 支持 ANSI SQL-92 標準和 SQL-99 擴展標準中視圖和存儲過程,這種支持使得現有應用程式無需修改套用代碼即可使用 StoneDB,從而可實現與 MySQL 的無縫切換。
實時HTAP
同時提供行式存儲引擎 InnoDB 和列式存儲引擎 StoneDB,通過 binlog 從 InnoDB 複製數據,保證行式存儲引擎 InnoDB 和列式存儲引擎 StoneDB 之間的數據強一致性。
高性能查詢
在千萬、億級甚至更多數據量下進行複雜查詢時,相比 MySQL,其查詢速度提升了十倍以上。
低存儲成本
對數據最高可實現 40 倍壓縮,節省了數據存儲空間和企業的成本。
核心技術
列式存儲
列式存儲在存儲數據時是按照列模式將數據存儲到磁碟上的,讀取數據時,只需要讀取需要的欄位,極大減少了網路頻寬和磁碟 IO 的壓力。基於列式存儲無需為列再創建索引和維護索引。
數據壓縮比
在關係型資料庫中,同一列中的數據屬於同一種數據類型,如果列中的重複值越多,則壓縮比越高,而壓縮比越高,數據量就越小,數據被讀取時,對網路頻寬和磁碟 IO 的壓力也就越小。由於列式存儲比行式存儲有著十倍甚至更高的壓縮比,StoneDB 節省了存儲空間,降低了存儲成本。
知識格線
知識格線根據元數據信息進行粗糙集過濾查詢中不符合條件的數據,最後只需要對可疑的數據包進行解壓獲取符合查詢條件的數據,大量減少讀取 IO 操作,提高查詢回響時間和網路利用率。
基於推送的矢量化查詢處理
StoneDB通過執行計畫將矢量塊(列式數據切片)從一個運算符推送到另一個運算符來處理查詢,與基於元組的處理模型相比,基於推送的執行模型避免了深度調用堆疊,並節省了資源。