在AQS的概念和设计层面-浅浅的挖呀挖呀挖
AQS,全称 Abstract Queued Synchronizer,是一个抽象的队列同步器,通过维护一个共享资源状态( Volatile Int State )和一个先进先出( FIFO )的线程等待队列来实现一个多线程访问共享资源的同步框架。
Redis — 不仅仅是缓存
Redis是一种快速、开源的内存键值(NoSQL)数据库,远远超越了缓存的功能。Redis使用RAM进行操作,提供亚毫秒级的响应时间,支持每秒数百万次请求。Redis主要用于缓存,但它也可以作为那些数据不经常变化的应用程序的主要数据库。Redis内置了复制、服务端脚本(使用Lua脚本)、LRU驱逐、定时过期和事务支持。
故障分析 | MySQL:我的从库竟是我自己!?
有人反馈装了一个数据库,来做现有库的从库。做好主从复制关系后,在现有主库上使用 show slave hosts; 管理命令去查询从库的信息时,发现从库的 IP 地址竟是自己的 IP 地址,这是为什么呢? 因生产环境涉及 IP,端口等保密信息,以下以本地环境来还原现象。
一文搞懂Redis架构演化之路
这篇文章我想和你聊一聊 Redis 的架构演化之路。 现如今 Redis 变得越来越流行,几乎在很多项目中都要被用到,不知道你在使用 Redis 时,有没有思考过,Redis 到底是如何稳定、高性能地提供服务的?
数据库是要拿来用的,不是用来PK先进性的
我想只有数据库产品真正的被用户认认真真的用起来了,我们的数据库研发人员才会感受到他们以前无意中的一些偷懒和简化处理,就变成了用户使用时的痛苦不堪。数据库是要拿来用的,只有真的有大量的用户在认认真真的用你的数据库产品了,你才会知道用户需要的到底是什么样的功能吧。
面试官:Redis 为什么变慢了?怎么解决?
例如,我的机器配置比较低,当延迟为 2ms 时,我就认为 Redis 变慢了,但是如果你的硬件配置比较高,那么在你的运行环境下,可能延迟是 0.5ms 时就可以认为 Redis 变慢了。
逻辑复制大事务处理演进
众所周知,逻辑复制处理大事务一直比较头疼,不仅会导致性能下降,还会导致延迟。从 13 版本以来,每个大版本在对大事务的处理方面都有显著的提升。闲话少叙,让我们看看每个版本的演进。
MySQL不会丢失数据的秘密,就藏在它的 7种日志里
我们要知道MySQL的服务器层是不管理事务的,事务是由存储引擎实现的,而MySQL中支持事务的存储引擎又属InnoDB使用的最为广泛,所以后续文中提到的存储引擎都以InnoDB为主。
什么是数据库的索引?
当数据库中数据量比较少的时候,哪怕全部检索也可以很快,但如果数据量达到了百万,千万,上亿的时候,还是全表扫描,那么数据查询的速度会慢的让人无法忍受。
为什么需要插入意向锁?
不久之前,有位读者问了一个关于 insert intention waiting 的问题,回答过程中,我还把意向锁(intention lock)和插入意向锁(insert intention lock)搞混了,实际上这是 2 种不同类型的锁。
MySQL:每次update一定会修改数据吗?
假设我们有这样一张表,且包含一条记录:
3 万字 + 40 张图 | Redis 常见面试题(2023 版本)
考虑到一些同学面试突击 Redis,所以我整理了 3 万字 + 40 张图的 Redis 八股文,共收集了 40 多个面试题。发车!
图解MySQL Undo log的存储机制及工作原理,3分钟精通!
Undo log 是 MySQL 实现事务的关键机制之一。
PostgreSQL:世界上最成功的数据库
2023 年 StackOverflow 调研结果已经新鲜出炉,来自185个国家与地区的9万名开发者给出了高质量的反馈。在今年的调研中,PostgreSQL 在数据库全部三项调研指标(流行度,喜爱度,需求度)上获得无可争议的全能冠军,成为真正意义上“最成功”的数据库 —— "PostgreSQL is the Linux of Database!"
面试没有分库分表经验,那这篇不能错过!|金三银四系列
分库分表的产生背景主要源于大规模互联网应用的需求。随着互联网应用的不断发展,数据量和访问量不断增加,单一的数据库往往无法满足应用的需求。传统的垂直扩展方式(增加更多的硬件资源)存在成本高、扩展能力受限等问题,因此水平扩展方式逐渐成为了主流。
面试要准备新知识了:什么是向量数据库
最近 ChatGPT 以及类似的 AI 产品大火,不仅带火了英伟达的 GPU 芯片,也带火了向量数据库。 其实向量数据库吧,很早就之前就有了,而且很多公司也在用,只不过最近借着AI的东风,被推到了台前,比如 Pinecone 这家向量数据库公司,估值约为 10 亿美元,刚刚融资 1 亿美元。
binlog从基础到精通,24张图吃透,MySQL调优必看
Bin log 保证了数据的可靠性和一致性,MySQL 数据库的数据备份、主备、主主、主从等的实现,都依赖于 Bin log。 毫不夸张地说,Bin log 是 MySQL 极为重要的内核之一,同时,Bin log 也是 MySQL 的高频面试题,大厂校招、社招面试90%会问到。
information_schema.tables 视图中,表的最后修改时间靠谱吗?
information_schema.tables 视图中,update_time 字段记录了表的最后修改时间,即某个表最后一次插入、更新、删除记录的事务提交时间。
MySQL:8.0 从库 MTS并发的定时炸弹
8.0.28以下的MTS可能在运行一段时间后出现hang死的情况,大概如下(模拟的):
高可用架构:为什么我不建议使用MySQL双主复制
dbops 是一套高效的 ansible playbook 集合,目前是一个可以自动化安装和部署生产级别的 MySQL 及周边生态的工具。master-master 不是我认可的一种生产使用级别数据库架构,所以我不打算制作它。如果你依然想部署 master-master 架构,很简单,你只需要使用两台机器利用 dbops 部署 master-slave 架构后,手动建立反向复制链路即可,简单地说,就是在从库上执行一个 change master to 到主库的语句。