
数据库技术
文章平均质量分 87
mysql等
码出钞能力
old coder
展开
-
linux如何判断进程对磁盘是随机写入还是顺序写入?
在Linux系统中,判断进程对磁盘是随机写入还是顺序写入,可以通过以下几种方法:原创 2025-03-10 00:06:47 · 659 阅读 · 0 评论 -
MySQL高可用之KeepAlived+双主
用KeepAlived实现mysql双主互备转载 2024-03-29 17:48:15 · 1470 阅读 · 0 评论 -
记一次gorm连接池打满,连接不释放的问题
gorm踩坑记录转载 2023-12-13 17:43:37 · 1666 阅读 · 0 评论 -
mysql自动删除过期的binlog
mysql的binlog_expire_logs_seconds、expire_logs_days配置原创 2023-09-19 12:07:12 · 2911 阅读 · 0 评论 -
Redis核心技术集锦
Redis 核心数据结构与高性能原理、Redis持久化、集群原理分析、分布式锁的适用场景、缓存穿透、缓存雪崩、双写一致性、开发规范。转载 2023-03-22 20:07:43 · 387 阅读 · 0 评论 -
字节一面:select......for update会锁表还是锁行?
如果查询条件用了索引/主键,那么select ..... for update就会进行行锁。如果是普通字段(没有索引/主键),那么select ..... for update就会进行锁表。转载 2022-12-24 19:06:33 · 220 阅读 · 0 评论 -
Redis Virtual Memory: the story and the code
redis和虚拟内存转载 2022-11-30 16:33:09 · 198 阅读 · 0 评论 -
mysql唯一索引和普通索引的性能区别
为什么有人说要避免用唯一索引?转载 2022-11-20 20:51:03 · 811 阅读 · 0 评论 -
那些选Redis来做MQ的人,是水平欠缺么?
Kafka为了增加吞吐量,可以说用尽了心思。比如,使用Filesystem Cache PageCache缓存来减少与磁盘的交互;使用顺序写来增加写入的吞吐量;使用Zero-copy和MMAP来减少内存交换;使用批量,以流的方式进行交互,直顶网卡上限;使用拉模式进行消息的获取消费,与消费端处理能力相符。转载 2022-10-25 19:09:46 · 530 阅读 · 0 评论 -
Redis 的大 Key 对持久化有什么影响?
当 AOF 写回策略配置了 Always 策略,如果写入是一个大 Key,主线程在执行 fsync() 函数的时候,阻塞的时间会比较久,因为当写入的数据量很大的时候,数据同步到硬盘这个过程是很耗时的。转载 2022-10-25 18:53:11 · 105 阅读 · 0 评论 -
面试问的Redis问题中总结了这11个知识点
redis面试高频问题转载 2022-08-31 17:46:31 · 193 阅读 · 0 评论 -
Redis面经:Redis为什么快?(基于v6.0)
Redis多线程网络模型转载 2022-08-31 17:32:57 · 96 阅读 · 0 评论 -
腾讯云大神亲码“redis深度笔记”
redis八股文转载 2022-08-31 17:23:42 · 175 阅读 · 0 评论 -
请签收MySQL灵魂十连问
mysql八股文转载 2022-08-27 01:33:28 · 94 阅读 · 0 评论 -
面试官:Redis 大 key 要如何处理?
大 key 并不是指 key 的值很大,而是 key 对应的 value 很大。转载 2022-08-27 01:26:36 · 158 阅读 · 0 评论 -
腾讯四面:MySQL 和 Redis 的数据一致性如何保障?
我们来聊数据一致性,也是一道腾讯四面的面试题目。转载 2022-08-23 22:45:19 · 138 阅读 · 0 评论 -
为什么大家说mysql数据库单表最大两千万?依据是啥?
虽然我在单表里塞了1亿条数据,但这个操作的前提是,我很清楚这不会太影响性能。转载 2022-08-23 22:42:49 · 580 阅读 · 1 评论 -
深入了解Codis
Codis将特定的Key转发到特定的Redis实例,集群中每个实例都保存一部分Key,降低其他实例的压力,同时所有实例的数据加起来,就是一份完整的信息。转载 2022-08-23 22:19:09 · 3330 阅读 · 0 评论 -
Mysql的索引为什么使用B+树而不使用跳表?
B+树是多叉平衡搜索树,扇出高,只需要3层左右就能存放2kw左右的数据,同样情况下跳表则需要24层左右,假设层高对应磁盘IO,那么B+树的读性能会比跳表要好,因此mysql选了B+树做索引。转载 2022-07-24 20:40:55 · 173 阅读 · 0 评论 -
redis redlock相关论文
Redlock算法是否安全的争论转载 2022-07-09 17:41:42 · 347 阅读 · 0 评论 -
redis redlock 原理分析
Redlock:全名叫做 Redis Distributed Lock;即使用redis实现的分布式锁转载 2022-07-09 17:33:53 · 1066 阅读 · 1 评论 -
LSM与TSM原理分析
由于b+树中的数据并不是批量读写磁盘,因而会产生大量的随机读写。在以机械硬盘为存储主力的时代,由于单机械臂的局限,硬盘需要在处理随机读写的过程中访问大量不必要的额外数据,造成性能上的损失。因此,寻找更加高效的、能够解决随机读写效率问题的新的数据结构成为九十年代数据库学界研究方向主流。...转载 2022-06-07 19:07:56 · 1432 阅读 · 0 评论 -
mysql的索引为什么使用B+树而不使用跳表?
redis的读写全在内存里进行操作,不涉及磁盘IO,同时跳表实现简单,相比B+树、AVL树、少了旋转树结构的开销,因此redis使用跳表来实现ZSET,而不是树结构。转载 2022-06-07 19:03:42 · 317 阅读 · 0 评论 -
MySQL三大日志(binlog、redo log和undo log)的作用
MySQL 日志 主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。其中,比较重要的还要属二进制日志 binlog(归档日志)和事务日志 redo log(重做日志)和 undo log(回滚日志)。...转载 2022-06-07 19:00:41 · 515 阅读 · 0 评论 -
阿里一面:SQL 优化有哪些技巧?
mysql面经转载 2022-06-07 18:56:43 · 97 阅读 · 0 评论 -
【转】阿里数据库中间件golang面经
从面试体验上来说,大厂的流程更加规范,通常都是以聊天沟通的方式进行。大厂更加看中逻辑能力,小厂反而对个人实战能力要求更高,猜测是由于人手较少,要求入职后就能直接上手干活。转载 2022-05-12 15:51:56 · 427 阅读 · 0 评论 -
MySQL的零拷贝技术
innodb_flush_log_at_trx_commit、innodb-flush-log-at-timeout、innodb_flush_method、sync_binlog转载 2022-05-05 17:11:27 · 274 阅读 · 0 评论 -
分布式事务系列:Saga
本文是分布式事务系列文章的第三篇,我们将讨论Saga机制转载 2022-05-05 16:59:12 · 3017 阅读 · 1 评论 -
分布式事务(2PC) vs 共识协议(Paxos/raft)
本质上,分布式事务和共识协议解决的不是同一个问题。2PC解决的是分布式事务的一致性,存储的数据各有不同,目标侧重于ACID;Paxos/raft解决的是副本间数据的一致性和高可用,存储的数据完全一致,目标侧重于replication。转载 2022-04-14 19:37:15 · 1211 阅读 · 0 评论 -
浅析分布式事务2PC、3PC、TCC
很浅显的介绍了一下2PC、3PC、TCC的概念,如有错误还望温柔指正,分布式事务一直都是面试中比较热点的问题,也是进阶高级工程师必备的知识点。转载 2022-04-14 19:35:06 · 2040 阅读 · 0 评论 -
做道题就知道,懂不懂事务隔离性了
以前整理过一篇事务隔离性的文章Innodb事务隔离性实现原理,你了解吗?,但很多同学看完后还是有些迷糊。转载 2022-04-14 19:29:52 · 118 阅读 · 0 评论 -
mysql调试
mysql调试杂记原创 2021-11-24 12:35:17 · 430 阅读 · 0 评论 -
读懂Redis源码,我总结了这7点心得
用了这么久的 Redis,也翻了很多次源码,经常有人问我到底怎么读 Redis 源码。一提到读源码,很多人都会比较畏惧,认为读源码是高手才会做的事情。他们可能遇到问题时,会更倾向于去找别人分享的答案。但往往很多时候,自己查到的资料并不能解决所有问题,尤其是比较细节的问题。从我的实战经验来看,遇到这种情况,通常就需要去源码中寻找答案了,因为在源码面前,这些细节会变得「一览无余」。而且我认为,掌握读源码的能力,是从只懂得如何使用 Redis,到精通 Redis 实现原理的成长之路上,必须跨越的门槛。转载 2021-10-15 20:46:42 · 195 阅读 · 0 评论 -
看一遍就理解:MVCC原理详解
前言MVCC 实现原理是一道非常高频的面试题,我们一起来聊聊。1. 相关数据库知识点回顾1.1 什么是数据库事务,为什么要有事务事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。假如A转账给B 100 元,先从A的账户里扣除 100 元,再在 B 的账户上加上 100 元。如果扣完A的100元后,还没来得及给B加上,银行系统异常了,最后导致A的余额减少了,B的余额却没有增加。所以就需要事务,将A的钱回滚回去,就是这么简单。转载 2021-10-15 20:41:05 · 566 阅读 · 2 评论 -
Redis 核心篇:唯快不破的秘密
“天下武功,无坚不摧,唯快不破!”学习一个技术,通常只接触了零散的技术点,没有在脑海里建立一个完整的知识框架和架构体系,没有系统观。这样会很吃力,而且会出现一看好像自己会,过后就忘记,一脸懵逼。跟着「码哥字节」一起吃透 Redis,深层次的掌握 Redis 核心原理以及实战技巧。一起搭建一套完整的知识框架,学会全局观去整理整个知识体系。系统观其实是至关重要的,从某种程度上说,在解决问题时,拥有了系统观,就意味着你能有依据、有章法地定位和解决问题。Redis 全景图全景图可以围绕两个纬转载 2021-09-24 19:41:56 · 122 阅读 · 0 评论 -
Redis的这些拓展方案
| 前言Redis大家都不陌生,就算是没用过,也都听说过了。作为最广泛使用的KV内存数据库之一,在当今的大流量时代,单机模式略显单薄,免不了要有一些拓展的方案。笔者下文会对各种方案进行介绍,并且给出场景,实现 等等概述,还会提到一些新手常见的误区。| 正文先从基础的拓展方式开始,这样更便于理解较高级的模式。ps: 本文背景是以笔者落笔时官网最新稳定版5.0.8为准,虽然还没写完就变成了6.0.1。分区> 概述分区(Partitioning)是一种最为简单的拓展方转载 2021-09-10 19:46:22 · 284 阅读 · 0 评论 -
阿里面试官:为什么MySQL数据库索引选择使用B+树而不是跳表?
来源:https://www.cnblogs.com/andydao/p/12891690.html作者:andydaopeng在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使用B+树!学过数据结构的一般对最基础的树都有所认识,因此我们就从与我们主题更为相近的二叉查找树开始。# 二叉查找树(1)二叉树简介:...转载 2021-09-10 19:34:11 · 2352 阅读 · 3 评论 -
面试题:在日常工作中怎么做MySQL优化的?
前言大家晚上好,我是捡田螺的小男孩。今天我们来聊聊MySQL常见的优化手段。MySQL常见的优化手段分为下面几个方面:SQL优化、设计优化,硬件优化等,其中每个大的方向中又包含多个小的优化点SQL优化此优化方案指的是通过优化 SQL 语句以及索引来提高 MySQL 数据库的运行效率,具体内容如下:分页优化例如:select*fromtablewheretype=2andlevel=9orderbyidasclimit190289,1...转载 2021-09-01 19:58:26 · 145 阅读 · 0 评论 -
美团二面:Redis与MySQL双写一致性如何保证?
前言四月份的时候,有位好朋友去美团面试。他说,被问到Redis与MySQL双写一致性如何保证?这道题其实就是在问缓存和数据库在双写场景下,一致性是如何保证的?本文将跟大家一起来探讨如何回答这个问题。 公众号:捡田螺的小男孩 谈谈一致性一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。 强一致性:这种一致性级别是最符合用户直觉的,它要求系统写入什么,读出来的也会是什么,用户体验好,但实现起来往往对系统的性能影响大 弱一致性:这种一致性级别约转载 2021-08-25 23:42:21 · 237 阅读 · 0 评论 -
InnoDB 原理篇:Buffer Pool 为了让 MySQL 变快都做了什么?
前言大家好,我是阿星,又跟大家见面了。相信很多小伙伴在面试中都被问过「为什么要用缓存?」,大部分人都是回答:「减少数据库的磁盘IO压力」。但是MySQL真的有如此不堪吗?每次增删改查都要去走磁盘IO吗?今天就聊聊InnoDB对Buffer Pool的奇思妙想。Buffer Pool先梳理出问题,再思考如何解决问题。假设我们就是InnoDB,我们要如何去解决磁盘IO问题?这个简单,做缓存就好了,所以MySQL需要申请一块内存空间,这块内存空间称为Buffer Pool。转载 2021-08-25 23:26:17 · 152 阅读 · 0 评论