- 博客(180)
- 资源 (22)
- 收藏
- 关注
原创 面试数据库篇(mysql)- 12分库分表
垂直分库:以表为依据,根据业务将不同表拆分到不同库中。垂直分表:以字段为依据,根据字段属性将不同字段拆分到不同表中。特点:1,冷热数据分离2,减少IO过渡争抢,两表互不影响。
2024-02-28 16:08:24
336
原创 面试数据库篇(mysql)- 11主从同步
二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。MySQL主从复制的核心就是二进制日志。
2024-02-28 15:54:56
274
原创 面试数据库篇(mysql)- 10事务中的隔离性是如何保证
解决的是一个事务查询选择版本的问题,在内部定义了一些匹配规则和当前的一些事务id判断该访问那个版本的数据,不同的隔离级别快照读是不一样的,最终的访问的结果不一样。主要的作用是记录回滚日志,存储老版本数据,在内部会形成一个版本链,在多个事务并行操作某一行记录,记录不同事务修改数据的版本,通过roll_pointer指针形成一个链表。简单的select(不加锁)就是快照读,快照读,读取的是记录数据的可见版本,有可能是历史数据,不加锁,是非阻塞读。事务的隔离性是由锁和mvcc实现的。1.记录中的隐藏字段。
2024-02-28 15:42:01
325
原创 面试数据库篇(mysql)- 09undo log和redo log的区别
该日志文件由两部分组成:重做日志缓冲(redo log buffer)以及重做日志文件(redo log file),前者是在内存中,后者在磁盘中。当事务提交之后会把所有修改信息都存到该日志文件中, 用于在刷新脏页到磁盘,发生错误时, 进行数据恢复使用。undo log和redo log记录物理日志不一样,它是逻辑日志。重做日志,记录的是事务提交时数据页的物理修改,是用来。undo log可以实现事务的一致性和原子性。
2024-02-28 15:21:24
272
原创 面试数据库篇(mysql)- 08事务
事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。ACID是什么?可以详细说一下吗?
2024-02-28 15:14:28
226
原创 面试数据库篇(mysql)- 07索引创建原则与失效及优化
1). 针对于数据量较大,且查询比较频繁的表建立索引。2). 针对于常作为查询条件(where)、排序(order by)、分组(group by)操作的字段建立索引。3). 尽量选择区分度高的列作为索引,尽量建立唯一索引,区分度越高,使用索引的效率越高。4). 如果是字符串类型的字段,字段的长度较长,可以针对于字段的特点,建立前缀索引。5). 尽量使用联合索引,减少单列索引,查询时,联合索引很多时候可以覆盖索引,节省存储空间,避免回表,提高查询效率。
2024-02-28 15:01:46
214
原创 面试数据库篇(mysql)- 04了解过索引吗?(什么是索引)
索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构(B+树),这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。B-Tree,B树是一种多叉路衡查找树,相对于二叉树,B树每个节点可以有多个分支,即多叉。以一颗最大度数(max-degree)为5(5阶)的b-tree为例,那这个B树每个节点最多存储4个key。
2024-02-28 13:59:40
191
原创 面试数据库篇(mysql)- 03MYSQL支持的存储引擎有哪些, 有什么区别
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。
2024-02-28 11:28:07
208
原创 面试数据库篇(mysql)- 02定位慢查询和分析
表象:页面加载过慢、接口压测响应时间过长(超过1s)调试工具:Arthas运维工具:Prometheus 、Skywalking慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有SQL语句的日志 如果要开启慢查询日志,需要在MySQL的配置文件(/etc/my.cnf)中配置如下信息:配置完毕之后,通过以下指令重新启动MySQL服务器进行测试,查看慢日志文件中记录的信息 /var/lib/mysql/localhost-slow.log。
2024-02-28 11:18:27
211
原创 面试redis篇-13Redis为什么那么快
I/O多路复用是指利用单个线程来同时监听多个Socket ,并在某个Socket可读、可写时得到通知,从而避免无效的等待,充分利用CPU资源。目前的I/O多路复用都是采用的epoll模式实现,它会在通知用户进程Socket就绪的同时,把已就绪的Socket写入用户空间,不需要挨个遍历Socket来判断是否就绪,提升了性能。IO多路复用:是利用单个线程来同时监听多个Socket ,并在某个Socket可读、可写时得到通知,从而避免无效的等待,充分利用CPU资源。,增加命令转换速度,在。
2024-02-26 15:32:01
264
原创 面试redis篇-10Redis集群方案-主从复制
当然,如果在rdb生成执行期间,依然有请求到了主节点,而主节点会以命令的方式记录到缓冲区,缓冲区是一个日志文件,最后把这个日志文件发送给从节点,这样就能保证主节点与从节点完全一致了,后期再同步数据的时候,都是依赖于这个日志文件,这个就是。指的是,当从节点服务重启之后,数据就不一致了,所以这个时候,从节点会请求主节点同步数据,主节点还是判断不是第一次请求,不是第一次就获取从节点的offset值,然后主节点从命令日志中获取offset值之后的数据,发送给从节点进行数据同步。:能说一下,主从同步数据的流程。
2024-02-26 15:03:15
231
原创 面试redis篇-09redis分布式锁
Redis实现分布式锁主要利用Redis的setnx命令。setnx是SET if not exists(如果不存在,则 SET)的简写根据业务执行时间预估给锁续期redisson实现的分布式锁-可重入利用hash结构记录线程id和重入次数redisson实现的分布式锁-主从一致性RedLock(红锁):不能只在一个redis实例上创建锁,应该是在多个redis实例上创建锁(n / 2 + 1),避免在一个redis实例上加锁。
2024-02-26 13:59:24
229
原创 面试redis篇-08数据淘汰策略
当Redis中的内存不够用时,此时在向Redis中添加新的key,那么Redis就会按照某一种规则将内存中的数据删除掉,这种数据的删除规则被称之为内存的淘汰策略。
2024-02-26 11:04:14
223
原创 面试redis篇-07数据过期策略
假如redis的key过期之后,会立即删除吗?Redis对数据设置数据的有效时间,数据过期以后,就需要将数据从内存中删除掉。可以按照不同的规则进行删除,这种删除规则就被称之为数据的删除策略(数据过期策略)。
2024-02-20 13:53:26
180
原创 面试redis篇-05双写一致
当修改了数据库的数据也要同时更新缓存的数据,缓存和数据库的数据要保持一致:分布式锁,一致性要求高方案二:异步通知保证数据的最终一致性。
2024-02-20 10:31:27
521
原创 面试redis篇-03缓存击穿
给某一个key设置了过期时间,当key过期的时候,恰好这时间点对这个key有大量的并发请求过来,这些并发的请求可能会瞬间把DB压垮解决方案一:互斥锁解决方案二:逻辑过期。
2024-02-19 17:41:04
317
原创 面试redis篇-02缓存穿透
例: 一个get请求:api/news/getById/1:查询一个不存在的数据,mysql查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库。
2024-02-19 10:39:08
286
原创 面试redis篇-01开篇
使用场景Redis的数据持久化策略有哪些 什么是缓存穿透,怎么解决 什么是布隆过滤器 什么是缓存击穿,怎么解决 什么是缓存雪崩,怎么解决 redis双写问题 Redis分布式锁如何实现 Redis实现分布式锁如何合理的控制锁的有效时长 Redis的数据过期策略有哪些 Redis的数据淘汰策略有哪些其他面试题Redis集群有哪些方案, 知道嘛 什么是 Redis 主从同步 你们使用Redis是单点还是集群 ? 哪种集群 Redis分片集群中数据是怎么存储和读取的 red
2024-02-19 10:22:36
364
原创 Docker网络
ens33lovirbr0在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡:它还有一个固定的默认IP地址192.168.122.1),是做虚拟机网桥的使用的,其作用是为连接其上的虚机网卡提供 NAT访问外网的功能。 我们之前学习Linux安装,勾选安装系统的时候附带了libvirt服务才会生成的一个东西,如果不需要可以直接将libvirtd服务卸载,yum remove libvirt-libs.x86_
2023-04-12 11:28:46
493
原创 kubernetes node节点加入容器 [ERROR FileContent--proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forw
输入 : sysctl -w net.ipv4.ip_forward=1 就可以解决这个问题了。
2023-04-10 17:49:12
500
原创 docker安装redis集群前分区算法介绍
为了在节点数目发生改变时尽可能少的迁移数据将所有的存储节点排列在收尾相接的Hash环上,每个key在计算Hash后会顺时针找到临近的存储节点存放。而当有节点加入或退出时仅影响该节点在Hash环上顺时针相邻的后续节点。优点加入和删除节点只影响哈希环中顺时针方向的相邻的节点,对其他节点无影响。缺点数据的分布和节点的位置有关,因为这些节点不是均匀的分布在哈希环上的,所以数据在进行存储时达不到均匀分布的效果。
2023-03-31 10:41:32
125
原创 rinetd端口转发工具
rinetd一款简单、方便的端口映射工具,帮助开发人员可快速进行内网机器的端口映射/转发/重定向。[root@nginx rined_soft]# tar -zxvf rinetd.tar.gz #解压[root@nginx rined_soft]# make #编译[root@nginx rined_soft]# make install #安装。
2023-03-27 10:10:13
951
原创 docker安装mysql主从复制
进入/mydata/mysql-master/conf目录下新建my.cnf ,vim my.cnf。修改完配置后重启master实例,docker restart mysql-master。
2023-03-24 11:29:54
268
原创 Docker常规安装简介
把webapps.dist目录换成webapps。查看webapps 文件夹查看为空。可能没有映射端口或者没有关闭防火墙。先成功启动tomcat。
2023-03-23 17:20:10
357
原创 Docker容器数据卷
Docker挂载主机目录访问如果出现cannot open directory .: Permission denied解决办法:在挂载目录后多加一个--privileged=true参数即可如果是CentOS7安全模块会比之前系统版本加强,不安全的会先禁止,所以目录挂载的情况被默认为不安全的行为,在SELinux里面挂载目录被禁止掉了额,如果要开启,我们一般使用--privileged=true命令,扩大容器的权限解决挂载目录没有权限的问题,也即。
2023-03-15 10:52:09
353
原创 本地镜像发布到私有库
1 官方Docker Hub地址:https://hub.docker.com/,中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。2 Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。Docker Registry是官方提供的工具,可以用于构建私有镜像仓库。
2023-03-14 14:25:11
262
原创 本地镜像发布到阿里云
本地镜像发布到阿里云流程镜像的生成方法docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名] DockerFile将本地镜像推送到阿里云本地镜像素材原型 阿里云开发者平台 开放云原生应用-云原生(Cloud Native)-云原生介绍 - 阿里云 创建仓库镜像 选择控制台,进入容器镜像服务 选择个人实例 命名空间 仓库名称 进入管理界面获得脚本 将镜像推送到阿里云 将镜像推送到阿里云re
2023-03-14 10:09:07
123
原创 问题解决:Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist:...
大家都知道Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现下面错误“错误:Failed to download metadata for repo ‘AppStream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist”2、修改所有的CentOS文件内容。1、进入yum的repos目录。3、更新yum源为阿里镜像。测试是否可以yum安装。
2023-03-13 16:17:01
774
玩转算法面试 leetcode
2023-01-13
数据分析(业务分析,建模分析,大数据分析,数据分析专家)
2023-01-12
大数据高级开发工程师自学资源
2023-01-12
云原生,边缘计算项目实战
2023-01-11
doris数据分析教程
2022-04-08
数据湖架构开发Hudi 2022年
2022-04-08
《Redis设计与实现》.(黄健宏).[PDF]@ckook_wrapper.pdf
2019-07-10
Java 8实战.pdf
2019-06-30
精通Spring 4.x 企业应用开发实战@www.java1234.com.pdf
2019-06-03
图解Spark核心技术与案例实战.pdf
2019-05-31
zookeeper源码阅读
2019-05-05
图解Spark核心技术与案例实战.pdf 完整高清扫描版
2018-02-28
从零开始学Storm完整高清版
2018-01-31
ext-2.2.rar
2018-01-18
jquery-3.2
2018-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人