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

关系型数据库

关注

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

0
今日
4697
内容
35
活动
997
关注
|
存储 算法 分布式数据库
|

一致性哈希在分布式数据库中的应用探索

背景 在分布式数据库中,设计数据分布算法通常需要考虑到几点 平衡性(Balance)平衡性是指哈希的结果能够尽可能分布到所有的分片节点中去,这样可以使得所有的分片节点都得到利用。 很多哈希算法都能够满足这一条件。 单调性(Monotonicity)单调性是指如果已经有一些内容通过哈希

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

PostgreSQL 递归死循环案例及解法

背景 PostgreSQL 提供的递归语法是很棒的,例如可用来解决树形查询的问题,解决Oracle用户 connect by的语法兼容性。 请参考https://yq.aliyun.com/articles/54657 但是如果参与递归查询的数据集有问题,例如数据打结的问题。则会导致递

7364 0
|
SQL 关系型数据库 Java
|

关键时刻HINT出彩 - PG优化器的参数优化、执行计划固化CASE

背景 有过数据库使用经验的童鞋可曾遇到过SQL执行计划不准确,或者SQL执行计划抖动的问题。 PostgreSQL的执行计划与大多数的企业数据库是一样的,都是基于成本优化。 基于成本优化的优化器,在算法靠谱,统计信息准确的前提下,通常得到的执行计划是比较准确的。 那么什么时候执行

7097 0
|
关系型数据库 Java 数据库
|

阿里云RDS for PostgreSQL用户如何定制数据库参数

背景 为了满足大多数用户的需求,阿里云提供的RDS PG,数据库参数是根据通用性场景设置的。 如果用户不是通用的场景,或者用户有自定义参数的需求怎么办呢? 首先数据库的参数是分级的,有些参数允许在高层设置,例如运行时的参数。 PostgreSQL参数分级 环境变量 配置文件(

4377 0
|
关系型数据库 数据库 RDS
|

RDS PG/PPAS 用户连接规划

背景 PostgreSQL在设计时为DBA考虑了保留连接,通过参数superuser_reserved_connections来控制,也就是说当数据库的最大连接为100时,普通用户最多能连100-superuser_reserved_connections个连接。 剩余的连接是给超级用户保留

2270 0
|
关系型数据库 Linux 数据库
|

PostgreSQL 编译选项-g的影响

3547 0
|
关系型数据库 PostgreSQL 索引
|

PostgreSQL 索引扫描offset内核优化 - case

背景 order by xx offset xx limit xx , 通常被用来做分页的查询,但是你会发现offset越多,越慢。 offset很多的情况下,即使没有sort,走的是索引,也会很慢。 原因分析,PostgreSQL的索引上面没有版本信息,所以行是否可见的话,需要通过索

5036 0
|
SQL 关系型数据库 索引
|

PostgreSQL 数据访问 offset 的质变 case

背景 offset limit是一个多么场景的需求啊,但是你知道offset的数据可能隐藏着质变吗? 如图 node有30W条数据,其中前100条是满足条件的,然后100条到20W条都是不满足条件的。所以offset 10 limit 10非常的快。但是offset 100 limi

3810 0
|
关系型数据库 Java 数据库
|

PostgreSQL 老湿机图解平安科技遇到的垃圾回收"坑"

背景 从海安那里反馈的一个问题,是平安科技在使用PostgreSQL的过程中,遇到的一个有些"不可思议"的问题。 一张经常被更新的表,通过主键查询这张表的记录时,发现需要扫描异常多的数据块。 其实原因有2。 .1. 长事务有关,我在很多文章都提到过,PG在垃圾回收时,只判断垃圾版

7171 0
|
网络协议 关系型数据库 数据库
|

如何防止远程程序与RDS PG连接中断

4539 0
|
移动开发 安全 关系型数据库
|

PostgreSQL PL/Perl 钩子安全性分析

背景 plperl 是PostgreSQL支持的函数语言之一。 在使用plperl时,可以使用plperl提供的钩子功能,满足一些特殊场景的需求。 钩子分2种,一种是加载plperl.so库时的钩子,一种是加载perl语言解释器时的钩子。 钩子用法介绍 加载plperl.so库

2501 0
|
SQL Oracle 关系型数据库
|

PostgreSQL Oracle 兼容性 之 - PL/SQL record, table类型定义

背景 Oracle PL/SQL是非常强大的一门SQL编程语言,许多Oracle用户也使用它来处理一些要求延迟低且数据一致性或可靠性要求很高的业务逻辑。 PostgreSQL也有一门非常高级的内置SQL编程语言,plpgsql。与Oracle PL/SQL语法极其类似,但是还是有一些不一样的

5574 0
|
缓存 关系型数据库 PostgreSQL
|

PostgreSQL cluster大幅减少nestloop离散IO的优化方法

背景 对于较大数据量的表,如果在索引字段上面有小结果集JOIN,用nestloop JOIN是比较好的方法。 但是nestloop带来的一个问题就是离散IO,这个是无法回避的问题,特别是硬件IO能力不行的情况下,性能会比较糟糕。 有什么优化方法呢? PostgreSQL提供了一个

3705 0
|
存储 XML SQL
|

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

SQL Server是一种强大的数据库引擎,不仅性能卓越,稳定,功能还很强大,SQL Server 2016中已经支持JSON。这让我想到以前工作中经常使用的SQL XML,也对比一下他们几个关键领域的应用方法。这两种SQL特性,在实际的工作中也是常用的功能。

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

PostgreSQL 多路并行 xlog 设计

本文截取自《多核处理器下事务型数据库性能优化技术综述》http://www.cnki.com.cn/Article/CJFDTotal-JSJX201509012.htm 数据库的redo记录了事务的重做信息,它最重要的功能之一是用来恢复数据库,例如当数据库crash后,需要从数据库的一致检查点开

2730 0
|
关系型数据库 PostgreSQL
|

PostgreSQL雕虫小技,分组TOP性能提升44倍

业务背景 按分组取出TOP值,是非常常见的业务需求。比如每位歌手的下载量TOP 10的曲目。 传统方法 传统的方法是使用窗口查询,PostgreSQL是支持窗口查询的。例子测试表和测试数据,生成10000个分组,1000万条记录。 postgres=# create table t

8036 1
|
关系型数据库 PostgreSQL
|

PostgreSQL 9.6 开放自定义WAL(REDO)接口

3017 0
|
监控 关系型数据库 Unix
|

PostgreSQL ident和peer基于操作系统用户的认证

PostgreSQL支持的认证方法非常多,除了自身的密码认证以外,还支持很多其他认证服务。 trust md5 password GSSAPI SSPI Ident Peer LDAP RADIUS PAM Certificate BSD 详见https://

10361 56
|
关系型数据库 MySQL 索引
|

MySQL · 引擎特性 · InnoDB COUNT(*) 优化(?)

3187 0
|
存储 算法 关系型数据库
|

为了部落 - 如何通过PostgreSQL基因配对,产生优良下一代

PostgreSQL凭借良好的扩展性,不仅仅是一个数据库,更是一个有非常强大的数据处理能力的数据平台。很多垂直行业的用户拿它来做各种和业务贴合非常紧密的事情。 本文给大家分享的是PostgreSQL在生命科学领域的应用案例 - 基因工程。 通常的思维可能是这样的,把数据存在数据库,需要

5439 0
|
关系型数据库 MySQL 数据库
|

MySQL · 最佳实践 · 空间优化

3041 0
|
存储 JSON 关系型数据库
|

MySQL · 特性分析 · 内部临时表

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

MySQL · TokuDB · checkpoint过程

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

MariaDB · 新特性 · 窗口函数

4019 0
|
关系型数据库 PostgreSQL
|

PgSQL · 实战经验 · 如何预测Freeze IO风暴

背景和原理 有没有被突发的IO惊到过,有没有见到过大量的autovacuum for prevent wrap。  PostgreSQL 的版本冻结是一个比较蛋疼的事情,为什么要做版本冻结呢?  因为PG的版本号是uint32的,是重复使用的,所以每隔大约20亿个事务后,必须要冻结,否则记录会

2659 0
|
关系型数据库 MySQL
|

MySQL · 特性分析 · innodb 锁分裂继承与迁移

innodb行锁简介 行锁类型 LOCK_S:共享锁 LOCK_X: 排他锁 GAP类型 LOCK_GAP:只锁间隙 LOCK_REC_NO_GAP:只锁记录 LOCK_ORDINARY: 锁记录和记录之前的间隙 LOCK_INSERT_I

2436 0
|
NoSQL 关系型数据库 数据库
|

云数据库·ApsaraDB 产品6月刊

云数据库·ApsaraDB 产品6月刊

5492 0
|
NoSQL 索引
|

Secondary节点为何阻塞请求近一个小时?

看到Secondary节点上的日志,我的内心的崩溃的,鉴权请求居然耗时2977790ms(约50分钟),经详细统计,这个Secondary节点上,所有16:54之后发起的用户请求,都阻塞到17:54左右才返回,处理时间最长的请求约1个小时。 2016-06-17T17:54:57.575+0800

5180 0
|
Linux
|

page fault带来的性能问题

Linux进程如何访问内存 Linux下,进程并不是直接访问物理内存,而是通过内存管理单元(MMU)来访问内存资源。原因后面会讲到。 为什么需要虚拟内存地址空间 假设某个进程需要4MB的空间,内存假设是1MB的,如果进程直接使用物理地址,这个进程会因为内存不足跑不起来。既然进程不是直接访问

23249 0
|
缓存 算法 关系型数据库
|

PostgreSQL plan cache 源码浅析 - 如何确保不会计划倾斜

早上写了一篇文章,可以看到PostgreSQL为开发人员着想的,设计得非常人性化。《为什么用 PostgreSQL 绑定变量 没有 Oracle pin S 等待问题》https://yq.aliyun.com/articles/55698 同时也收到了一些朋友发来的问题,有朋友问我Postg

7992 0
|
SQL 关系型数据库 PostgreSQL
|

PostgreSQL 递归SQL 找出对象依赖

在使用数据库时,如果用到了视图,物化视图。在表,视图,物化视图这些对象之间就会产生依赖。例如 create table t(id int); create view v1 as select * from t; create view v2 as select * from v1; cr

5319 0
|
关系型数据库
|

PostgreSQL 创建库时如何指定 Collate, Ctype

初始化集群,建库,建表,建索引,sort | compare QUERY时都可以指定COLLATE。用法参考https://www.postgresql.org/docs/9.5/static/sql-createtable.htmlhttps://www.postgresql.org/docs/.

11466 0
|
SQL Oracle 关系型数据库
|

为什么用 PostgreSQL 绑定变量 没有 Oracle pin S 等待问题

早上看到盖国强老师在朋友圈里分享了一篇关于软解析带来的Pin S等待的问题。有感而发,跟大家聊一聊为什么PostgreSQL不存在这个问题。 Oracle 在Oracle中多个会话高并发的执行同一条SQL,如果使用了绑定变量的话,会产生pin s的等待事件。原因如下(取自互联网http://

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

PostgreSQL 同步流复制原理和代码浅析

数据库ACID中的持久化如何实现 数据库ACID里面的D,持久化。 指的是对于用户来说提交的事务,数据是可靠的,即使数据库crash了,在硬件完好的情况下,也能恢复回来。PostgreSQL是怎么做到的呢,看一幅图,画得比较丑,凑合看吧。假设一个事务,对数据库做了一些操作,并且产生了一些脏数据,

13746 0
|
关系型数据库 MySQL 数据库
|

RDS MySQL空间优化最佳实践

在前三期介绍了RDS for MySQL参数优化,锁问题以及延迟优化最佳实践之后,本期将介绍存储空间相关的最佳实践。

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

大量使用临时表带来的问题,替代方案,以及如何擦屁股

以前有使用Greenplum的朋友遇到元表膨胀的问题,总结了原因写了一篇文章如下。建议先阅读这篇文档,再阅读本文,里面有些原理我在本文就不讲了。http://blog.163.com/digoal@126/blog/static/1638770402014616113353555 近日,又有使用P

6976 0
|
SQL Oracle 关系型数据库
|

PostgreSQL Oracle 兼容性之 - PL/SQL FORALL, BULK COLLECT

Oracle PL/SQL 开发的童鞋,一定对O家的bulk批量处理的性能很是赞赏吧。但是PostgreSQL用户请不要垂涎,作为学院派和工业界的一颗璀璨明珠。开源数据库PostgreSQL,也有对应的批量处理策略哦。下面是一组LOOP和BULK的性能测试数据 一起来耍耍吧,先看看Oracle怎么

4967 0
|
Linux
|

Linux Zombie进程状态介绍 以及 如何清理

Linux 进程有哪些状态 通过ps的帮助手册,能看到进程有几种状态 man ps D uninterruptible sleep (usually IO) R running or runnable (on run

7726 0
|
Oracle 关系型数据库 PostgreSQL
|

PostgreSQL Oracle兼容性之 - connect by

11865 0
|
Oracle 安全 关系型数据库
|

EnterpriseDB (PPAS) Oracle兼容性Virtual Private Database(VPD) 数据隔离以及当前缺陷

不带barrier的视图是不安全的,我在前面写过文章来讲这个,以及如何攻击这种视图。https://yq.aliyun.com/articles/14731PostgreSQL 为了增强视图的安全,增加了barrier的属性,来解决被攻击的问题。PostgreSQL 9.5 则提供了RLS来达到表.

2523 0
|
JSON 关系型数据库 数据库
|

PostgreSQL merge json的正确姿势

json merge是业务常用的功能,例如网络爬虫,更新合并新爬到的内容。PostgreSQL 9.5 对JSON的类型进行了非常大的功能增强,例如支持合并,按KEY删除,更新KEY VALUE等。以合并为例以右边的值为准,支持嵌套值的合并。 postgres=# select jsonb '

8001 0
|
关系型数据库 Java 数据库连接
|

SQLServer · 最佳实践 · 数据库实现大容量插入的几种方式

title: SQLServer · 最佳实践 · 数据库实现大容量插入的几种方式 author: 石沫 背景 很多用户在使用阿里云云数据库SQL Server时,为了加快插入速度,都尝试使用大容量插入的方式,大家都知道,对于完整恢复模式下的数据库,大容量导入执行的所有行插入操作都会完整地记录

2649 0
|
关系型数据库 Java 数据库连接
|

在java中正确使用PostgreSQL大对象和字节流类型的姿势

5584 0
|
调度 数据中心
|

Linux cgroup资源隔离各个击破之 - cpu隔离1

Linux cgroup 有两个子系统支持CPU隔离。一个是cpu子系统,另一个是cpuset子系统。 cpu子系统包括两种CPU资源隔离方法 .1. 完全公平调度 Completely Fair Scheduler (CFS) .2. 实时调度 Real-Time scheduler (

17412 0
|
关系型数据库 PostgreSQL
|

PostgreSQL的"天气预报" - 如何预测Freeze IO风暴

还记得我写的这篇文档吗? 《PostgreSQL 大表自动 freeze 优化思路》https://yq.aliyun.com/articles/50411 文章主要针对如何优化大表的freeze调度来解决IO风暴的问题。 预测 IO 风暴 那么在没有针对性的调度策略之前,我们如何预测

3789 0
|
Linux 调度 数据中心
|

Linux cgroup资源隔离各个击破之 - io隔离

Linux Cgroup blkio子系统的用法. blkio子系统支持两种IO隔离策略 .1. cfq io调度器,支持按权重分配IO处理的时间片,从而达到IO调度和限制的目的,权重取值范围100-1000。通过以下两个文件进行配置。 blkio.weight

11604 0
|
存储 NoSQL 关系型数据库
|

Percona Live 2016 PPT整理

11874 0
你好!
登录掌握更多精彩内容

相关产品

  • 云数据库 RDS MySQL 版
  • 云原生数据库 PolarDB
  • 云原生分布式数据库 PolarDB-X
  • 我要发布