关系型数据库
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。
MySQL · 特性介绍 · 一些流行引擎存储格式简介
概述 本文简要介绍了一些存储引擎存储结构,包括InnoDB, TokuDB, RocksDB, TiDB, CockroachDB, 供大家对比分析 InnoDB InnoDB 底层存储结构为B+树,结构如下 B树的每个节点对应innodb的一个page,page大小是固定的,一般设为16k。 其中非叶子节点只有键值,叶子节点包含完整数据。 InnoDB按segment, exte
MySQL · 引擎特性 · InnoDB mini transation
前言 InnoDB有两个非常重要的日志,undo log 和 redo log;通过undo log可以看到数据较早版本,实现MVCC,或回滚事务等功能;redo log用来保证事务持久性 本文以一条insert语句为线索介绍 mini transaction mini transaction 简介 mini transation 主要用于innodb redo log 和 undo log写
MySQL · 引擎特性 · InnoDB mini transation
前言 InnoDB有两个非常重要的日志,undo log 和 redo log;通过undo log可以看到数据较早版本,实现MVCC,或回滚事务等功能;redo log用来保证事务持久性 本文以一条insert语句为线索介绍 mini transaction mini transaction 简介 mini transation 主要用于innodb redo log 和 undo log写
MySQL · 性能优化· CloudDBA SQL优化建议之统计信息获取
阿里云CloudDBA具有SQL优化建议功能,包括SQL重写建议和索引建议。SQL索引建议是帮助数据库优化器创造最佳执行路径,需要遵循数据库优化器的一系列规则来实现。CloudDBA需要首先计算表统计信息,是因为: 数据库优化器通常是基于代价寻找执行路径; SQL优化建议所针对的数据库不限于MySQL数据库,也不局限于某一个特定版本; 1. 基本原则 数据库统计信息在SQL优化起到重要作
MySQL · 性能优化· CloudDBA SQL优化建议之统计信息获取
阿里云CloudDBA具有SQL优化建议功能,包括SQL重写建议和索引建议。SQL索引建议是帮助数据库优化器创造最佳执行路径,需要遵循数据库优化器的一系列规则来实现。CloudDBA需要首先计算表统计信息,是因为: 数据库优化器通常是基于代价寻找执行路径; SQL优化建议所针对的数据库不限于MySQL数据库,也不局限于某一个特定版本; 1. 基本原则 数据库统计信息在SQL优化起到重要作
PgSQL · 特性分析 · MVCC机制浅析
背景 我们在使用PostgreSQL的时候,可能会碰到表膨胀的问题(关于表膨胀可以参考之前的月报),即表的数据量并不大,但是占用的磁盘空间比较大,查询比较慢。为什么PostgreSQL有可能发生表膨胀呢?这是因为PostgreSQL引入了MVCC机制来保证事务的隔离性,实现数据库的隔离级别。 在数据库中,并发的数据库操作会面临脏读(Dirty Read)、不可重复读(Nonrepeatable
PgSQL · 特性分析 · MVCC机制浅析
背景 我们在使用PostgreSQL的时候,可能会碰到表膨胀的问题(关于表膨胀可以参考之前的月报),即表的数据量并不大,但是占用的磁盘空间比较大,查询比较慢。为什么PostgreSQL有可能发生表膨胀呢?这是因为PostgreSQL引入了MVCC机制来保证事务的隔离性,实现数据库的隔离级别。 在数据库中,并发的数据库操作会面临脏读(Dirty Read)、不可重复读(Nonrepeatable
MySQL8.0新特性:增加系统文件追踪space ID和物理文件的映射
Note1: 本文所有代码相关的内容都是基于MySQL8.0.3,而目前版本还处于RC和快速开发的状态,不排除后面的版本逻辑,函数名等发生变化。Note2: 主要代码在这个commit 中,感兴趣的也可以自行阅读代码Note3: 本文仅是本人的阅码笔记,记录的比较凌乱。
使用SQL Server 助力解决全行业数字化能力
作为数十载一直从事SQL Server的资深爱好者,深刻感受到SQL Server提供优秀的性能和功能给用户带来的利益和便利性。纵观全世界的数据库,无论NOSQL、大数据如何引领时代潮流,但都离不开关系数据库作为基础数据库源。
阿里云数据库CloudDBA智慧解决数据库性能优化和问题诊断难题
阿里云数据库从9月28号起开始在控制台推出CloudDBA功能,通过客户申请的方式灰度打开,助力客户快速定位诊断问题,优化数据库,帮助客户更高效的使用云数据库。此项功能集相信会成为云数据库的标准配置。
王思聪"吃翔"项目 - 共享充电宝 - 经营、销售分析系统DB设计实践
标签 PostgreSQL , 物联网、共享充电宝 , 经营分析系统 , 多表关联 , 明细补齐 , 取缔关联 , ltree树类型 , 并行计算 , PostgreSQL 10黑科技 , 销售管理 背景 共享充电宝、共享单车、共享雨伞,共享女朋友^|^,共享汽车,。
MySQL · 源码分析 · 一条insert语句的执行过程
本文只分析了insert语句执行的主路径,和路径上部分关键函数,很多细节没有深入,留给读者继续分析 create table t1(id int); insert into t1 values(1) 略过建立连接,从 mysql_parse() 开始分析 void mysql_parse(THD *thd, char *rawbuf, uint length,
PgSQL · 应用案例 · 海量用户实时定位和圈人-团圆社会公益系统
背景 老人、儿童是最容易走丢的人群,一定要看好老人和小孩,但是万一走丢了怎么办呢? 阿里有一个公益系统,团圆,这个系统是用来帮助发布走丢人群信息的,公安通过发布的走丢人的照片,最后一次的位置信息,向社会发布。 通过公益平台的合作伙伴(例如运营商、购物软件等)可以向最后一次走丢人士出现的位置附近的人推送寻人启事,调动社会力量帮助寻找丢失人。 为了实现这个目的,需要收集社会人士的实时位置,现在有
MSSQL · 应用案例 · 日志表设计优化与实现
摘要 这篇文章从日志表问题引入、日志表的共有特性、日志表的设计需求、设计思路以及设计详细实现的角度,阐述了在SQL Server数据库中如何最优化设计日志表来降低系统资源的占用和提高系统吞吐量。 问题引入 在平时与客户服务与交流过程中,我们不止一次的被客人问及这样的场景:我们现在面临如何设计SQL Server日志表方案,如何最优化设计数据库日志记录表。因为,日志表设计会面对如下问题: 表记
MySQL · 源码分析 · Innodb 引擎Redo日志存储格式简介
MySQL有多种日志。不同种类、不同目的的日志会记录在不同的日志文件中,它们可以帮助你找出mysqld内部发生的事情。比如错误日志:用来记录启动、运行或停止mysqld进程时出现的问题;查询日志:记录建立的客户端连接和执行的语句;二进制日志:记录所有更改数据的语句,主要用于逻辑复制;慢日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。而对MySQL中最常用的事
MySQL · 特性分析 · 利用gdb跟踪MDL加锁过程
MDL(Meta Data LocK)的作用 在MySQL5.1及之前的版本中,如果有未提交的事务trx,当执行DROP/RENAME/ALTER TABLE RENAME操作时,不会被其他事务阻塞住。这会导致如下问题(MySQL bug#989) master: 未提交的事务,但SQL已经完成(binlog也准备好了),表schema发生更改,在commit的时候不会被察觉到. slave
MySQL · 特性分析 · 浅谈 MySQL 5.7 XA 事务改进
关于MySQL XA 事务 MySQL XA 事务通常用于分布式事务处理当中。比如在分库分表的场景下,当遇到一个用户事务跨了多个分区,需要使用XA事务 来完成整个事务的正确的提交和回滚,即保证全局事务的一致性。 XA 事务在分库分表场景的使用 下图是个典型的分库分表场景,前端是一个Proxy后面带若干个MySQL实例,每个实例是一个分区。 假设一个表test定义如下,Proxy根据主键”a
MySQL · myrocks · myrocks之Bloom filter
Bloom filter 简介 Bloom filter用于判断一个元素是不是在一个集合里,当一个元素被加入集合时,通过k个散列函数将这个元素映射成一个位数组中的k个点,把它们置为1。检索时如果这些点有任何一个为0,则被检元素一定不在;如果都是1,则被检元素很可能在。这就是布隆过滤器的基本思想。 优点:布隆过滤器存储空间和插入/查询时间都是常数O(k)。 缺点:有一定的误算率,同时标准的Bloo
MySQL · 捉虫动态 · show binary logs 灵异事件
问题背景 最近在运维 MySQL 中遇到一个神奇的问题,分享给大家。现象是这样的,show binary logs 没有返回结果,flush binary logs 后也不行, 但是 binlog 是正常工作的,show master staus 是有输出的。 mysql> show binary logs; Empty set (0.00 sec) mysql> show ma
HybridDB · 最佳实践 · 阿里云数据库PetaData
前言 随着互联网DT时代的高速发展,业界需要简单高效的数据处理方式在海量数据中挖掘价值,企业厂商和开源界目前较流行的的做法,是提供支持类SQL接口的数据库服务,或者是提供SDK接口的数据处理平台服务。 在SQL接口的数据库服务中,传统的关系数据库,如MySQL、PG等,处理海量数据显得越来越力不从心,既无法突破单机硬件资源限制,又无法并行利用多机硬件资源;大数据NewSQL数据库,必须依赖外部数
专访微软SQL项目组高级产品经理:SQL Server新技术与云化技术支持
SQL Server是著名的稳定且高效的数据库产品,提供了各种丰富的功能,满足用户在各行各业的应用,阿里云数据库团队为满足用户需求,推出了基于SQL Server产品的数据库全套解决方案,从安装、使用,运维、监控、诊断与销毁等全链路角度提供高性能、高安全、高弹性的数据库产品。
redis4.0之lazyfree
DEL删除体积较大的键,或FLUSHDB和FLUSHALL清空包含大量键的数据库时,会造成redis阻塞。redis 4.0 引入了lazyfree的机制,它可以将删除键或数据库的操作放在后台线程里执行,从而尽可能地避免服务器阻塞。
MongoDB serverStatus.globalLock 深入解析
MongoDB的用户在遇到性能问题时,经常会关注到 serverStatus.globalLock 指标,但对指标的含义不是很明确,本文会深入解释下 globalLock 指标的含义。 PRIMARY> db.
redis4.0之RDB-AOF混合持久化
redis有两种持久化的方式——RDB和AOF,RDB是一份内存快照,AOF则为可回放的命令日志,他们两个各有特点也相互独立。4.0开始允许使用RDB-AOF混合持久化的方式,结合了两者的优点,通过aof-use-rdb-preamble配置项可以打开混合开关。