2 Sharding-JDBC入门使用${sharding-sphere.version} ## 基于Java编码的规则配置 Sharding-JDBC的分库分表通过规则配置描述,以下例子是根据user_id取模分库,且根据order_id取模分表的两库两表的配置。 // 配置真实数据源 MapdataSourceMap = new HashMap<>(); setUsername("root"); dataSource2.setPassword(); dataSourceMap.put("ds1", dataSource2); // 配置Order表规则 TableRuleConfiguration orderTableRuleConfig = new TableRuleConfiguration(); orderTableRuleConfig _order"); orderTableRuleConfig.setActualDataNodes("ds${0..1}.t_order${0..1}"); // 配置分库 + 分表策略 orderTableRuleConfig.setDatabaseShardingStrategyConfig(new InlineShardingStrategyConfiguration("user_id"0 码力 | 12 页 | 325.38 KB | 2 年前3
MoonBit月兔编程语言 现代编程思想 第十课 哈希表与闭包现代编程思想 哈希表与闭包 Hongbo Zhang ## 回顾 ## · 表 键值对的集合,其中键不重复 简单实现:二元组列表 - 添加时向队首添加 - 查询时从队首遍历 树实现:二叉平衡树 - 基于第五节课介绍的二叉平衡树,每个节点的数据为键值对 - 对树操作时比较第一个参数 ## 哈希表 - 哈希函数/散列函数 Hash function ◦ 接口中,数据被映射到整数范围内 trait Hash { hash(Self) -> Int } ■ "这是一个非常非常长的字符串".hash() == -900478401 ## · 哈希表 ◦ 利用哈希函数,将数据映射到数组索引中,进行快速的添加、查询、修改 1. // 对于 a: Array[(Key, Value)], key: Key, value: Value 2. let 不同数据的哈希可能相同 不同的哈希映射为数组索引时可能相同 - 解决哈希表的冲突 ◦ 直接寻址(分离链接):同一索引下用另一数据结构存储 列表 二叉平衡搜索树等 ☐ 开放寻址 ■ 线性探查:当发现冲突后,索引递增,直到查找空位放入 ■ 二次探查(索引递增 $ 1^{2}2^{2}3^{2} $ )等 ## 哈希表:直接寻址 - 当发生哈希/索引冲突时,将相同索引的数据装进一个数据结构中0 码力 | 27 页 | 448.83 KB | 2 年前3
Go在数据库中间件的应用两年通信设备开发经验,四年互联网 • 五年C/C++使用经验,一年Golang ## 内容提要 ## CONTENTS • 程序开发的需求 • GoLang特性 - Go开发mysql中间件 - 整体方案 - 分表路由 - 故障切换 - 平滑扩容 - 系统运维 ## 程序开发的需求 • 语言特性精炼,容易入门 • 开发效率高,代码逻辑清晰 • 运行性能强,节省机器资源 • 部署维护方便 • 生态圈完善 ## 系统整体方案 ## • 系统功能 • 读写分离。 • 平滑上下线Mysql。 • 主备自动切换(主-主模式)。 • 分表设计——按照Hash分表 • 分表设计——按照范围分表(年、月、日、整形) • 数据库表在多个mysql实例间平滑扩容 - 大表拆分为多个子表情况下的平滑扩容 ## 系统整体方案 ## • 现存问题 • 数据库访问基本采用直连方式 - 无法满足数据访问平台化要求 为什么采用Go来实现 go诸多优点,可用性高 go处理mysql的binlog有知识积累 • 公司大规模推广使用go ## 分表路由逻辑 ## · 分表规则 - 哈希分表:shardkey通过Hash函数分表 • 分段分表:按照年、月、日或者整形范围分表 本质上哈希分表与分段分表都是一样,只是其Hash方式不同,使得看起来有两种不同的数据组织方式。 ## 故障主备切换 ## • 故障情形 •0 码力 | 17 页 | 4.02 MB | 2 年前3
庖丁解牛:华为云微服务工具解放开发者>接口频繁变更 >大量关联查询 >系统架构复杂度提升 ## 通过微服务拆分工具解放开发者 微服务化改造典型流程 支撑活动 应用上云 + IaaS 应用微服务改造 + PaaS 拆表 拆界面及业务逻辑  业务创新如AI Control 业务编排 业务重建模 View XX界面 自动拆表 自动生成微服务代码 读业务日志, 识别业务访问频次 Control 业务编排 企业云化应用 Model DAO对象 SQL语句 扫Model层,识别join左右表大小 Model > 微服务化 ## 微服务拆分工具-表自动分库 SQL 语句 语法分析 SQL 语句  语法分析 表关联分析 SQL 语句 语法分析 Step1:提取系统所有SQL Step2:逐条根据SQL创建语法树 Step3:在每棵语法树上分析表的关联关系并汇集成表关联关系加权图 Step6:采用图切割算法并配合启发式规则将表分割到不同库中 ? ..... 290 7.20 为什么配置了某个数据连接池的 spring-boot-starter(比如0 码力 | 301 页 | 3.44 MB | 2 年前3
Apache ShardingSphere 中文文档 5.0.0. 20 水平分片 ..... 21 4.2.2 挑战 ..... 21 4.2.3 目标 ..... 22 4.2.4 核心概念 ..... 22 导览 ..... 22 表 ..... 22 数据节点 ..... 23 分片 ..... 24 行表达式 ..... 25 分布式主键 ..... 28 强制分片路由 ..... 30 4.2.5 使用规范 value 异常的解决方法?..290 7.7.9 9. [分片] inline 表达式返回结果为何出现浮点数?..290 7.7.10 10. [分片] 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规则中?..290 7.7.11 11. [分片] 指定了泛型为 Long 的 SingleKeyTableShardingAlgorithm,遇到 ClassCastException: 7.7.12 12. [分片] ShardingSphere 提供的默认分布式自增主键策略为什么是不连续的,且尾数大多为偶数?..291 7.7.13 13. [分片] 如何在 inline 分表策略时,允许执行范围查询操作(BETWEEN AND、>、<、>=、<=)?..291 7.7.14 14. [分片] 为什么我实现了 KeyGenerateAlgorithm0 码力 | 385 页 | 4.26 MB | 2 年前3
Apache ShardingSphere 中文文档 5.1.2... 25 水平分片 ..... 25 4.3.2 挑战 ..... 26 4.3.3 目标 ..... 27 4.3.4 核心概念 ..... 27 导览 ..... 27 表 ..... 27 数据节点 ..... 28 分片 ..... 29 行表达式 ..... 30 分布式主键 ..... 33 强制分片路由 ..... 35 4.3.5 使用规范 .. 异常的解决方法? ..... 318 7.8.9 [分片] inline 表达式返回结果为何出现浮点数? ..... 318 7.8.10 [分片] 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规则中? ..... 318 7.8.11 [分片] 指定了泛型为 Long 的 SingleKeyTableShardingAlgorithm,遇到 ClassCastException: 的具体类型为 Long,且数据库表中字段类型为 bigint,出现 ClassCastException: Integer can not cast to Long 异常。 ..... 318 7.8.13 [分片] ShardingSphere 提供的默认分布式自增主键策略为什么是不连续的,且尾数大多为偶数? ..... 319 7.8.14 [分片] 如何在 inline 分表策略时,允许执行范围查询操作(BETWEEN0 码力 | 446 页 | 4.67 MB | 2 年前3
Apache ShardingSphere 中文文档 5.1.1. 24 水平分片 ..... 25 4.3.2 挑战 ..... 26 4.3.3 目标 ..... 27 4.3.4 核心概念 ..... 27 导览 ..... 27 表 ..... 27 数据节点 ..... 28 分片 ..... 29 行表达式 ..... 30 分布式主键 ..... 33 强制分片路由 ..... 35 4.3.5 使用规范 .. 异常的解决方法? ..... 306 7.8.9 [分片] inline 表达式返回结果为何出现浮点数? ..... 306 7.8.10 [分片] 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规则中? ..... 306 7.8.11 [分片] 指定了泛型为 Long 的 SingleKeyTableShardingAlgorithm,遇到 ClassCastException: 的具体类型为 Long,且数据库表中字段类型为 bigint,出现 ClassCastException: Integer can not cast to Long 异常。 ..... 307 7.8.13 [分片] ShardingSphere 提供的默认分布式自增主键策略为什么是不连续的,且尾数大多为偶数? ..... 307 7.8.14 [分片] 如何在 inline 分表策略时,允许执行范围查询操作(BETWEEN0 码力 | 409 页 | 4.47 MB | 2 年前3
Apache ShardingSphere 中文文档 5.1.0. 24 水平分片 ..... 25 4.3.2 挑战 ..... 26 4.3.3 目标 ..... 27 4.3.4 核心概念 ..... 27 导览 ..... 27 表 ..... 27 数据节点 ..... 28 分片 ..... 29 行表达式 ..... 30 分布式主键 ..... 33 强制分片路由 ..... 35 4.3.5 使用规范 .. 异常的解决方法? ..... 302 7.8.9 [分片] inline 表达式返回结果为何出现浮点数? ..... 302 7.8.10 [分片] 如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规则中? ..... 302 7.8.11 [分片] 指定了泛型为 Long 的 SingleKeyTableShardingAlgorithm,遇到 ClassCastException: 的具体类型为 Long,且数据库表中字段类型为 bigint,出现 ClassCastException: Integer cannot cast to Long 异常。 ..... 303 7.8.13 [分片] ShardingSphere 提供的默认分布式自增主键策略为什么是不连续的,且尾数大多为偶数? ..... 303 7.8.14 [分片] 如何在 inline 分表策略时,允许执行范围查询操作(BETWEEN0 码力 | 406 页 | 4.40 MB | 2 年前3
Apache ShardingSphere 中文文档 5.2.0海量数据高并发的 OLTP 场景 ..... 17 海量数据实时分析 OLAP 场景 ..... 17 3.1.5 相关参考 ..... 17 3.1.6 核心概念 ..... 17 表 ..... 17 数据节点 ..... 19 分片 ..... 20 行表达式 ..... 21 分布式主键 ..... 21 3.1.7 使用限制 ..... 22 稳定支持 value ... 异常的解决方法? ..... 423 8.3.2 分片 inline 表达式返回结果为何出现浮点数? ..... 424 8.3.3 分片如果只有部分数据库分库分表,是否需要将不分库分表的表也配置在分片规则中? ..... 424 8.3.4 分片指定了泛型为 Long 的 SingleKeyTableShardingAlgorithm,遇到 ClassCastException: 的具体类型为 Long,且数据库表中字段类型为 bigint,出现 ClassCastException: Integer can not cast to Long 异常。 ..... 424 8.3.6 分片 ShardingSphere 提供的默认分布式自增主键策略为什么是不连续的,且尾数大多为偶数? ..... 424 8.3.7 分片如何在 inline 分表策略时,允许执行范围查询操作(BETWEEN0 码力 | 449 页 | 5.85 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













