开发者社区> 数据库> 关系型数据库

关系型数据库

关注

阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。

0
今日
4668
内容
33
活动
990
关注
|
存储 关系型数据库 数据库
|

MySQL · 引擎特性 · Infobright 列存数据库

简介 系统架构 存储引擎 优化器和执行器 数据装载和卸载 领域知识 查询优化 简单场景的示例 小结 存储结构 Data Pack Knowledge Node 数据压缩 总结 简介 Infobright 是一个面向 OLAP 场景的开源列

4204 0
|
SQL 数据挖掘 关系型数据库
|

PgSQL · 特性分析· JIT 在数据仓库中的应用价值

背景 近几年,分析型数据库中有项技术得到了广泛的应用。它就是 JIT(Just-in-time compilation)动态编译。还有一些相关名词 LLVM codegen 和这项技术相关。本文把这项技术做一个简单的分析,和大家分享。 一、JIT 是什么 长久以来数据仓库都是以高效的处理量数据的能力著称。随着硬件的发展,他们使用大量相关技术充分挖掘硬件的能力提高数据的吞吐量和处理效率。例如 SM

1625 0
|
算法 关系型数据库 定位技术
|

PgSQL · GIS应用 · 物流, 动态路径规划

背景 双十一背后的技术系列文章 《聊一聊双十一背后的技术 - 分词和搜索》 每年双十一的交易额都创新高,今年也不例外,双十一几乎成了各种IT系统的大考,物流也不例外。 每次双十一快递几乎都被爆仓,但是随着技术的发展,今年,听说双十一刚过,小伙伴们的包裹差不多都收到了,今年的快递效率怎么如此之高呢? 今天,来给大家分享一下物流与背后的数据库技术,当然我讲的还是PostgreSQL, Gre

2963 0
|
SQL 搜索推荐 Go
|

MSSQL · 最佳实战 · 巧用COLUMNS_UPDATED获取数据变更

业务场景 在平时与数据库打交道的过程中,我们经常会有这样的疑惑:如何快速的获取数据变更记录呢?举个例子,搜索引擎要为外部客人提供快速准确的商品信息搜索功能,那么当有新的商品数据变更后,搜索引擎如何快速的发现这些新的变更数据呢?我们常见的两种做法: 全量更新 这种方法最为简单直接,反正不管三七二十一,搜索引擎每次全量拉取商品信息表所有数据,然后创建搜索索引,提供给外部客人查询。这种方法实现起来的确

1426 0
|
并行计算 关系型数据库 测试技术
|

PgSQL · 特性分析 · PostgreSQL 9.6 让多核并行起来

背景 经过多年的酝酿(从支持work process到支持动态fork共享内存,再到内核层面支持并行计算),PostgreSQL 的多核并行计算功能终于在2016年发布的9.6版本中正式上线,为PG的scale up能力再次拔高一个台阶,标志着开源数据库已经攻克了并行计算的难题。 相信有很多小伙伴已经开始测试了。 在32物理核的机器上进行了测试,重计算的场景,性能程线性提升。 目前并行计算支

5786 0
|
SQL 关系型数据库 测试技术
|

PgSQL · 特性分析 · PostgreSQL 9.6 如何把你的机器掏空

背景 PostgreSQL 在向和纵向的扩展能力在开源数据库中一直处于非常领先的地位,例如今年推出的9.6,内置了sharding的功能,同时在scale-up的能力也有非常明显的提升,特别是在多核与高并发处理这块。 社区有同学在128核的机器上测试tpc-b的select only模式可以达到几百万的qps,机器的CPU资源被吃光光。 天下大势,分久必合,合久必分。谈了这么多年的shardi

6242 0
|
搜索推荐 关系型数据库 MySQL
|

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

介绍 Sphinx是一个全文索引引擎,他被设计为可以非常简单方便的与各种数据库(mysql,PG…)进行交互。它提供了两种读取接口,a) sphinx自己实现的mysql协议的接口, SphinxQL。b) 各种语言客户端的接口,也就是native搜索API. c) 也可以直接通过mysql server的一个存储引擎插件来访问, SphinxSE. 接下来我们会有一些列文章来分析Sphinx

2902 0
|
存储 自然语言处理 AliSQL
|

MySQL · 引擎特性 · Column Compression浅析

前言 当用户的数据量比较大时,通常需要对数据进行压缩,以减少磁盘占用。InnoDB目前有两种方式来实现这一目的。 第一种是传统的数据压缩,通过指定row_format及key_block_size,能够将用户表压缩到指定的page size并进行存储,默认使用zlib。这种压缩方式使用比较简单,但也是诟病较多的, 代码陈旧,相关代码基本上几个大版本都没发生过变化,一些优化点还是从faceboo

2002 0
|
存储 关系型数据库 索引
|

MySQL · TokuDB · rbtree block allocator

背景 Percona在今年8月引入了一个大patch “rb tree block allocation strategy”,使用变种的红黑树作为跟踪未使用block hole的数据结构。 Percona上对此介绍的连接(点击这里跳转到原文) 这个改进是基于percona内部性能测试和外部用户反馈,发现当TokuDB引擎在长时间写入压力比较大的场景下,随着时间增长写入性能会急剧下降;当采用s

1480 0
|
存储 关系型数据库 MySQL
|

MySQL · myrocks · myrocks之事务处理

前言 mysql目前支持的事务引擎有innodb,tokudb。 rocksdb加入mysql阵营后,mysql支持的事务引擎增长至3个。 myrocks目前支持的事务隔离级别有read-committed和repeatable-read。 同innodb一样,myrocks也支持MVCC机制。 可以说,myrocks提供了很好的事务支持,能够满足的一般业务的事务需求。 sequence n

2509 0
|
关系型数据库 数据库 PostgreSQL
|

PgSQL · 特性分析 · 金融级同步多副本分级配置方法

背景 对于金融级的应用场景,2个副本通常是不够的,用户可能会需要多个副本。 例如,一主4从,要求除了主以外,还需要2个同步的副本,其他可以为异步的副本。 另一方面,我们在使用数据库时,为了扩展读的能力,读写分离是比较常见的用法。 9.6以前的版本,同步复制是确保XLOG已经复制到备库,而不是已经在备库apply,虽然APPLY通常都很快,可能也在毫秒级别完成,但是以前没有apply级别的

1278 0
|
SQL 存储 缓存
|

SQL Server · 最佳实践 · 参数嗅探问题

摘要 MSSQL Server参数嗅探既是一个涉及知识面非常广泛,又是一个比较难于解决的课题,即使对于数据库老手也是一个比较头痛的问题。这篇文章从参数嗅探是什么,如何产生,表象是什么,会带来哪些问题,如何解决这五个方面来探讨参数嗅探的来龙去脉,期望能够将SQL Server参数嗅探问题理清楚,道明白。 什么参数嗅探 当SQL Server第一次执行查询语句或存储过程(或者查询语句与存储过程被强制

2081 0
|
JSON 关系型数据库 MySQL
|

MySQL · 特性分析 · 直方图的实现与分析

直方图(Histogram)是 RDBMS 中提供的一种基础的统计信息,最典型的用途是估计查询谓词的选择率,以便选择优化的查询执行计划。常见的直方图种类有:等宽直方图、等高直方图、V-优化的直方图,MaxDiff 直方图等等。RDBMS 产品最初使用的直方图非常简单(只有一个桶),后来逐步演化到等宽直方图、等高直方图等。MariaDB 10.0.2 就已在 server 层实现了直方图功能,参考T

2632 0
|
关系型数据库 PostgreSQL
|

PgSQL · 代码浅析 · PostgreSQL 9.6 聚合OP复用的优化分析

背景 聚合操作指将分组的数据聚合为一个结果输出。 聚合通常用在统计应用中,例如统计分组的最大值,最小值,记录数,平均值,方差,截距,相关性。 聚合也可能被用于文本分析或者图像分析等,例如最佳相似度,行列变换,聚合为数组或JSON,图像堆叠等。 因此聚合通常需要启动值,行的处理,以及结果的格式转换3个过程。 PostgreSQL的聚合也包含了以上三个过程,创建一个聚合函数的语法如下: CR

2083 0
|
存储 缓存 关系型数据库
|

PgSQL · 代码浅析 · PostgreSQL 可靠性分析

背景 PostgreSQL 可靠性与大多数关系数据库一样,都是通过REDO来保障的。 群里有位童鞋问了一个问题,为什么PostgreSQL的REDO块大小默认是8K的,不是512字节。 这位童鞋提问的理由是,大多数的块设备扇区大小是512字节的,512字节可以保证原子写,而如果REDO的块大于512字节,可能会出现partial write。 那么PostgreSQL的redo(wal) 块

2585 0
|
SQL 关系型数据库 MySQL
|

MySQL · 源码分析 · 无法revoke单库或单表权限

现象 对于拥有全局权限的用户,无法revoke单库或单表的权限,示例如下 mysql> grant select on *.* to 'xx1'@'localhost'; Query OK, 0 rows affected (0.00 sec) mysql> revoke select * test.* from 'xx1'@'localhost'; ERROR 1141 (420

1708 0
|
存储 关系型数据库 MySQL
|

MySQL · myrocks · data dictionary 分析

data dictionary rocksdb作为mysql的一个新的存储引擎,在存储引擎层,会维护自已的元数据信息。在innodb存储引擎中,我们通过information_schema下的INNODB_SYS_DATAFILES,INNODB_SYS_TABLES,INNODB_SYS_INDEXES等表, 可以窥视innodb的元数据信息。同样,rocksdb通过information_

1664 0
|
Oracle 关系型数据库 MySQL
|

MySQL · 社区见闻 · Percona Live 2016 见闻

前言 今年的 Percona Live 时间很凑巧,正好夹在 Oracle Open World 和 MariaDB 开发者大会之间,而且跟 MariaDB 开发者大会一样在阿姆斯特丹,因此蹭了 MariaDB Foundation 的免费票去参加了 Percona Live。 从纽约飞阿姆斯特丹时,从芬兰赫尔辛基中转呆了一天,承蒙祖师爷 Monty 厚爱到他家住了一天,简直就是黑客帝国……

2228 0
|
关系型数据库 MySQL 数据安全/隐私保护
|

MySQL · 社区见闻 · MariaDB Developer Meeting 2016

高能预警:这还不是一篇纯技术的月报…… 前言 Percona Live 之后紧接着第二天就是 MariaDB Developer Meeting,会议地点就在Booking的办公大楼这次会议的主题就是讨论 10.3 的规划,以及 10.2 的 GA 计划,以及还需要加入 10.2 的功能。 先哭一会别人家的办公楼,这风景。 MariaDB Foundation 不比各种商业公司,全靠捐

2130 0
|
Oracle 关系型数据库 MySQL
|

MySQL · 社区见闻 · Oracle Open World 2016 见闻

高能预警:这不是一篇纯技术月报,这不是一篇纯技术月报!(不善拍照,外景图片有从朋友的FB和Twitter中截取) 申请主题 今年的OOW依然在旧金山召开,有了去年参会的经验,感觉以我们的工作水平,放在国际上也是可以出去讲一番的,因此在收到 Oracle ACE 主题邀请之后,就果断把我们去年最大的成果之一——《Double Sync Replication》提交上去了。 不过多久,收到会务组

1735 0
|
AliSQL 关系型数据库 MySQL
|

AliSQL · 社区动态 · 关于开源之后评论的评论

背景 AliSQL在云栖大会宣布开源,并有幸请到MySQL之父、MariaDB创始人Monty一起见证。 我们在将消息公布到社区之后,也同时关注社区的反馈。以下是对于评论的评论。 handshake protocol 声音:以阿里的个性就是大多数开源了 push 到 github 后面就不怎么管了 其实这么说的人并没有真正全面的去看阿里开源的趋势,大家会看到这几年的分支维护的是越来越

1677 0
|
算法 关系型数据库 C语言
|

PgSQL · 源码分析 · PG中的无锁算法和原子操作应用一则

原子操作概述 近年来随着服务器上CPU核数的不断增加,无锁算法(Lock Free)越来越广泛的被应用于高并发的系统中。PostgreSQL 做为世界上最高级开源数据库也在9.5时引入了无锁算法。本文先介绍了无锁算法和原子操作在PostgreSQL中的具体实现, 再通过一个Patch来看一下在PostgreSQL中是如何利用它来解决实际的高并发问题的。 无锁算法是利用CPU的原子操作实现的数

2529 0
|
存储 NoSQL
|

MongoDB · 特性分析· Sharding原理与应用

MongoDB Sharded Cluster 原理 如果你还不了解 MongoDB Sharded cluster,可以先看文档认识一下 中文简介:MongoDB Sharded cluster架构原理 英文汇总:https://docs.mongodb.com/manual/sharding/ 什么时候考虑用 Sharded cluster? 当你考虑使用 Sharded

1936 0
|
SQL 关系型数据库 数据库
|

PgSQL · 源码分析 · PG优化器浅析

在使用PostgreSQL数据库过程中,对SQL调优最常用的手段是使用explain查看执行计划,很多时候我们只关注了执行计划的结果而未深入了解执行计划是如何生成的。优化器作为数据库核心功能之一,也是数据库的“大脑”,理解优化器将有助于我们更好地优化SQL,下面将会为大家解开PostgreSQL优化器神秘的面纱。 SQL执行过程 在PG数据库中,对于DDL语句无需进行优化,到utility

2533 0
|
关系型数据库 MySQL 索引
|

MySQL · 捉虫状态 · bug分析两例

BUG 1 IN查询结果不对 背景 在mysql5.6.16版本下,构建如下测试用例 CREATE TABLE `a` ( `c1` varchar(512) NOT NULL DEFAULT '' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `a` VALUES ('i-28s18atup'),('i-2850jdoa2'),('i-

1475 0
|
Oracle 关系型数据库 数据库
|

PgSQL · 最佳实践 · pg_rman源码浅析与使用

背景 对于商业数据库来说,备份的功能一般都非常的全面。 比如Oracle,它的备份工具rman是非常强大的,很多年前就已经支持全量、增量、归档的备份模式,支持压缩等。 还支持元数据存储到数据库中,管理也非常的方便,例如保留多少归档,备份集的管理也很方便,例如要恢复到什么时间点,将此前的备份清除等等。 对于开源数据库来说,支持向商业版本这么丰富功能的比较少,PostgreSQ

3285 0
|
SQL 缓存 关系型数据库
|

MySQL · 特性分析 · 执行计划缓存设计与实现

Plan Cache背景知识 一条SQL语句输入到MySQL服务器后,一般要经历:词法语法解析(parse),优化(optimize),生成执行计划(plan)和执行(execute)的过程。词法语法分析,优化以及生成执行计划,这三个阶段的主要输出是SQL语句的执行计划(plan),当SQL语句存在多种执行计划的时候,优化器会从这许多的执行计划中挑选出一个它认为最优的(通常是占用系统资源最少的,

2624 0
|
关系型数据库 MySQL 索引
|

MySQL · 社区动态 · MariaDB 10.2 前瞻

继 MariaDB 10.1 之后,对标 MySQL 5.7 的 MariaDB 10.2 版本也即将封板,那么我们就来看看新的版本有哪些新的功能吧。 之前的月报我们写过一篇关于 Window Function 的介绍,除此之外,10.2.2 又即将发布一些新的特性。 Virtual Columns 进一步加强 目前有两种类型的虚拟列:PERSISTENT/STORED 类型,这种类型的虚拟

1892 0
|
存储 关系型数据库 大数据
|

PetaData · 架构体系 · PetaData第二代低成本存储体系

背景 2015年7月,PetaData分布式数据库开放了低成本存储体系,随后便服务了天象等多个大数据业务,这些业务存量数据在数百T,日新增10T,新增数据大多是秒级监控数据,既要数据实时可见,又要支持多维度低延迟查询,还要大幅降低成本。 在PetaData第一代低成本存储体系中,融合了ApsaraDB团队多年的技术积累,包括方寸山分布式框架、MySQL TokuDB存储引擎、低成本机型等技术,

3710 0
|
监控 关系型数据库 MySQL
|

MySQL · 社区贡献 · AliSQL那些事儿

一直以来我们都在不断对我们的阿里云MySQL分支做极致的性能优化及功能扩展。我们从社区的分支,如上游版本及Percona Server上学习新的改进和功能,并引入到我们的分支中。同时我们也将我们的一些改进思路反馈到上游,让整个社区也能享受到我们的成果。 本文主要介绍下AliSQL贡献给上游MySQL5.7版本的一些跟性能相关的优化。注意这里只摘取了几个比较有意思的优化,在即将开源的AliSQL中

2060 0
|
SQL 大数据 关系型数据库
|

PgSQL · 源码分析· pg_dump分析

PostgreSQL本身提供了逻辑导出工具pg_dumpall和pg_dump,其中pg_dumpall导出所有的数据库,pg_dump导出单个数据库,两个工具的用法和参数不再详细介绍,本文从代码层面上对此过程进行分析。 概括地说,逻辑导出要干的事情就是连接对应数据库,读出各个数据库对象的定义和数据,此外还包括comment、服务器配置和权限控制等等,这些数据库对象定义的SQL语句会被写入到对应

1823 0
|
算法 物联网 关系型数据库
|

PgSQL · 实战经验 · 旋转门压缩算法在PostgreSQL中的实现

背景 在物联网、监控、传感器、金融等应用领域,数据在时间维度上流式的产生,而且数据量非常庞大。 例如我们经常看到的性能监控视图,就是很多点在时间维度上描绘的曲线。 又比如金融行业的走势数据等等。 我们想象一下,如果每个传感器或指标每100毫秒产生1个点,一天就是864000个点。 而传感器或指标是非常多的,例如有100万个传感器或指标,一天的量就接近一亿的量。 假设我们要描绘一个时间

2717 0
|
缓存 关系型数据库 MySQL
|

MySQL · 源码分析 · Query Cache并发处理

Query cache 的并发处理 上期介绍了Query cache的一个基本工作原理,请参考MySQL · 源码分析 · Query Cache内部剖析。本期将对Query cache的并发处理过程进行一个剖析。 当前Query cache是所有session共享的,也就是说同一条SELECT语句 + database + flag(包含影响执行结果的所有环境变量)构成的Key如果已经存储在

1770 0
|
存储 关系型数据库 MySQL
|

MySQL · 专家投稿 · InnoDB物理行中null值的存储的推断与验证

前言 想写这边文章,是因为之前想写一个解析innodb ibd文件的工具,在写这个工具的过程中,发现逻辑记录转物理记录的转换中,最难的有两部分,一是每行每字段null值占用的字节和存储,二是变长字段占用的字节和存储的格式。本文中重点针对第一种情况。 之前看有关介绍compact行记录格式: 变长字段之后的第二个部分是NULL标志位,该位指示了该行数据中是否有NULL值,有则用1表示。该部分

1619 0
|
索引
|

TokuDB · 引擎特性 · REPLACE 语句优化

背景 MySQL 在标准 SQL 外,会扩展一些好用的语法,本文关注的 REPLACE 和 INSERT IGNORE 就属于这类。这 2 个语法都是对 INSERT 的扩展,语义是向表中插入数据,不同之处在于遇到 PK 或者 UK 冲突时的处理: INSERT:报 duplicate key 的错误,数据不插入; REPLACE:删除掉老冲突记录,插入新的记录; INSERT IG

1512 0
|
SQL 关系型数据库 Go
|

SQLServer · 最佳实践 · RDS for SQLServer 2012权限限制提升与改善

背景 SQL Server 作为一种强大的关系型数据库,能够提供所有场景的应用。在绝大多数云计算公司中,都提供了SQL Server作为服务的云数据库服务,譬如阿里云。但既然是服务,那么服务就需要可管理,可控制,因此,在云计算初期,都对云数据库服务进行了严格的权限控制,好处就是可控可管理,但给用户会带来一些限制,某些限制实际上是可以再细粒度管控。因此,今天我们就要介绍一下阿里云数据库SQL Ser

3259 0
|
关系型数据库
|

GPDB · 特性分析· Greenplum 备份架构

Greenplum是分布式数据库,这为备份带来了一些困难。其本身提供了一个工具是gpcrondump,对其二进制备份工具gp_dump做了一些封装,而gp_dump则是对pg_dump做了封装,在每个节点上执行pg_dump完成数据的备份。在其每个节点的行为上,与PG类似,但其分布式的架构,则有值得了解的地方。 备份方法 GP备份的工具gpcrondump是一个Python脚本,是对gp_du

2819 0
|
存储 关系型数据库 MySQL
|

MySQL · 特性分析 · MyRocks简介

RocksDB是facebook基于LevelDB实现的,目前为facebook内部大量业务提供服务。经过facebook大量工作,将RocksDB作为MySQL的一个存储引擎移植到MySQL,称之为MyRocks。 经过两年的发展,MyRocks已经比较成熟(RC阶段),现已进入了facebook MySQL的主分支了。MyRocks是开源的,参见git 。 下面对MyRocks做一个简单介绍,

2931 0
|
监控 关系型数据库 数据库
|

PgSQL · PostgreSQL 逻辑流复制技术的秘密

自 PostgreSQL 9.4 ,终于支持了逻辑流复制。本篇文章为大家带来这部分的技术细节的分析。 1. 背景 PostgreSQL 9.4 对逻辑流复制的支持具有相当的意义。我们可以用该技术完成很多企业级的需求。 PostgreSQL 的大版本升级,由于可以使用流复制做增量数据同步,所以停机服务时间会非常短。 PostgreSQL 自定义逻辑拆库。由于是逻辑数据,所以很容易自定义分发

5699 0
|
关系型数据库 MySQL
|

MySQL · 特性分析 ·MySQL 5.7新特性系列四

继上三期月报:MySQL 5.7新特性之一介绍了一些新特性及兼容性问题MySQL 5.7新特性之二介绍了临时表的优化和实现MySQL 5.7新特性之三介绍了undo表空间的truncate功能 这期我们一起来学习下MySQL 5.7的并行复制。 1. 背景 MySQL的master<->slave的部署结构,使用binlog日志保持数据的同步,全局有序的binlog在备库按照提交顺

2292 0
|
关系型数据库 MySQL
|

MySQL · 捉虫动态 · 备库1206错误问题说明

问题背景 一个用户自建MySQL,出现备库复制中断的问题,报错为slave sql thread 错误,The total number of locks exceeds the lock table size。 报错代码 这个报错在代码中的抛错逻辑为: if UT_LIST_GET_LEN(buf_pool->free) + UT_LIST_GET_LEN(buf_pool->L

1699 0
|
存储 SQL 缓存
|

MySQL · 源码分析 · Query Cache内部剖析

Query Cache背景 Query Cache在其他数据库里面也称为结果集缓存。顾名思义,它的目的是将SELECT语句与其返回结果缓存到Query Cache中,如果重复执行相同的SELECT语句的话,我们可以跳过MySQL的解析、优化、执行阶段,将SELECT的查询结果直接返回到客户端,加速SELECT语句的执行。 Query Cache中的主要数据结构 Query_cache

1839 0
|
SQL 算法 关系型数据库
|

MySQL · 性能优化 · 条件下推到物化表

背景 MySQL引入了Materialization(物化)这一关键特性用于子查询(比如在IN/NOT IN子查询以及 FROM 子查询)优化。 具体实现方式是:在SQL执行过程中,第一次需要子查询结果时执行子查询并将子查询的结果保存为临时表 ,后续对子查询结果集的访问将直接通过临时表获得。 与此同时,优化器还具有延迟物化子查询的能力,先通过其它条件判断子查询是否真的需要执行。物化子查询优化SQ

2943 0
|
SQL 监控 关系型数据库
|

MySQL · 最佳实战 · 审计日志实用案例分析

审计日志是RDS安全策略中非常重要的一环,它采集了数据库中所有的访问请求,包括常见的insert,update,delete,select,alter,drop,create语句, 还有一些比如set,commit,rollback命令语句。有了这些日志后可以帮助我们进行问题回溯,分析问题。下面这则案例讲述如何使用审计日志来分析只读实例延迟问题,如果没有审计日志我们很难想象该问题该如何解决。

2475 0
|
SQL XML 存储
|

SQLServer · 特性分析 · XML与JSON应用比较

背景 SQL Server是一种强大的数据库引擎,不仅性能卓越,稳定,功能还很强大,SQL Server 2016中已经支持JSON。这让我想到以前工作中经常使用的SQL XML,也对比一下他们几个关键领域的应用方法。这两种SQL特性,在实际的工作中也是常用的功能,特别是JSON在最近发展非常火爆,SQL Server也不落后,很快就在SQL Server2016支持。 广义的XML与JSON

1741 0
|
存储 SQL 关系型数据库
|

MySQL · 源码分析 · 网络通信模块浅析

MySQL 网络通信浅析 MySQL的网络通信协议主要包含以下几个层次,从最上层的MySQL数据包协议层到最底层的socket传输: | THD | Protocol | NET | VIO | SOCKET 本文主要扫一下相关的代码,以下分析基于MySQL5.7。 创建会话 在MySQL5.7中对会话协议层的代码进行了大量的重构以优化性能,并使得代码更加可读。以下这幅图大概展示了几个

2776 0
|
移动开发 关系型数据库
|

PgSQL · 实战经验 · 分组TOP性能提升44倍

业务背景 按分组取出TOP值,是非常常见的业务需求。 比如提取每位歌手的下载量TOP 10的曲目、提取每个城市纳税前10的人或企业。 传统方法 传统的方法是使用窗口查询,PostgreSQL是支持窗口查询的。 例子 测试表和测试数据,生成10000个分组,1000万条记录。 postgres=# create table tbl(c1 int, c2 int, c3 int); CREA

1870 0
|
关系型数据库 MySQL 索引
|

MySQL · 特性分析 · 5.7 代价模型浅析

代价模型 mysql 5.7代价计算相对之前的版本有较大的改进。例如 代价模型参数可以动态配置,可以适应不同的硬件 区分考虑数据在内存和在磁盘中的代价 代价精度提升为浮点型 jion计算时不仅要考虑condition,还要考虑condition上的filter,具体参见参数condition_fanout_filter 5.7 在代价类型上分为io,cpu和memory, 5.7

1869 0
|
关系型数据库 MySQL
|

MySQL · 特性分析 ·MySQL 5.7新特性系列三

继上两期月报,MySQL5.7新特性之一介绍了一些新特性及兼容性问题,MySQL 5.7新特性之二介绍了临时表的优化和实现。 这期我们一起来学习下undo空间管理,重点介绍truncate功能。 1. 背景 InnoDB存储引擎中,undo在完成事务回滚和MVCC之后,就可以purge掉了,但undo在事务执行过程中,进行的空间分配如何回收,就变成了一个问题。 我们亲历用户的小实例,因为一个

2016 0
|
Web App开发 关系型数据库 数据库
|

连接PostgreSQL时,如何指定参数

4421 0
我要发布