春去夏来,火热发版:StoneDB-8.0-v1.0.1-beta 版本正式发布!

在 Oracle MySQL 团队的推动下,MySQL 8.0 发生了巨大的变化和修改,代码进行了重构。MySQL 8.0 在 2016-09-12 发布, 重写了 5.7 中解析器的近 50% 的代码。MySQL 将编程语言都统一到 C++,编译器使用最新版本,代码风格采用 Google C++ Style,统一了 300 人的开发团队的代码标准。

目前 MySQL 5.7 维护也渐渐进入尾声,MySQL 8.0 成为市面上的主流,在此背景下, StoneDB 也对 Tianmu 引擎做了适配 8.0 的升级,并推出 StoneDB-8.0-v1.0.1 beta 版本(StoneDB for MySQL 8.0)。

开发者友好增强:

  1. 编译方式优化,保持官方的编译方式,去掉 StoneDB-5.7 install.sh 脚本编译。

  2. 代码治理:消除所有编译告警,编译保持 0 warning,debug 模式 mtr crash 消除

Tianmu 引擎适配 8.0 (https://github.com/stoneatom/stonedb/milestone/4?closed=1)

Tianmu 优化器主要变更:

  1. JOIN::optimize 8.0 已被重构,Tianmu 优化器代码适配 8.0 新优化器逻辑和接口,Tianmu 引擎执行计划适配 8.0 重构之后的执行计划

  2. prepare 函数相对 5.7 所属类和调用逻辑改变,Tianmu 引擎适配新用法。

  3. 8.0 删除 handle_query 查询接口,转换成统一接口 execute(thd),tianmu 引擎增加入参,调整代码适配 execute(thd)

  4. 同 8.0,Tianmu 引擎删除查询 query cache 缓存。

  5. 派生表使用:同 8.0,Tianmu 引擎删除 thd->fill_derived_tables() ,并将 lex->derived_tables 调整为 lex->unit->derived_table

  6. 结果集输出接口函数适配,如:将 Query_result::prepare2() 替换为 Query_result::start_execution()

  7. group by 默认 asc 排序调整为 8.0 不设置默认排序方式。

  8. 其它查询调用的接口适配

存储层主要变更:

  1. tianmu handler api 创建函数参数变更,适配 8.0 新 handler 接口使用方式

  2. 8.0 mysql_load 已删除 , MySQL 语法支持 Tianmu 内部 load 的功能,sql 层实现 mysql_load 接口适配 tianmu load 逻辑

  3. 支持 mysql load binlog:使用 Sql_cmd_load_table::write_execute_load_query_log_event function 写 mysql binlog.

  4. tianmu DDL handler api 增加 dd::Table 参数

  5. sql/sql_cmd_ddl_table.cc 增加 Tianmu query 接口以支持 CTAS

  6. Tianmu 文件扩展名移除 5.7 bas_ext() 接口调用方式,改为 8.0 数组形式传入 tianmu handler api 实例

  7. 规范 handler 目录下文件命名方式,保持同 innodb 等其它引擎一致。

  8. 调整 Tianmu 事务提交逻辑以适配 8.0 事务提交流程变更。

  9. lz4 版本升级至 z4-1.9.4

重要的基础数据结构变更:

例如:

  • List<Item>--->mem_root_deque<Item *>

  • SELECT_LEX_UNIT->Query_expression

  • st_select_lex_unit -> Query_expression

  • SELECT_LEX->Query_block

  • first_select() -> first_query_block()

StoneDB-5.7 v1.0.1 功能 backport

https://github.com/stoneatom/stonedb/milestone/10?closed=1

StoneDB-8.0-v1.0.1-beta

https://github.com/stoneatom/stonedb/releases/tag/8.0-v1.0.1-beta

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/252187/stonedb-8-0-v1-0-1-beta-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。