PgSQL · 应用案例 · pgbench client_id 变量用途

背景 pgbench是 PG内置的一款压测工具,效率非常高。内置tpcb测试模型,并且支持自定义压测模型(内置了非常丰富的变量生成函数,操作符,函数,变量。同时支持shell 调用结果作为变量传输。支持多个压测文件,文件权重设置等)。 详见 https://www.postgresql.org/docs/current/pgbench.html 由于pgbench支持客户端并行,可以开启多个链接进行测试。每个链接有一个唯一的标示: client_id : uniqu

Redis · 最佳实践 · 混合存储实践指南

Redis 混合存储实例是阿里云自主研发的兼容Redis协议和特性的云数据库产品,混合存储实例突破 Redis 数据必须全部存储到内存的限制,使用磁盘存储全量数据,并将热数据缓存到内存,实现访问性能与存储成本的完美平衡。 架构及特性 命令兼容 混合存储兼容绝大多数 Redis 命令,与原生 Redis 相比,如下命令不支持或受限制;不支持的主要原因是考虑到性能,如业务中有使用到,请提交工单。 Keys(键) List(链表

MySQL · 引擎特性 · ROLLUP 功能用法和实现

在数据库查询语句中,在 GROUP BY 表达式之后加上 WITH ROLLUP 语句,可以在查询结果中包含更多高层级的统计输出。ROLLUP 功能使得可以通过单个查询语句来实现对数据进行不同层级上的分析与统计。因此,ROLLUP 功能能够很好得为 OLAP(Online Analytical Processing) 任务提供支持。 在本篇文章中,将会对 ROLLUP 的功能、用法、使用场景进行介绍并给出示例。也会从内核层面对 ROLLUP 的实现原理和方式进行阐述,包括逻

PgSQL · 特性分析 · 浅析PostgreSQL 的JIT

背景 估计很多同学看过之前的月报PgSQL · 特性分析· JIT 在数据仓库中的应用价值,对JIT(just in time)和LLVM(Low Level Virtual Machine)有了一定的了解。概括地来说: JIT 指的是即时编译,即程序在运行过程中即时进行编译,其中可以把编译的中间代码缓存或者优化。相对于静态编译代码,即时编译的代码可以处理延迟绑定并增强安全性。 LLVM 就提供了一种在程序运行时编译执行代码的程序框架,它对外提供API,使实现JIT

MSSQL · 最佳实践 · 启用即时文件初始化

问题引入 某天,假设您所在公司的生产订单库大库(假设超过1TB)Crash掉了,此时,做为DBA的您,不得不从备份文件中快速将数据库还原出来。但是您发现,这个数据库还原操作初期长达小时时间始化在做数据文件零填充初始操作。于是,您想能否跳过这个数据库文件的初始化操作,快速的还原数据库呢?答案是肯定的,就是我们今天要分享的SQL Server即时文件初始化技术。 什么是即时文件初始化 在即时文件初始化技术面世之前(或者未开启即时文件初始化)的场景中,SQL Server数据

MySQL · 引擎特性 · clone_plugin

背景 mysql官方在8.0.17 release了克隆实例功能,它能让用户很方便的在空实例上通过简单的sql命令把远端实例拷贝到本地并替换后重新提供服务,该功能由一系列的worklog实现: worklog9209实现本地clone,它完成clone核心功能开发。 worklog9210在本地克隆的基础上实现远程克隆,通过新加协议,以流的方式把实例克隆到其他服务器上。 worklog9211完成获取,传输和保存克隆位点的功能,方便克隆实例能够正确的加入到被克隆集群中。

Database · 内存管理 · JeMalloc-5.1.0 实现分析

JeMalloc 是一款内存分配器,与其它内存分配器相比,它最大的优势在于多线程情况下的高性能以及内存碎片的减少。 这篇文章介绍 JeMalloc-5.1.0 版本(release 日期:2018年5月9日)的实现细节。 对于对老版本比较熟悉的人来说,有几点需要说明: chunk 这一概念被替换成了 extent dirty page 的 decay(或者说 gc) 变成了两阶段,dirty -> muzzy -> retained huge

MySQL · 引擎特性 · 8.0 Innodb redo log record 源码分析

Introduction redo log对于innodb高效实现事务有至关重要的作用,关于redo log的介绍目前已有许多资料,但大都针对MySQL 5.6、MySQL 5.7版本,内容大都聚集在redo log与事务、redo log与恢复、checkpoint技术等特性上,对于redo log record本身却很少有(甚至几乎没有)资料介绍。目前8.0.16版本,redo log record一共有64种类型,对每种类型都进行详细分析是困难的。本文针对insert语

AliSQL · 引擎特性 · Recycle Bin

背景 MySQL 在生产环境使用过程中,会伴随着开发和运维人员的误操作,比如 DROP TABLE / DATABASE,这类 DDL 语句不具有可操作的回滚特性,而导致数据丢失,AliSQL 8.0 新特性支持回收站功能(Recycle Bin),临时把删除清理的表转移到回收站,并保留可设置的时间,方便用户找回数据。为了方便,提供了 DBMS_RECYCLE package 作为管理接口 Recycle Bin 管理接口 Recycle Bin 提供了两个管理接口,分别

PgSQL· 引擎特性 · 多版本并发控制介绍及实例分析

前言 PostgreSQL 内部通过多版本并发控制MVCC模型来维护。这意味着每个SQL语句看到的可能都是一小段时间以前某本版本的数据快照,而非当前数据最新的状态。这样可以避免并发写操作而造成的数据不一致问题。每个数据库都提供事务隔离机制,MVCC避免了强锁定方法,通过锁征用最小化来保障多用户环境下查询的性能。使用这一套模型最主要的优点是MVCC中读写请求并不冲突,读写互相不会阻塞。 PostgreSQL 元组 PostgreSQL中表以元组(堆)的形式存储,元组的