- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
吴伟杰:Apache ShardingSphere 与 openGauss 的生态对接
展开查看详情
1 .Apache ShardingSphere 与 openGauss 的生态对接 吴伟杰 May 13, 2022
2 . 图片 吴伟杰 Apache ShardingSphere PMC SphereEx 01 基础设施研发工程师 o 负责在 ShardingSphere 中实现 openGauss 协议 o 在 16 节点达成 1000 万 tpmC 的目标中参与 ShardingSphere 性能优化 o 目前专注于 ShardingSphere-Proxy 研发及 ShardingSphere 代码性能优化
3 .目录 01 Apache ShardingSphere 介绍 02 ShardingSphere 与 openGauss 的生态对接 03 ShardingSphere 与 openGauss 的性能磨合
4 .Apache ShardingSphere 能力 连接 打造数据库上层标准 SQL/DistSQL 内核层 功能层 增强 查询优化 分布式事 器 务 执行引擎 数据分片 读写分离 弹性伸缩 数据库计算增强引擎 分布式治 权限引擎 调度引擎 高可用 数据加密 影子库 理 其它 其它 可插拔 NEW 构建数据库功能生态
5 .Apache ShardingSphere 部署架构 连接器 数据库 增强 JDBC 驱动 治理中心 代表控制流量 代表业务流量
6 .Apache ShardingSphere 社区 • Stars 约 16k • Contributors 超过 400 人 Apache ShardingSphere Stars 与 Contributors 增长时间线
7 .Apache ShardingSphere 合作伙伴&用户 在 ShardingSphere 官网登记使用的公司超过 190 家,包括但不限于:
8 .目录 01 Apache ShardingSphere 介绍 02 ShardingSphere 与 openGauss 的生态对接 03 ShardingSphere 与 openGauss 的性能磨合
9 .openGauss 对接到 ShardingSphere 生态对接的价值 + 数据分片 读写分离 弹性伸缩 高性能 高可靠 高可用 数据加密 影子库 高安全 易运维
10 .ShardingSphere 与 openGauss 生态对接历程 ShardingSphere 5.0.0 ShardingSphere 5.0.0 之前的版本 支持 openGauss SQL 方言 间接支持 openGauss 支持 openGauss 协议 弹性伸缩支持 openGauss ShardingSphere 5.1.0 支持 openGauss 数据库发现 优化 openGauss SQL 方言支持度 优化 openGauss 协议实现性能 ShardingSphere 5.1.1 优化 openGauss 弹性伸缩 与 openGauss 合作,在 TPC-C 测试 达成 16 节点超过 1000 万 tpmC
11 .ShardingSphere SQL 解析支持 openGauss 方言
12 .ShardingSphere 支持 openGauss 特有协议
13 .ShardingSphere 数据库发现支持 openGauss
14 . ShardingSphere 弹性伸缩支持 openGauss 功能 MySQL PostgreSQL openGauss 全量迁移 支持 支持 支持 增量迁移 支持 支持 支持 自动建表 支持 支持 支持 DATA_MATCH 支持 支持 支持 一致性校验 CRC32_MATCH 支持 不支持 不支持 一致性校验
15 .目录 01 Apache ShardingSphere 介绍 02 ShardingSphere 与 openGauss 的生态对接 03 ShardingSphere 与 openGauss 的性能磨合
16 .ShardingSphere 与 openGauss 的性能磨合 * 使用 BenchmarkSQL 在 128 Cores 鲲鹏 920 环境测试,数据量 1000 Warehouses,openGauss 基准线 150 万 tpmC * ShardingSphere 使用数据分片规则与 MOD 算法,分 1 库,不分表
17 .ShardingSphere 端性能优化思路
18 .环境与参数调优带给 ShardingSphere 的性能收益 * 在 128 Cores 鲲鹏 920 环境运行 ShardingSphere,使用毕昇 JDK 17 相比毕昇 JDK 8 性能提升 5% ~ 10%
19 .借助 async-profiler 发现 ShardingSphere 代码优化点 async-profiler 是针对 JVM 的采样分析工具。 特点: ü 不受 Safepoint Bias 影响 ü 性能开销低(采样频率可调整),生产可用 ü 使用方便,可基于 Java Agent 启动,或指定 PID 连接已有 JVM ü 支持多种输出格式(HTML、SVG、JFR 等)及格式转换 支持事件: ü CPU 周期 ü 硬件和软件性能指标,如缓存未命中、分支未命中、缺页、上下文切换等 ü Java 堆中的分配 ü 锁,包括 Java 对象监视器和 ReentrantLock ü ……
20 .ShardingSphere 代码逻辑优化案例——充分利用 openGauss 批量协议 优化前 优化后 ShardingSphere 5.0.0 ShardingSphere 5.1.0+
21 .ShardingSphere 代码细节优化案例——随机 UUID 生成性能优化 优化前: UUID.randomUUID().toString() 优化后: Random random = ThreadLocalRandom.current(); new UUID(random.nextLong(), random.nextLong()).toString();
22 .欢迎关注 ShardingSphere 技术干货 加入交流群 Apache ShardingSphere Website:https://shardingsphere.apache.org Apache ShardingSphere GitHub: https://github.com/apache/shardingsphere Apache ShardingSphere Slack Channel:https://apacheshardingsphere.slack.com
23 .