前言 从入职以来写了一年的业务代码,突然接到来自领导的技术需求,说要给我们的借款、还款申请单分表。查看了一下借款表,只有几千万数据,再看还款表已经两亿多了,为了提高数据查询效率,降低数据库的压力。 确实可以考虑分表了。另外……这是入职一年以来第一个非业务需求! 设计方案 开始编码实现之前我们需要先做系统设计,主要是以下几块内容要跟领导开会对齐颗粒度!…
简介 ibd2sql 是一个使用纯 Python 3 编写的工具,用于离线解析 MySQL InnoDB 存储引擎的 IBD 文件,并将其转换为 SQL 语句。该工具无需任何第三方依赖包,使用 GPL-3.0 许可证发布。 优点 方便: 提取表的 DDL(数据定义语言)。 实用: 支持替换库名(–schema)和表名(–table),可以在 SQL…
昨天 MySQL发布了个新版本V9.1.0,先看一下what‘s new里面写的东西。 1. Triggers no longer loaded by read-only operations 。简单说,就是之前的版本,加载触发器的时候是直接解析的。现在优化为,只加载元数据,并不启动解析。 等表上有更新语句,要使用触发器逻辑的时候再解析触发器内容。…
第一步 当用户点击“购买”按钮时,会生成一个支付事件 (Payment Event) 并发送到支付服务。 第二步 支付服务 (Payment Service) 将支付事件存储在数据库中。 第三步 单个支付事件可能包含多个支付订单。比如,我们结账时会从多个卖家选择商品。这时,支付服务会拆分支付事件,每个支付订单都会调用一次支付执行服务 (Payment…
2011 年初,LinkedIn 开源了 Kafka,这是一个分布式事件流平台。它以作家弗朗茨-卡夫卡(Franz Kafka)的名字命名。顾名思义,Kafka 是为写而优化的。它为处理实时数据馈送提供了一个高吞吐量、低延迟的平台,在互联网公司中得到广泛应用。 Kafka 通过顺序 I/O (Sequential I/O)和零拷贝 (Zero…
CAP、BASE、SOLID、KISS,这些缩写词是什么意思? 下图解释了系统设计中常见的缩写词。 CAP CAP 定理指出,任何分布式数据存储都只能提供以下三种保证中的两种: 一致性 – 每次读取都会收到最近的写入或错误。 可用性 – 每个请求都会收到响应。 分区容忍度 – 系统在网络故障时仍能继续运行。…