关系型数据库
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。
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配置项可以打开混合开关。
利用 ApsaraDB For SQL Server各版本高效而低廉地实现关键业务需求
利用 ApsaraDB For SQL Server各版本高效而低廉地实现关键业务需求 1. 什么是SQL Server多版本 微软的SQL Server除了不断迭代的版本升级外,还有从功能差异上分为几个不同的版本。
redis4.0之利用管道优化aofrewrite
redis的aof持久化本质上是一个redo log,把所有执行过的写命令追加到aof文件中。那么随着redis的运行,aof文件会不断膨胀,当触发收缩条件时就要做aofrewrite。 redis是通过fork子进程来做aofrewrite,同时为了保证aof的连续性,父进程把aofrewrite期间的写命令缓存起来,等收割完子进程之后再追加到新的aof文件。
PgSQL · 应用案例 · HDB for PG特性(数据排盘与任意列高效率过滤)
背景 数据也有生辰八字,你信吗?列与列之间,行与行之间,元素与元素之间如何相生相克?查询慢?不要信什么这都是上天注定的,如何给数据改运?看完本文,你也可以做到。 一份天赋,九份努力。缘分天注定。命由天定。又有说我命由我不由天的。看样子中国古人对先天注定的东西研究还挺透彻,看的还挺开,但是也有通过后天努力,或者后天改运等等手段来弥补先天不足的。 实际上在准备写本文时,我发现数据库的数据编
MySQL · 源码分析 · SHUTDOWN过程
ORACLE 中的SHUTDOWN MySQL SHUTDOWN LEVEL 暂时只有一种,源码中留了 LEVEL 的坑还没填 在此借用 Oracle 的 SHUTDOWN LEVEL 分析 Oracle SHUTDOWN LEVEL 共有四种:ABORT、IMMEDIATE、NORMAL、TRANSACTIONAL ABORT 立即结束所有SQL 回滚未提交事务 断开所有用户连
MSSQL· 实现分析 · Extend Event日志文件的分析方法
背景 在前两篇月报分享中,6月份月报我们分享了SQL Server实现审计日志功能的方法探索,最终从可靠性、对象级别、可维护性、开销和对数据库系统影响五个方面得出最佳选项Extend Event;7月份月报我们量化分析了使用Extend Event实现审计日志功能对SQL Server本身的性能和吞吐量的影响,结论是对系统性能和吞吐量影响均在0.01%左右;8月份的月报分享是SQL Server审
PgSQL · 源码分析 · PG 优化器中的pathkey与索引在排序时的使用
概要 SQL在PostgreSQL中的处理,是类似于流水线方式的处理,先后由: 词法、语法解析,生成解析树后,将其交给语义解析 语义解析,生成查询树,将其交给Planner Planner根据查询树,生成执行计划,交给执行器 执行器执行完成后返回结果 数据库优化器在生成执行计划的时候,优化器会考虑是否需要使用索引,而使用了索引之后,则会考虑如何利用索引已经排过序的特点,来优化相
MySQL · 源码分析 · 内存分配机制
前言 内存资源由操作系统管理,分配与回收操作可能会执行系统调用(以 malloc 算法为例,较大的内存空间分配接口是 mmap, 而较小的空间 free 之后并不归还给操作系统 ),频繁的系统调用必然会降低系统性能,但是可以最大限度的把使用完毕的内存让给其它进程使用,相反长时间占有内存资源可以减少系统调用次数,但是内存资源不足会导致操作系统频繁换页,降低服务器的整体性能。 数据库是使用内存的“大
MySQL · 源码分析 · mysql认证阶段漫游
client发起一个连接请求, 到拿到server返回的ok包之间, 走三次握手, 交换了[不可告人]的验证信息, 这期间mysql如何完成校验工作? 过程(三次握手) 信息是如何加密的 client: hash_stage1 = sha1(password) hash_stage2 = sha1(hash_stage1) reply = sha1(scramble, hash_sta
MySQL · 特性分析 · 到底是谁执行了FTWL
什么是FTWL FTWRL是FLUSH TABLES WITH READ LOCK的简称(FTWRL),该命令主要用于保证备份一致性备份。为了达到这个目的,它需要关闭所有表对象,因此这个命令的杀伤性很大,执行命令时容易导致库hang住。如果它在主库执行,则业务无法正常访问;如果在备库,则会导致SQL线程卡住,主备延迟。 FTWRL通过持有以下两把全局的MDL(MetaDataLock)锁: 全
MySQL · 源码分析 · MySQL replication partial transaction
replication 概述 目前MySQL支持的replication方式多种多样 1. 普通的master-slave 异步replication 2. 半同步的semi-sync replication 3. 支持多通道的group replication和double binlog 如果按连接协议来区分,又可以分为 非GTID模式,通过binlog文件名和文件的偏移来决定rep
PgSQL · 特性介绍 · 列存元数据扫描介绍
摘要 本文通过对于阿里云分析型数据库HybridDB for postgresql 数据库的列存扫描的优化特征的解析,让大家了解列存元数据扫描是如何达到提升查询扫描的速度的效果。从而使的分析型查询执行时间进一步缩短。最终能够更好的为阿里云的用户提供更高性价比的服务。 关键字 Meta data scan,HybridDB for postgresql, GreenPlum,column stor
MySQL · 引擎特性 · Group Replication内核解析
背景 为了创建高可用数据库系统,传统的实现方式是创建一个或多个备用的数据库实例,原有的数据库实例通常称为主库master,其它备用的数据库实例称为备库或从库slave。当master故障无法正常工作后,slave就会接替其工作,保证整个数据库系统不会对外中断服务。master与slaver的切换不管是主动的还是被动的都需要外部干预才能进行,这与数据库内核本身是按照单机来设计的理念悉悉相关,并且数