Quantcast
Channel: 数据库内核月报
Browsing all 689 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

PolarDB · 牛逼产品 · 深入了解阿里云新一代产品 PolarDB

背景意义云计算为如今的互联网时代提供了更多的计算能力,乃至创造能力,关系型数据库作为所有应用不可或缺的重要部件,开箱即用,高性价加比特性的云数据库深受开发者的喜爱。作为一线的开发和运维人员,在阿里云的线上值班中,我们经常会碰到以下经典的客户抱怨。“你好,我用了你们的MySQL数据库,为啥在主库上稍微有点压力,我的备库就延迟啊啊啊啊啊,万一物理机挂了,你们这个主备切换到底会不会切过去,强行切过去的话,...

View Article


Image may be NSFW.
Clik here to view.

HybridDB · 最佳实践 · 阿里云数据库PetaData

前言随着互联网DT时代的高速发展,业界需要简单高效的数据处理方式在海量数据中挖掘价值,企业厂商和开源界目前较流行的的做法,是提供支持类SQL接口的数据库服务,或者是提供SDK接口的数据处理平台服务。在SQL接口的数据库服务中,传统的关系数据库,如MySQL、PG等,处理海量数据显得越来越力不从心,既无法突破单机硬件资源限制,又无法并行利用多机硬件资源;大数据NewSQL数据库,必须依赖外部数据库保证...

View Article


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 master...

View Article

Image may be NSFW.
Clik here to view.

MySQL · myrocks · myrocks之Bloom filter

Bloom filter 简介Bloom filter用于判断一个元素是不是在一个集合里,当一个元素被加入集合时,通过k个散列函数将这个元素映射成一个位数组中的k个点,把它们置为1。检索时如果这些点有任何一个为0,则被检元素一定不在;如果都是1,则被检元素很可能在。这就是布隆过滤器的基本思想。优点:布隆过滤器存储空间和插入/查询时间都是常数O(k)。缺点:有一定的误算率,同时标准的Bloom...

View Article

Image may be NSFW.
Clik here to view.

MySQL · 特性分析 · 浅谈 MySQL 5.7 XA 事务改进

关于MySQL XA 事务MySQL XA 事务通常用于分布式事务处理当中。比如在分库分表的场景下,当遇到一个用户事务跨了多个分区,需要使用XA事务 来完成整个事务的正确的提交和回滚,即保证全局事务的一致性。XA...

View Article


Image may be NSFW.
Clik here to view.

MySQL · 特性分析 · 利用gdb跟踪MDL加锁过程

MDL(Meta Data LocK)的作用在MySQL5.1及之前的版本中,如果有未提交的事务trx,当执行DROP/RENAME/ALTER TABLE RENAME操作时,不会被其他事务阻塞住。这会导致如下问题(MySQL...

View Article

Image may be NSFW.
Clik here to view.

MySQL · 源码分析 · Innodb 引擎Redo日志存储格式简介

MySQL有多种日志。不同种类、不同目的的日志会记录在不同的日志文件中,它们可以帮助你找出mysqld内部发生的事情。比如错误日志:用来记录启动、运行或停止mysqld进程时出现的问题;查询日志:记录建立的客户端连接和执行的语句;二进制日志:记录所有更改数据的语句,主要用于逻辑复制;慢日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。而对MySQL中最常用的事务...

View Article

MSSQL · 应用案例 · 日志表设计优化与实现

摘要这篇文章从日志表问题引入、日志表的共有特性、日志表的设计需求、设计思路以及设计详细实现的角度,阐述了在SQL Server数据库中如何最优化设计日志表来降低系统资源的占用和提高系统吞吐量。问题引入在平时与客户服务与交流过程中,我们不止一次的被客人问及这样的场景:我们现在面临如何设计SQL...

View Article


PgSQL · 应用案例 · 海量用户实时定位和圈人-团圆社会公益系统

背景老人、儿童是最容易走丢的人群,一定要看好老人和小孩,但是万一走丢了怎么办呢?阿里有一个公益系统,团圆,这个系统是用来帮助发布走丢人群信息的,公安通过发布的走丢人的照片,最后一次的位置信息,向社会发布。通过公益平台的合作伙伴(例如运营商、购物软件等)可以向最后一次走丢人士出现的位置附近的人推送寻人启事,调动社会力量帮助寻找丢失人。为了实现这个目的,需要收集社会人士的实时位置,现在有很多技术可以实现...

View Article


MySQL · 源码分析 · 一条insert语句的执行过程

本文只分析了insert语句执行的主路径,和路径上部分关键函数,很多细节没有深入,留给读者继续分析create table t1(id int);insert into t1 values(1)略过建立连接,从 mysql_parse() 开始分析void mysql_parse(THD *thd, char *rawbuf, uint length, Parser_state...

View Article

Image may be NSFW.
Clik here to view.

PgSQL · 特性分析 · MVCC机制浅析

背景我们在使用PostgreSQL的时候,可能会碰到表膨胀的问题(关于表膨胀可以参考之前的月报),即表的数据量并不大,但是占用的磁盘空间比较大,查询比较慢。为什么PostgreSQL有可能发生表膨胀呢?这是因为PostgreSQL引入了MVCC机制来保证事务的隔离性,实现数据库的隔离级别。在数据库中,并发的数据库操作会面临脏读(Dirty Read)、不可重复读(Nonrepeatable...

View Article

MySQL · 性能优化· CloudDBA SQL优化建议之统计信息获取

阿里云CloudDBA具有SQL优化建议功能,包括SQL重写建议和索引建议。SQL索引建议是帮助数据库优化器创造最佳执行路径,需要遵循数据库优化器的一系列规则来实现。CloudDBA需要首先计算表统计信息,是因为:数据库优化器通常是基于代价寻找执行路径;SQL优化建议所针对的数据库不限于MySQL数据库,也不局限于某一个特定版本;1....

View Article

MySQL · 引擎特性 · InnoDB mini transation

前言InnoDB有两个非常重要的日志,undo log 和 redo log;通过undo log可以看到数据较早版本,实现MVCC,或回滚事务等功能;redo log用来保证事务持久性本文以一条insert语句为线索介绍 mini transactionmini transaction 简介mini transation 主要用于innodb redo log 和 undo...

View Article


Image may be NSFW.
Clik here to view.

MySQL · 特性介绍 · 一些流行引擎存储格式简介

概述本文简要介绍了一些存储引擎存储结构,包括InnoDB, TokuDB, RocksDB, TiDB, CockroachDB, 供大家对比分析InnoDBInnoDB 底层存储结构为B+树,结构如下 B树的每个节点对应innodb的一个page,page大小是固定的,一般设为16k。其中非叶子节点只有键值,叶子节点包含完整数据。 InnoDB按segment, extent,...

View Article

Image may be NSFW.
Clik here to view.

MSSQL · 架构分析 · 从SQL Server 2017发布看SQL Server架构的演变

摘要美国时间2017年10月2日,微软正式发布了最新一代可以运行在Linux平台的数据库SQL Server 2017。SQL Server 2017给用户带来了一系列的新功能特性的同时,也体现了微软关于自家关系型数据库平台建设方面的最新设计与思考。这篇文章旨在介绍SQL Server 2017新特性,以及微软是如何从架构层面的演进来快速实现Linux平台的SQL Server 2017产品。SQL...

View Article


MySQL · 引擎介绍 · Sphinx源码剖析(三)

在本节中我会介绍Sphinx在构建索引之前做的一些事情,主要是从mysql拉取数据保存,然后分词排序保存到内存等等一系列的操作。下面是几个相关指令 sql_query = \ SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, \ title, content \ FROM documents sql_query_range...

View Article

PgSQL · 内核开发 · 如何管理你的 PostgreSQL 插件

一.背景我们都知道 PostgreSQL 提供了丰富数据库内核编程的接口,允许开发者以插件的形式把功能融入数据库内核。PostgreSQL 提供了一个插件管理模块,用于管理用户创建的插件。本文给大家介绍 PostgreSQL 插件管理模块,帮助大家管理自己的插件。二.PostgreSQL的插件内容通常一个 PostgreSQL 内核插件包括下面的部分1. 包含功能的逻辑的动态库,即 so 文件。2....

View Article


Image may be NSFW.
Clik here to view.

MySQL · 特性分析 · 数据一样checksum不一样

背景有一个特殊环境需要进行人肉迁移数据,对比了表里的数据一模一样,但是无论如何checksum就是不一致,那么问题出在哪里呢?问题排查数据是否一致眼睛都把屏幕盯穿了,也没发现不一致的数据。导出数据的方式...

View Article

Image may be NSFW.
Clik here to view.

PgSQL · 应用案例 · 经营、销售分析系统DB设计之共享充电宝

背景共享充电宝、共享单车、共享雨伞,共享女朋友^|^,共享汽车,。。。...

View Article

MySQL · 捉虫动态 · 信号处理机制分析

背景在 AliSQL上面有人提交了一个 bug,在使用主备的时候 service stop mysql 不能关闭主库,一直显示 shutting down mysql …,到底怎么回事呢,先来看一下 service stop mysql 是怎么停止数据库的。配置 MySQL 在系统启动时启动需要把 MYSQL_BASEDIR/support-files 目录下的脚本 mysql.sever 放到...

View Article
Browsing all 689 articles
Browse latest View live