事件统计 | performance_schema全方位介绍
本文将为大家全面讲解performance_schema中事件统计表。统计事件表分为5个类别,分别为等待事件、阶段事件、语句事件、事务事件、内存事件。
Oracle Data Guard Feature 12cR2系列(一)
Data Guard是Oracle推出的一种高可用性数据库方案,从Oracle 9i开始正式更名为Oracle Data Guard。Data Guard在11g中引入Active Data Guard,12c又赋予了新的功能,如: Far Sync Instance等。
SQL优化案例-正确的使用索引(二)
索引能提升查询效率,索引出现性能问题往往与回表有关,回表属于单块读,回表过多会产生大量逻辑读,本文结合实际案例,给出优化方案 。
Shell Limits设置问题导致用户不能登录
本文将为大家介绍如何解决Shell Limits设置问题导致用户不能登录。
事件记录 | performance_schema全方位介绍
今天将带领大家一起踏上performance_schema系列第三篇的征程(全系共7个篇章),本文将为大家全面讲解performance_schema中事件原始记录表。
挽救DG中主库的nologging操作的块
?众所周知我们的Data Guard数据同步是基于日志流的,所以在主库执行nologging操作是不被允许的,因此我们需要在配置Data Guard阶段需要使用Force Logging,但是这也会带来很多问题。
MySQL 8.0 | CATS调度算法的性能提升
CATS事务调度算法解决了数据库在遇到高压力情况下性能急剧下降的问题。本文将介绍CATS机制原理及其带来的性能提升。
RR与RC隔离级别下MySQL不同的加锁解锁方式
本文将为大家呈现RR与RC隔离级别下MySQL不同的加锁解锁方式~
SQL优化案例-改变那些CBO无能为力的执行计划(一)
?当Oracle没办法做transformation的时候,可能就是sql产生问题的时候,此时就需要去找原因了。本文通过一些案例,来说明这种优化器无能为力的情况。
容器化RDS:PersistentLocalVolumes和VolumeScheduling
本文尝试从使用本地存储的场景出发,分享了“VolumeScheduling”在代码中的具体实现和场景局限。
控制文件不一致引发的“血案”
控制文件不一致引发的故障如何恢复及改进?本文告诉你答案。
Docker,让数据库部署完成在弹指一挥间
Docker让软件开发过程中的环境构建变得简单,消除软件测试过程中环境不一致导致的问题,又让运维和部署变得轻松快速。
容器化RDS—— 计算存储分离 or 本地存储
随着交流机会的增多(集中在金融行业, 规模都在各自领域数一数二), 发现大家对 Docker + Kubernetes 的接受程度超乎想象, 并极有兴趣将这套架构应用到 RDS 领域. 数据库服务的需求可以简化为:
容器化RDS—计算存储分离架构下的“Split-Brain”
不管是架构选型还是生活,绝大多数时候都是在做 trade off,收获了计算存储分离带来的好处,也意味着要忍受它带来的一些棘手问题。本文尝试结合 Kubernetes, Docker, MySQL和计算存储分离架构, 分享我们遇到的“Split-Brain”问题。
沃趣QFusion vs MGR、MGC面面观
沃趣 QFusion 采用目前已经非常成熟且应用非常广泛的主从复制数据同步架构,在能保证高性能的前提下,结合商业的高性能、高可用的分布式存储QCFS实现了数据零丢失,同时我们从BIOS、硬件配置、文件系统、操作系统内核、MySQL配置参数等自底向上做了大量的整体优化,使得单位时间内的交易量进一步提升。根据我们全方位的测试与对比,相比开源的数据同步解决方案,沃趣 QFusion 极具性能与稳定性优势。
容器化RDS|计算存储分离架构下的 IO 优化
在基于 Kubernetes 和 Docker 构建的私有 RDS 中, 普遍采用了计算存储分离架构. 该架构优势明显, 但对于数据库类 Latency Sensitive 应用而言, IO 性能问题无法回避, 下面分享一下我们针对 MySQL 做的优化以及优化后的收益.
容器化RDS|计算存储分离架构下的 IO 优化
在基于 Kubernetes 和 Docker 构建的私有 RDS 中,普遍采用了计算存储分离架构。该架构优势明显, 但对于数据库类 Latency Sensitive 应用而言,IO 性能问题无法回避,下面分享一下我们针对 MySQL 做的优化以及优化后的收益。
如何使用hammerdb进行MySQL基准测试
我们平时测试MySQL时,大多数时候都是使用的sysbench、tpcc-mysql等基准测试工具,现在,你可以尝试着使用hammerdb来对MySQL做一做基准测试,虽然hammerdb测试工具大多数时候我们听到的都是用于oracle测试。但却不失为一种选择。另外,前面提到过,hammerdb还支持olap场景的基准测试,大家有兴趣的可以试一试。
Oracle压缩黑科技(二)—压缩数据的修改
在本系列的第一篇文章中,我们看到了只有在直接路径加载、CTAS(create table as select)和"alter table move"时,基础表压缩机制才可以生效。同时当表启用了压缩时,Oracle会默认的将该表中数据块的pctfree设置为0,这也暗示了我们基础压缩应该作为一种只读数据的压缩策略。当我们查看一个对应块的dump文件时,会发现Oracle并不是“压缩”数据,他所做的是在每个块上创建重复值列表(即字典表),然后通过一些标志来代替那些重复值从而达到块级别的去重。并且,Oracle可以重新排列块中的字段顺序,从而增加用一个标志来代替多个字段的机会。这告诉我们,Oracle在读取块时并不需要“解压”数据,他需要做的仅仅是通过指针来重构数据,当然这是一个CPU密集型操作。
容器化RDS|调度策略
本文仅以RDS的视角,从三个层级讲述了对调度器的要求。真实的世界会更加复杂,比如针对Read Write Cluster,Slave 必须等待Master创建完毕,而Sharding Cluster,所有分片可以并发创建……在设计产品和完成编码的过程中,踩坑无数。不能否认的是,站在巨人的肩膀上可以让我们看的更远。