随笔分类 -  DB

数据库相关
摘要:Predixy 是一款高性能全特征 redis 代理,支持 redis-sentinel 和 redis-cluster 组件特性: [Predixy 支持的功能](https://github.com/joyieldInc/predixy/blob/master/README_CN.md) 为什么 阅读全文
posted @ 2023-07-31 15:35 梦里花。 阅读(2232) 评论(1) 推荐(1) 编辑
摘要:### 一:物理全备 优先选择 基于slave 节点全备;当不存在可用的 slave 节点时,选择 master 节点备份 ``` 基于 slave 节点: innobackupex --defaults-file=/etc/my.cnf -S /tmp/mysql.sock --ftwrl-wai 阅读全文
posted @ 2023-07-31 15:28 梦里花。 阅读(41) 评论(0) 推荐(0) 编辑
摘要:一直以来,由于 DBA 的误操作或者业务bug,导致误删数据的情况都时有发生。当出现误删数据的情况时,从线上操作日志构造误删除的数据,或者DBA使用binlog和备份的方式恢复数据,不管哪种,都非常费时费力,并且容易 出错。可能有的同学会说从 从库恢复,但实时主从备份只能防止硬件问题,比如主库的硬盘 阅读全文
posted @ 2023-07-31 15:23 梦里花。 阅读(25) 评论(0) 推荐(0) 编辑
摘要:一: 优雅分析 种种原因,业务中有时会有批量删 key 的需求,但如何删是一个值得讨论的问题。如题 “优雅” 二字,我们不希望这个操作 影响 Redis 的正常使用,或是性能波动等的问题。 所以,下面我们讨论的内容一切围绕 "优雅" 展开。 一个良好的 Redis 使用习惯,key 的命名应该是有规 阅读全文
posted @ 2022-08-10 23:16 梦里花。 阅读(2472) 评论(0) 推荐(0) 编辑
摘要:一:Prepere Statement 简介 prepare statement 即 SQL 预处理。什么是 SQL 预处理? 普通 SQL 语句执行的逻辑 需要经过 server 层 的 分析器 (图中圈住的部分) 对 sql 语句进行词法语法解析、sql 编译, 这需要一些性能开销,尤其在一些高 阅读全文
posted @ 2022-03-20 20:14 梦里花。 阅读(474) 评论(0) 推荐(0) 编辑
摘要:一:回表概述 关于回表的概念网上已经有很多了,这里不过多赘述。下面我们直接放一张图可能更直观说明什么是回表。 图中 非聚集索引也叫二级索引,二级索引本质上也是 一 个 B+ 树结构,与聚集索引(也叫主键索引)不同的是,非聚集索引并不包含表上的完整数据,当在e二级索引上查询时,实际上数据规模变小了很多 阅读全文
posted @ 2022-03-20 19:21 梦里花。 阅读(360) 评论(0) 推荐(0) 编辑
摘要:多大的 key 算大? 阿里云Redis 最佳实践中提到 合理的 Key 中 Value 的字节大小,推荐小于10 KB。过大的 Value 会引发数据倾斜、热点Key、实例流量或 CPU 性能被占满等问题,应从设计源头上避免此类问题带来的性能影响。那么 value Bytes >10kb 可以作为 阅读全文
posted @ 2022-01-18 21:47 梦里花。 阅读(845) 评论(0) 推荐(0) 编辑
摘要:MongoDB、MySQL、Oracle、PostgreSQL 等事务型数据库都有 mvcc 的概念。 MVCC: 即多版本并发控制,主要是为了提高数据库的读写性能,让数据库在读写的时候不用去加锁。mvcc 主要是处理读请求,这个读指的是快照读,而不是当前读,快照读就是普通的 select 查询。而 阅读全文
posted @ 2021-07-13 12:27 梦里花。 阅读(173) 评论(0) 推荐(0) 编辑
摘要:为了支持各个国家的不同语言,MySQL 从4.0 版本开始支持了很多种字符集,且每种字符集支持了 N 多种排序规则。我们可以在建表的时候指定字符集的排序规则,不指定时会有一个默认规则。 字符集和排序规则总是一起使用的,每个排序规则都是针对某个特性的字符集,和其他字符集没有关系。 只有基于 字符串 的 阅读全文
posted @ 2021-07-08 16:44 梦里花。 阅读(65) 评论(0) 推荐(0) 编辑
摘要:MongoDB 从4.0 版本开始 副本集支持多文档事务,4.2 版本开始分片集群也支持多文档事务。单个集合的单个文档事务 在 1.x 就支持。 以下是跟 mongo 事务相关的一些概念: 1. Write Concern 参数格式: { w: <value>, j: <boolean>, wtim 阅读全文
posted @ 2021-07-05 10:09 梦里花。 阅读(628) 评论(0) 推荐(0) 编辑
摘要:数值类型 floot(M,N) double(M,N): 浮点型 M 表示显示位数,即宽度 N 表示小数部分的精确位数 但是,这两种浮点型都是非精确类型。对于数值类型的高精度需求,显然 floot,double 不能满足。 高精度通常用 decimal 类型 decimal(M, N): 高精度类型 阅读全文
posted @ 2021-07-02 07:56 梦里花。 阅读(56) 评论(0) 推荐(0) 编辑
摘要:使用 select ... INTO OUTFILE 语句导出数据:--single-transaction 导出数据到 /root/mytable.sql SELECT * FROM mytable INTO OUTFILE '/root/mytable.sql'; 你可以通过命令选项来设置数据输 阅读全文
posted @ 2021-06-17 14:33 梦里花。 阅读(31) 评论(0) 推荐(0) 编辑
摘要:看到有一些博客说 between and 有不含边界的情况,于是测试了一把,记录如下。先说结论:between and 不存在不含边界的情况 1. between and 是包含边界的 id between 3 and 5 等价于 id >=3 and ⇐5; mysql> select * fro 阅读全文
posted @ 2021-06-16 17:00 梦里花。 阅读(809) 评论(0) 推荐(0) 编辑
摘要:一、全局锁 mysql> flush table with read lock; FTWRL 会对整个实例加只读锁。会阻塞所有线程读以外的所有操作。查看线程状态 State: Waiting for global read lock 通常 对全库做逻辑备份(mysqldump)时,会加全局锁。 (1 阅读全文
posted @ 2021-06-16 11:25 梦里花。 阅读(104) 评论(0) 推荐(0) 编辑
摘要:文文文文文文 阅读全文
posted @ 2021-06-15 10:18 梦里花。 阅读(14) 评论(0) 推荐(0) 编辑
摘要:redis 支持五种常见的基本数据类型。无论是哪种数据类型,redis 的 key 都是字符串,我们在讨论数据类型时,说的是 value 的不同类型。Redis 丰富的数据类型,使得Redis 可用于缓存,事件发布订阅,或消息队列。 | 类型 | value | 读写能力 | | | | | |st 阅读全文
posted @ 2021-06-10 19:23 梦里花。 阅读(53) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示