关系型数据库
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。
三体PCC大赛题目 - facebook\微博 like场景 数据库设计与性能压测
标签 PostgreSQL , pipelinedb , facebook , 微博 , 流式统计 背景 高可用架构的一个PCC大赛,看了一下比赛规则,发现PostgreSQL很适合做这个场景,原样复刻,使用PG实现以及性能表现到底如何? 比赛内容介绍如下 https://github.
GIS业务,附近查找性能优化
标签 PostgreSQL , PostGIS , KNN , order by 距离 sort 优化 背景 空间数据中对临近点的检索使用非常常见, 例如以经纬度为坐标点, 检索离这个点1公里范围内的其他点的信息. 最近有网友问到这样的问题,如何优化呢. ps 现在的版本可以直接支持,不需要使用子查询来支持了。
索引顺序扫描引发的heap scan IO放大, 背后的统计学原理与解决办法
标签 PostgreSQL , 优化器 , 索引扫描 , 堆扫描 , IO放大 背景 通过B-TREE索引扫描可能会带来了巨大的heap page scan数目,即IO的放大. 为什么呢? 示例视频如下 : http://www.tudou.com/programs/view/yQ0SzBqx_4w/ 如果数据库的单个数据块(block_size)很大的话, 这种情况带来的负面影响也将被放大. 例如32k的block_size显然比8k的block_size扫描开销更大. 本文将讲解一下索引扫描引发的heap page scan放大的原因, 以及解决办法。
PostgreSQL 十亿级模糊查询最佳实践
标签 PostgreSQL , 模糊查询 , 正则查询 , pg_trgm , bytea , gin , 函数索引 背景 前模糊(有前缀的模糊),后模糊(有后缀的模糊),前后模糊(无前后缀的模糊),正则匹配都属于文本搜索领域常见的需求。
MySQL · 捉虫动态 · 5.7 mysql_upgrade 元数据锁等待
问题描述 如下图,mysql_upgrade 过程中,执行 DROP DATABASE IF EXISTS performance_schema 一直在等待 metadata lock 问题排查 简单粗暴的方法 有一种简单的解决方法,把其他连接kill掉,释放 metadata lock 对于这个案例,占用元数据锁的是 Id = 107768,User = xx1 的连接 但是这种
HybridDB · 稳定性 · HybridDB如何优雅的处理Out Of Memery问题
前言 你是否遇到过数据库服务器的Out Of Memory(OOM)现象?就是数据库的进程把操作系统内存耗尽,触发操作系统对数据库进程执行Kill -9操作。操作系统对某个数据库进程的Kill,会导致整个数据库实例所有实例重启,所有连接会断开,造成一定时间的数据库不可用。OOM对数据库服务影响较大,应该尽量避免。 在我们的HybridDB for PG 云服务中,也可能遇到用户实例耗尽所有可用
TokuDB · 捉虫动态 · MRR 导致查询失败
问题背景 最近有用户在使用 TokuDB 时,遇到了一个查询报错的问题,这里给大家分享下。 具体的报错信息是这样的: mysql> select * from t2 where uid > 1 limit 10; ERROR 1030 (HY000): Got error 1 from storage engine 表结构如下: CREATE TABLE `t2` ( `
MSSQL · 应用案例 · 基于内存优化表的列存储索引分析Web Access Log
问题引入 在日常的网站运维工作中,我们需要对网站客户端访问情况做统计、汇总、分析和报表展示,以数据来全面掌控网站运营和访问情况。当不可预知的意外情况发生时,我们可以快速发现问题以及采取相应的措施。比如:当网站受到黑客攻击时的流量陡增,又或者是网站某个资源发生意外抛异常等情况。 在提供Web服务的服务器上,比如IIS、Apache都存在访问日志记录,这篇是文章是以SQL Server 2016基于内
PgSQL · 应用案例 · 逻辑订阅给业务架构带来了什么?
背景 逻辑订阅是PostgreSQL 10.0的新特性。 具体的原理,使用方法可以参考如下文章。 《PostgreSQL 10.0 preview 逻辑订阅 - 原理与最佳实践》 《PostgreSQL 10.0 preview 逻辑订阅 - pg_hba.conf变化,不再使用replication条目》 《PostgreSQL 10.0 preview 逻辑订阅 - 备库支持逻辑订阅,
MySQL · 特性分析 · common table expression
common table expression Common table expression简称CTE,由SQL:1999标准引入, 目前支持CTE的数据库有Teradata, DB2, Firebird, Microsoft SQL Server, Oracle (with recursion since 11g release 2), PostgreSQL (since 8.4), Mar
PgSQL · 特性分析 · checkpoint机制浅析
背景 上期月报PgSQL · 特性分析 · Write-Ahead Logging机制浅析中简单介绍了PostgreSQL中WAL机制,其中讲到如果是创建checkpoint会触发刷新xlog日志页到磁盘,本文主要分析下PostgreSQL中checkpoint机制。 checkpoint又名检查点,一般checkpoint会将某个时间点之前的脏数据全部刷新到磁盘,以实现数据的一致性与完整性。
MySQL · 引擎介绍 · Sphinx源码剖析(二)
在本节中,我将会介绍索引文件sph的生成,从上一节我们得知sph文件保存了Sphinx的索引元信息以及一些索引相关的配置信息 SPH文件生成 先来看代码,其中sph文件的生成是在CSphIndex_VLN::WriteHeader这个函数中: bool CSphIndex_VLN::WriteHeader ( const BuildHeader_t & tBuildHeader,
MYSQL · 新特性 · MySQL 8.0对Parser所做的改进
背景介绍 众所周知,MySQL Parser是利用C/C++实现的开源yacc/lex组合,也就是 GNU bison/flex。Flex负责生成tokens, Bison负责语法解析。开始介绍MySQL 8.0的新特新之前,我们先简单了解一下通用的两种Parser。一种是Bottom-up parser,另外一种是Top-down parser。 Bottom-up parser Bottom
MySQL · 源码分析 · MySQL 半同步复制数据一致性分析
简介 MySQL Replication为MySQL用户提供了高可用性和可扩展性解决方案。本文介绍了MySQL Replication的主要发展历程,然后通过三个参数rpl_semi_sync_master_wait_point、sync_binlog、sync_relay_log的配置简要分析了MySQL半同步的数据一致性。 MySQL Replication的发展 在2000年,MySQ