ApsaraDB for MySQL对于日志场景做了优化,利用INSERT IGNORE语句保证pk键值唯一性,并且通过把二级索引键值1-1映射到pk键值空间的方法保证二级索引唯一性,将写操作转换成全异步写,大大降低了写延迟 。由于省掉唯一性检查的读过程,引擎在内存中缓存的数据量大大减少,缓存写请求的数据块受读干扰被释放的可能性大大降低,进而写路径上发生cachetable miss的可能性降低,写性能更加稳定 。
分布式业务场景
HybridDB for MySQL同时提供单分区事务和分布式事务支持,支持跨表、跨引擎、跨数据库、跨MySQL实例,跨存储节点的事务 。HybridDB for MySQL使用两阶段提交协议支持分布式事务,提交阶段proxy作为协调者将分布式事务状态记录到事务元数据库;分区事务恢复时,proxy从事务元数据库取得分布式事务状态,并作为协调者重新发起失败分区的事务 。
HybridDB for MySQL还可以通过判断WHERE条件是否包含分区键的等值条件,决定是单分区事务还是分布式事务 。如果是单分区事务,直接发送给分区MySQL实例处理 。
在线扩容/缩容场景
HybridDB for MySQL通过将存储分区无缝迁移到更多(或更少的)MySQL分区实例上实现弹性数据扩展(收缩)的功能,分区迁移完成之后proxy层更新路由信息,把请求切到新分区上,老分区上的数据会自动清理 。Proxy切换路由信息时会保持连接,不影响用户业务 。
数据迁移是通过全量备份+增量备份方式实现,全量备份不落地直接流式上传到oss 。增量备份通过binlog方式同步,HybridDB for MySQL不必自行实现binlog解析模块,而是利用ApsaraDB for MySQL优化过的复制逻辑完成增量同步,通过并行复制提升性能,并且保证数据一致性 。
文章插图
聚合索引提升读性能
TokuDB支持一个表上创建多个聚合索引,以空间代价换取查询性能,减少回pk取数据 。阿里云ApsaraDB for MySQL在优化器上对TokuDB聚合索引做了额外支持,在cost接近时可以优先选择聚合索引;存在多个cost接近的聚合索引,可以优先选择与WHERE条件最匹配的聚合索引 。
与单机版ApsaraDB for MySQL对比
文章插图
与阿里云OLTP+OLAP混合方案对比
文章插图
性能报告
高并发业务
压测配置:
- 4节点,每节点8-core,32G,12000 iops,ssd盘
文章插图
高吞吐业务
压测配置:
- 8节点,每节点16-core,48G,12000 iops,ssd盘
文章插图
【MySQL高压缩引擎TokuDB 揭秘】
推荐阅读
- 梦见几棵大树又高又粗 梦见一颗很高的大树倒了
- 如何挑选娃娃菜
- 清明上坟时间有什么讲究 清明上坟从高祖开始拜还是辈份低开始
- 全球公认最好用的10大眼霜 十大高端眼霜
- 深圳的平安大厦高多少米 深圳最高楼是平安大厦吗
- 高考将近家长要稳字当头 高三家长会发言稿
- 营造拥有你独特气息的高雅茶席
- 汽车发动机水温高报警怎么办?值得收藏备用!
- 事业单位改革后,高校教师、医生、参公人员哪个更有发展?
- 发动机水温高的原因是?