详述一条SQL引发的高CPU故障处理过程
我们日常需要注意的是尽量避免在列上做运算,一个简单的id=1 和id+1=2,消耗的资源可能会相差很大;如果遇到了自关联的SQL,分析函数是避免自关联的利器,可以尝试进行改写,实际情况中并不是所有的问题SQL在数据库层面都有优化的方法,有些时候SQL就是没有条件没有办法进一步优化,这种情况下业务层面的调整、加并发或者控制执行频率都是可以考虑的方式。
MySQL 数据库“十宗罪”(十大经典错误案例)
老张我在刚开始学习数据库的时候,没少走弯路。经常会遇到各种稀奇古怪的 error 信息,遇到报错会很慌张,急需一个解决问题的办法。跟无头苍蝇一样,会不加思索地把错误粘到百度上,希望赶紧查找一下有没有好的处理问题的方法。我想这个应该是刚从事数据库的小白,都会遇到窘境。
一文弄懂“分布式锁”
多线程情况下对共享资源的操作需要加锁,避免数据被写乱,在分布式系统中,这个问题也是存在的,此时就需要一个分布式锁服务。常见的分布式锁实现一般是基于DB、Redis、zookeeper。下面笔者会按照顺序分析下这3种分布式锁的设计与实现,想直接看分布式锁总结的小伙伴可直接翻到文档末尾处。
深入解析:从源码窥探MySQL优化器
优化器是逻辑SQL到物理存储的解释器,是一个复杂而“愚蠢”的数学模型,它的入参通常是SQL、统计信息以及优化器参数等,而输出通常一个可执行的查询计划,因此优化器的优劣取决于数学模型的稳定性和健壮性,理解这个数学模型就能理解数据库的SQL处理流程。
Redis Cluster 宕机引发的事故
Redis官方号称支持并发11万读操作,并发8万写操作。由于优异的性能和方便的操作,相信很多人都在项目中都使用了Redis,为了不让应用过分的依赖 Redis服务,Redis的作用只作为提升应用并发和降低应用响应时间存在,即使Redis出现异常,应用程序也不应该出现提供服务失败问题,对此拍拍信最近安排了一次全环境的Redis Cluster 宕机演练。
如何从零学习PostgreSQL Page结构
PostgreSQL 号称是“世界上最先进的开源数据库”(The world's most advanced open source database),在DB-Engines的排名中长期处于第四的位置,并且增长趋势明显。开源的优势就是可以直接阅读源码,本文通过源码结合pageinspect对pg的page结构进行解析和学习。
详述一条SQL引发的高CPU故障处理过程
研发反馈某核心业务数据库 dbtime 使用率相比昨天有了明显的波动。从截图中可以看到9点到11点15分采样区间内dbtime波动明显,选取了11点到11点15分的awr报告分析。
Oracle 18c体系架构图创作之路 - 设计者说(精品海报大放送)
分享数据库技术、新闻与信息,尤其是和Oracle数据库相关的内容,文章内容来自原创、专栏作者投稿或读者投稿。
云数据库时代:企业数据架构的云化智能重构和变革
我以为,近代数据库技术的发展可以划分为三个阶段,分别是:商业数据库时代:以Oracle、DB2、Sybase、SQL Server 等产品为代表,开创了一个企业级软件时代;开源数据库时代:以MySQL、PostgreSQL、MongoDB、Redis 等产品为代表,推动了互联网时代;云数据库时代:以Oracle的自治数据库、AWS 的 Aurora、阿里云的PolarDB等产品为代表,开创了云时代;
PingCAP创始人刘奇:TiDB设计理念进化与大规模实践
我今天介绍一下我们PingCAP的设计理念进化和一些实践。到现在为止TiDB已经开源有三年零两个月,我是TiDB CEO,打杂比较多,偶尔写写代码。
变与不变: Undo构造一致性读的例外情况
其中介绍了Oracle如何使用UNDO来实现多版本一致性读,使用了OPEN CURSOR的方式非常巧妙地在很少量数据的情况下构造出可重现的案例。不过这个案例存在一点小的瑕疵,因为如果一不小心,很可能会导致结果与预期不符,这是因为这里有一个例外存在。
数据库流行度11月排行榜:Oracle 意外滑落和 PostgreSQL 再创新高
2018年11月数据库流行度排行榜已经出炉,让人意外的是,这个月 Oracle 的积分和 MySQL 双双下滑,而且是在 10 月 Oracle OpenWorld 大会刚刚举行之际,按照惯例,这个季节是Oracle宣传和传播的高峰期,这些指标是被DB-Engines计算在内的,所以 Oracle 和 MySQL 的下滑出乎意料之外。