关系型数据库
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。
PostgreSQL 大表自动 freeze 优化思路
PostgreSQL 的版本冻结是一个比较蛋疼的事情,为什么要做版本冻结呢?因为PG的版本号是uint32的,是重复使用的,所以每隔大约20亿个事务后,必须要冻结,否则记录会变成未来的,对当前事务"不可见"。冻结的事务号是2 src/include/access/transam.h #def
MySQL · 捉虫动态 · left-join多表导致crash
有一天小编胡乱写SQL, left join了30张表, 结果导致了Mysql server gone away… 我们来看看crash堆栈 <signal handler called> base_list_iterator::next update_ref_and_keys make_
PostgreSQL · 特性分析 · 统计信息计算方法
一条SQL在PG中的执行过程是: ----> SQL输入 ----> 解析SQL,获取解析后的语法树 ----> 分析、重写语法树,获取查询树 ----> 根据重写、分析后的查询树计算各路径代价,从而选择一条成本最优的执行树 ----> 根据执行树进行执行 ----> 获取结果并返回
MongoDB · 特性分析 · Sharded cluster架构原理
为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用,通过Sharded cluster来保证可扩展性。 当MongoDB复制集遇到下面的业务场景时,你就需要考虑使用Sh
MySQL · TokuDB · 日志子系统和崩溃恢复过程
TokuDB日志子系统 MySQL重启后自动加载InnoDB和其他的动态plugin,包括TokuDB。每一plugin在注册的时候指定init和deinit回调函数。TokuDB的init/deinit函数分别是tokudb_init_func和tokudb_done_func。 MySQL重
SQLServer · 最佳实践 · 透明数据加密在SQLServer的应用
背景 作为云计算的服务提供者,我们在向用户提供优秀的服务能力时会遇到一个合规的问题。在数据库领域,数据是极其敏感和珍贵的,保护好数据,就如保护好企业的生命线。因此,需要采取一些预防措施来帮助保护数据库的安全,如设计一个安全系统、加密机密资产以及在数据库服务器的周围构建防火墙。但是,如果遇到物理介质
PG&GP · 特性分析 · 外部数据导入接口实现分析
背景 社区 PostgreSQL 和 GreenPlum 都提供了读写外部数据源的方法,它们都提供了一套编程接口,用户可以在这上面做二次开发,建立外部数据源和数据库间的数据通道。 本文介绍 PostgreSQL 和 GreenPlum 这部分编程接口的实现和编程方法。结合 RDS 开发的 oss
MySQL · 特性分析 · innodb buffer pool相关特性
背景 innodb buffer pool做为innodb最重要的缓存,其缓存命中率的高低会直接影响数据库的性能。因此在数据库发生变更,比如重启、主备切换实例迁移等等,innodb buffer poll 需要一段时间预热,期间数据库的性能会受到明显影响。 另外mysql 5.7以前innodb
PostgreSQL · 特性分析 · 逻辑结构和权限体系
本文旨在帮助用户理解PostgreSQL的逻辑结构和权限体系,帮助用户快速的理解和管理数据库的权限。 逻辑结构 最上层是实例,实例中允许创建多个数据库,每个数据库中可以创建多个schema,每个schema下面可以创建多个对象。 对象包括表、物化视图、操作符、索引、视图、序列、函数、… 等等。
MySQL · 特性分析 · MySQL 5.7新特性系列一
1. 背景 MySQL 5.7在2015-10-21发布了GA版本,即5.7.9,目前小版本已经到了5.7.12。5.7新增了许多新的feature和优化,接下来一个系列,我们就一起来尝尝鲜。首先这次主要是预览feature的变化以及兼容性问题。后面的系列,会针对重要的feature展开来学习。
5月21日 上海PostgreSQL象行中国技术沙龙
阿里云、平安科技、沃趣科技等多家PostgreSQL明星企业的技术专家与大家面对面分享PostgreSQL及Greenplum在互联网、金融保险等行业的应用案例。
捣蛋SQL导致实例iops 100%
一用户RDS每天隔一段时间就会出现IOPS 100%的问题,求助到阿里云,排查思路: (1).慢SQL问题:通过优化索引,子查询,隐士转换,分页改写等优化; (2).DDL:create index,optimze table,alter table add colum
PostgreSQL 基于行号(tid)的快速扫描
PostgreSQL 自带的表是堆表,数据按行存储在HEAP PAGE中,在btree索引中,除了存储字段的value,还会存储对应的ctid(即行号),检索记录也是通过行号进行检索的呢。 因此通过行号是可以快速检索到记录的。行号的写法是(page_number, item_number),数据块
MongoDB Secondary同步慢问题分析
MongoDB Scondary同步慢问题分析 问题背景 最近生产环境出现多次Primary写入QPS太高,导致Seconary的同步无法跟上的问题(Secondary上的最新oplog时间戳比Primary上最旧oplog时间戳小),使得Secondary变成RECOVERING状态,这时需要
干货来袭!Redis技术盛宴——阿里云Redis交流会火热召开
2016年5月15日,阿里云Redis用户交流会在阿里巴巴北京国家广告园办公区万松书院火热召开,来自各个行业的Redis技术爱好者齐聚一堂,共同交流探讨最前沿的Redis技术,分享最干货的Redis应用案例。接下来我将为大家介绍交流会现场的精彩内容。
一个价值“千万”的秒杀场景参数优化
秒杀最早来自天猫双11各种商品的促销活动中,现在已经有很多业务场景在使用,比如抢红包,抢票等。其特点有三高:瞬时并发高,数据一致性高,热点更新频度高。这样三高的场景下往往给数据库造成极大的压力,大量更新数据库中的同一行,这样必然会产生锁等待,导致数据库的性能急剧下降的问题,很容易容易.
PostgreSQL 9.6 攻克金融级多副本可靠性问题
PostgreSQL 流复制功能增强,多种模式可选。最强模式满足金融级可靠性要求。最高级别允许多个standby , 同时事务提交时,需要等待多个standby apply xlog。 .1. 事务提交保护级别增强如下支持5个事务提交保护级别,确保事务提交时,XLOG的几种状态。synchr
开源数据库PostgreSQL攻克并行计算难题
PostgreSQL 9.6的并行复制一发,相信已经有很多小伙伴已经开始测试了,我昨晚测试了一个场景是标签系统类应用的比特位运算,昨天测试发现性能相比非并行已经提升了7倍。昨天没有仔细研究代码,发现怎么测都只能用8个并行,今天看了一下代码,终于找到端倪了,其实并行度是由几个方面决定d , 决定并行.
PostgreSQL 标签系统 bit 位运算 查询性能
在标签系统中,通常会有多个属性,每个属性使用一个标签标示,最简单的标签是用0和1来表示,代表true和false。我们可以把所有的标签转换成比特位,例如系统中一共有200个标签,5000万用户。那么我们可以通过标签的位运算来圈定特定的人群。这样就会涉及BIT位的运算。那么我们来看看PostgreS.
SQLServer · 最佳实践 · 透明数据加密TDE在SQLServer的应用
SQL SERVER的TDE实现方式,在与镜像共存是如何来保证数据库的有效运转,需要在设置时,做一些特殊的处理。具体请参见文章。
PostgreSQL schema,database owner 的高危注意事项
云用户反映的一个问题,引发一系列安全思考。以下是创建PostgreSQL schema的语法说明页的一个note:http://www.postgresql.org/docs/9.5/static/sql-createschema.html According to the SQL standar
PostgreSQL MySQL 兼容性之 - 读写用户的只读影子用户
在一些企业里面,通常会在数据库中创建一些只读用户,这些只读用户可以查看某些用户的对象,但是不能修改或删除这些对象的数据。这种用户通常可以给开发人员,运营人员使用,或者数据分析师 等角色的用户使用。因为他们可能关注的是数据本身,并且为了防止他们误操作修改或删除线上的数据,所以限制他们的用户只有只读的.
PostgreSQL 逻辑结构 和 权限体系 介绍
本文旨在帮助用户理解PostgreSQL的逻辑结构和权限体系,帮助用户快速的理解和管理数据库的权限。 逻辑结构 最上层是实例,实例中允许创建多个数据库,每个数据库中可以创建多个schema,每个schema下面可以创建多个对象。对象包括表、物化视图、操作符、索引、视图、序列、函数、... 等
PostgreSQL GIN索引limit慢的原因分析
PostgreSQL GIN索引的结构如下图 :假设这个表有2列,一列存储INT,另一列存储INT数组,最左边的表示记录的行号。 假设对INT数组建立GIN索引,那么GIN索引会记录每个数组element对应的行号,对于行号多的,会存成LIST,然后在索引中指向该list。 好了接下来分析一下l
distinct xx和count(distinct xx)的变态递归优化方法
今天要说的这个优化是从前面一篇讲解《performance tuning case :use cursor or trigger replace group by and order by》http://blog.163.com/digoal@126/blog/static/16387704020.
PostgreSQL 百亿级数据范围查询, 分组排序窗口取值 极致优化 case
本文将对一个任意范围按ID分组查出每个ID对应的最新记录的CASE做一个极致的优化体验。优化后性能维持在可控范围内,任意数据量,毫秒级返回,性能平稳可控。比优化前性能提升1万倍。 CASE如下: 有一张数据表,结构: CREATE TABLE target_position
论云数据库编程能力的重要性
云为我们提供了便利,降低了开发和运维的成本。但是也必须思考一个问题,我们的云组件之间的的网络延迟?(相比较局域网的服务器和服务器之间)你可以用各种方法测试验证一下。以往我们把数据放在数据库,数据库只提供简单的增删改查,大部分的业务逻辑放在应用服务器来完成。但是在云时代,如果我们还这样的话,应用服务.
MySQL · 引擎特性 · 像NOSQL那样使用MySQL
前言 最近Release的MySQL5.7.12增加了新的协议支持,通过X Plugin实现,同时增加了新的客户端API,开发者可以通过API来把MySQL作为document store的服务端,可以完成和MongoDB类似的document操作,例如支持CRUD等操作,但底层存储依然支持传统数
PostgreSQL serializable read only deferrable事务的用法背景
在开始讲serializable read only deferrable用法前,需要先了解一下serializable隔离级别。https://wiki.postgresql.org/wiki/Serializablehttp://www.postgresql.org/docs/9.5/stat.
MongoDB短连接Auth性能优化
通常我们使用MongoDB的时候,客户端(driver)和MongoDB之间都是使用长连接,但是在某些场景下、某些driver仍然只能使用短连接进行连接,比如PHP。就在我们阿里云数据库MongoDB版商业化后没多久,我们就遇到了一个用户短连接过多导致的性能问题。 问题 这个问题的症状是Mong
如何用 sysbench 并行装载 PostgreSQL 测试数据
本文参考老唐的使用sysbench和sqlldr并行装载Oracle测试数据而成。http://blog.osdba.net/538.html sysbench原来自带的lua数据装载脚本是使用以下方式串行装载的,速度比较慢(比单条insert快,但是比COPY慢)。 insert int
iperf 测试网络性能指标
Iperf是一个网络性能测试工具,主要应用于LINUX服务器下面。可以测量最大TCP和UDP带宽,具有多种参数和特性,可以记录带宽,延迟抖动和数据包丢失,最大组和MTU等统计信息,通过这些信息可以发现网络问题,检查网络质量,定位网络瓶颈。Iperf在linux和windows平台均有二进制版本供自.
是什么让TA蹲5个小时也要听完?--深圳云栖大会数据库技术专场8大爆点
这是一场数据库技术网(干)红(货)见面会。云栖大会深圳峰会,阿里云数据库团队发出大招——PB级数据存储:PetaData数据库发布、SAP HANA One数据库的合作和云数据库OceanBase发布,还有褚霸、何导、丁奇、叶翔、玄惭的深度分享。
PostgreSQL 行级全文检索
在一些应用程序中,可能需要对表的所有字段进行检索,有些字段可能需要精准查询,有些字段可能需要模糊查询或全文检索。这种需求对于应用开发人员来说,会很蛋疼,因为写SQL很麻烦,例子: postgres=# create table t(phonenum text, info text, c1 in
Greenplum的全量恢复介绍, gpdbrestore
本节介绍一下Greenplum的全量恢复恢复时需要指定dump key ( 即gpcrondump时,每个数据库备份都带的时间戳)全量恢复需要考虑几个因素, DROP DATABASE, TRUNCATE TABLE, DROP TABLE.这些和gpcrondump或者gpdbrestore的参.
Greenplum的全量备份介绍, gpcrondump
本节介绍一下Greenplum的全量备份。全量备份脚本 #!/bin/bash GPHOME=/home/digoal/gphome # Replace with symlink path if it is present and correct if [ -h ${GPHOME}/
MySQL 5.7 新特性 generated columns
MySQL 5.7的一个新特性,generated columnhttp://dev.mysql.com/doc/refman/5.7/en/create-table.html#create-table-generated-columns即generated column的值是普通column产生.
hint bits 源码讲解, 为什么PostgreSQL查询语句也可能产生 xlog, 并且可能对buffer有write操作 ?
本文还可以回答另一个问题,为什么数据库开启wal_hint_log后或者使用initdb -k参数开启checksum后,产生的XLOG变多了。 PostgreSQL 查询是可能产生XLOG的,这需要从PostgreSQL tuple上的hint bits说起。什么是hint bits?你可以