StoneDB(HTAP数据库)-


版本: V1.0 | 交付方式: License |
适用于: Linux | 上架日期: 2022-10-24 02:16:13 |
StoneDB 是杭州石原子科技有限公司(StoneAtom)自主设计研发的国内首款完全兼容于 MySQL 生态的 开源 HTAP 数据库产品 ,具备行列混存、智能索引、内存计算等核心技术特性,为 MySQL 数据库 提供在线数据的实时分析服务,能够高效解决 MySQL 数据库在分析型应用场景中面临的能力问题。同时,StoneDB 使用多计算和存储引擎架构的设计,事务引擎具有数据强一致性特性,具备完整的事务并发处理能力,使得 StoneDB 可以替代 MySQL 数据库满足在线事务处理场景的需求。
产品定位
StoneDB 产品定位于 MySQL 事务热数据的实时分析场景,以 Serving on TP(SoTP)形式为 MySQL 提供在线分析服务,是 MySQL 生态 OLTP 业务中热数据实时分析场景的最优 解决方案 ,是 HTAP 业务需求场景中 MySQL 自研替代的最佳选择。
StoneDB 产品架构
--------------------------------------------------------------------------------------------------------------------------
核心技术特性
全面兼容 MySQL 生态
StoneDB 产品是基于 MySQL 构建的一种多引擎数据库管理系统,在语法上和通讯协议上与 MySQL 保持完全一致,因此可以 100%地兼容 MySQL 生态,MySQL 生态中的上下游工具和应用都可以无缝地连接到 StoneDB 产品上进行数据操作,用户的基于 MySQL 的业务系统无需任何改造就可以 迁移 到 StoneDB 产品。
列式存储和数据压缩技术
StoneDB 产品的 Tianmu 存储引擎采用物理列存储架构对数据进行持久化存储,表中数据按列以独立文件存储。StoneDB 产品中内置了多种智能压缩算法,Tianmu 引擎可以根据数据类型和数据分布规律智能地选择最适合的压缩算法对数据进行压缩存储,平均可提供10 倍左右的压缩比,在部分生产环境中可以达到 30 倍的压缩效果。列式存储和数据压缩技术明显减少了数据存储容量,不仅可以大量地节约了存储成本,还有效地提升了 StoneDB 数据库的整体性能。
智能索引技术和知识网格
StoneDB 产品采用了基于粗糙集理论的粗粒度智能索引技术,会在表的所有列上自动创建粗粒度索引,这种索引以列上固定数目的数值为单位收集这批数据的整体描述信息和统计类信息,这些信息被独立保存为智能索引。相对于传统数据库中的 B+-Tree 类的常规索引,智能索引降低了查询数据时数据筛选对数据量的敏感度,可以有效提升数据筛选的效率,从而大大提升数据库的查询性能。
对于经常使用的表间关联查询,StoneDB 也会自动地基于表间关联关系为关联查询创建智能索引,这类智能索引和列上自动创建的智能索引一起构成知识网格。知识网格是StoneDB 产品具备海量数据场景下高效查询分析能力的另外一个核心技术。
内存计算技术
StoneDB 产品使用了与 Oracle In-Memory 在技术原理与架构上相同的内存计算技术。StoneDB 产品的 Tianmu 引擎在共享内存区域中开辟了专用的缓冲区(In-Memory Area)用于实现内存计算,这块缓冲区与常规缓冲池(Buffer Pools)不同,其中的数据是按列和按需组织的,更加适合于承载分析型运算任务。可以根据业务需要和硬件配置为In-Memory Area 设置合适的大小,以便于在不浪费内存资源的同时有效保证分析运算的性能。
StoneDB 主要功能介绍
1. StoneDB 支持的数据类型
1)数值类型
----TINYINT(127);
----SMALLINT(255);
----MEDIUMINT(255)INT(255);
----BIGINT(255);
----FLOAT;
----DOUBLE;
----DECIMAL (18,x):精度必须小于或等于18;
*************************************************
2)日期类型
----DATE;
----TIMESTAMP;
----DATETIME;
----TIME;
----YEAR;
*************************************************
3)字符串类型
----CHAR;
----VARCHAR;
----TINYTEXT;
----TEXT;
----MEDIUMTEXT;
----LONGTEXT;
----TINYBLOB;
----BLOB;
----MEDIUMBLOB;
----LONGBLOB;
------------------------------------------------------------------------------------------------------
2. StoneDB 支持的DQL
StoneDB 支持单表或者多表DQL以及以下常见查询SQL
----union/union all;
----istinct;
----group by;
----order by;
----group by/order by;
----limit(分页查询);
----inner join (内连接);
----left join (左连接);
----right join (右连接);
----like;
----having;
----or;
----子查询;
----重复子查询;
----in/not in;
----exists/not exists;
----cross join 等;
------------------------------------------------------------------------------------------------------
3. StoneDB 支持的DML
StoneDB 支持以下常规DML操作
----insert;
----update;
----insert into select;
----insert into on duplicate key update等;
特别注明:StoneDB 目前暂不支持 update 关联子查询、update 多表关联、replace into 等操作。
------------------------------------------------------------------------------------------------------
4. StoneDB 支持的DDL
StoneDB 支持以下 DDL 操作
----create table;
----drop table ;
----truncate table;
----create table like;
----alter table add column;
----alter table drop column;
----alter table engine=innodb;
----alter table xxx rename to xxxxx;
版本说明(按服务器核心数划分版本)
体验版 Trial:单核心服务器
基础版 Basic:2核心及以下
标准版 Standard:4核心及以下
高端版 Premium:8核心及以下
豪华版 Deluxe Edition:16核心及以下