跳到主要内容

产品FAQ

StoneDB与MySQL的兼容性如何?

StoneDB 高度兼容 MySQL 5.6、5.7、8.0 协议和 MySQL 生态等重要特性,支持 MySQL 常用的功能及语法。 由于 StoneDB 本身的一些特性,部分操作和功能尚未得到支持,如不支持创建索引、不支持删除数据等。

StoneDB有自己的优化器吗?

StoneDB 是在原生的 MySQL 加入的存储引擎,StoneDB 有自己的优化器,但 StoneDB 实际也会利用原生的 MySQL 的优化器做一些查询解析和重写机制。

StoneDB为什么没有唯一约束?

列式存储具有数据压缩特性,数据压缩比率是由压缩算法、列的数据类型、数据重复度等决定的。如果列有唯一约束,那么列中每行的数据都是唯一的,数据压缩比率就低。在 InnoDB 和 StoneDB 下,分别向具有唯一值的列插入 6000 万条数据,InnoDB 表大小 16G 多,StoneDB 表大小 5G 多,压缩比率为3:1多,而一般情况下是可以达到 10:1 以上的。

StoneDB需要创建索引吗?

如果数据库使用的是 B-Tree 或者 B+Tree 的数据结构,在查询少量结果集的情况下,通过索引是能高效定位到数据行的。但 StoneDB 利用的是知识网格技术,只需要对数据包解压缩,是不需要创建索引的。

StoneDB支持事务吗?

事务分为安全性事务和非安全性事务,严格遵守 ACID 属性的属于安全性事务。由于 StoneDB 没有 redo 和 undo,属于非安全性事务,所以是不支持事务的。

StoneDB的表和其他存储引擎的表能关联查询吗?

默认情况是不允许跨存储引擎的表关联查询的,可以修改参数 stonedb_ini_allowmysqlquerypath=1,这样是支持跨存储引擎的表关联查询的。