阿里数据库性能诊断的利器——SQL执行干预
阿里数据库(AliSQL和OceanBase)都支持在运行中干预SQL的执行计划,以及对问题SQL并发进行限流,以快速将数据库和应用从某个问题SQL的影响中恢复出来。
阿里数据库性能诊断的利器——SQL全量日志
阿里数据库内核产品能输出全量SQL执行性能数据,数据库的PaaS平台在这些数据基础上可以开发自动化数据库性能诊断产品。这个可以极大的降低业务研发做数据库诊断的技术门槛,同时也解放DBA人力。
支付宝去O的关键技术之一——数据库弹性路由
本文主要总结蚂蚁去O成功的关键技术之一——数据库弹性路由的原理以及对这个原理的思考。这个技术对传统行业技术而言也是可以实现的,对传统行业去O或者大机下移项目都有一定借鉴意义。
分布式学习:Sequential 和 Linearizability
Linearizablity是一种要求很强的一致性模型。理解这个目的是为了识别应用和数据库中哪些设计是符合Linearizable,哪些是不符合的,以便应用用最小成本实现业务需求,同时又规避问题(BUG)。
说说分库分表的一个最佳实践
分布式数据库(中间件)的特点就是分库分表。具体分多少个实例多少个库会影响分布式数据库性能理论上限。此外,SQL能否将该分布式数据库的性能能力都发挥出来,取决于SQL的写法,一般跟拆分键的行为有关。
MySQL数据库乱码问题分析
数据库字符“乱码”现象,其原因可能跟页面的编码、连接池的编码、数据库的字符集参数、表和字段的字符集设置有关。而分析“乱码”现象过程中,又会受终端的字符集编码、文件的字符集编码影响。诸多因素导致“乱码”现象扑朔迷离。
说说数据库事务和开发(下)—— 分布式事务
本篇首先分析分布式事务的“最终一致性”的解决方案的原理,以及跟“强一致性”解决方案的区别。然后分析两款分布式事务中间件产品(GTS和DTX)的区别。最后介绍两个分布式数据库(DRDS和OceanBase)原生的分布式事务的原理和使用场景。
说说数据库事务开发(上)
本文分上下两篇,主要系统总结常用关系数据库ORACLE\SQL Server\MySQL的事务特点原理以及场景,并跟OceanBase以及GTS、DTX进行比较,分析其中原理和风险,方便传统应用开发评估使用分布式数据库和中间件产品的风险。
推荐一款淘宝开源的主机性能采集软件——tsar
tsar 是淘宝6年前开源的一款主机性能采集软件,可以说是运维人员性能分析的一把瑞士军刀。
揭开数据库RPO等于0的秘密(下)
本文分为上下两篇。 上篇分析传统关系数据库Oracle/MySQL在应对故障时保障数据不丢失的机制,以及分析PolarDB和AliSQL在这方面曾经探索的改进措施。 下篇分析蚂蚁的OceanBase在数据安全方面的创新之处。
揭开数据库RPO等于0的秘密(上)
本文分为上下两篇。 上篇分析传统关系数据库Oracle/MySQL在应对故障时保障数据不丢失的机制,以及分析AliSQL和PolarDB在这方面探索的改进措施。下篇分析蚂蚁的OceanBase在数据安全方面的创新之处。
数据库的异地多活分析和方案
做异地多活的前提是应用和数据库都做水平拆分,并且保持规则联动。基于分布式MySQL和OceanBase都可以实现异地多活架构,细节稍有不同。
一些关系数据库的架构总结
本文总结一下接触过的关系型数据库常用的几种架构及其演进历史。分析数据库架构方案的几个视角用发生故障时的高可用性、切换后的数据一致性和扩展性。每个产品都还有自己独特的优势和功能,这里不一定会提到。
分布式数据库的拆分设计实践
并不是换了分布式数据库后,应用性能就一定会提升。也并不是用了分布式数据库后,应用所有场景性能都会提升。
mysql innodb间隙锁示例
innodb的记录锁介绍原文见 http://dev.mysql.com/doc/refman/5.1/en/innodb-record-level-locks.htmlinnodb的记录锁有三种类型:记录锁:是加在索引记录上的。间隙锁:对索引记录间的范围加锁,或者加在最后一个...
oracle 原理学习笔记(一)
一、Redo和Undo1.oracle修改数据基本流程。 oracle的一个特点就是保存数据(这里数据包括任何对data block,undo block的修改)的时候以两种形式保存。一种是保存在数据文件里以数据块...