testing-04

Database

  • Oracle Cloud上的ECPU

    ·

    什么是Oracle Cloud上的ECPU

    总得来说,海外的云是更加追求“个性”的,几乎每家云厂商都会有一堆自己不一样的概念,而实际上底层相差并不是很大。在刚刚熟悉了Oracle OCPU概念之后,在去年OCI(Oracle Cloud Infrastructure,也就是Oracle云)又推出了ECPU。最近,OCI上的MySQL也支持了ECPU。

    ECPU代表的计算或存储服务器上CPU计算核心的一定的计算能力,ECPU会逐步取代OCPU的规格模型。一个猜测是:单位ECPU就是对应某个型号CPU的core的计算能力,关于这一点,还没有找到详细的文档对这一点进行描述。

    从当前的性能与价格上来看(性能数据后续会发布),2个ECPU与1 OCPU的性能是接近的,所以,可以简单的理解ECPU就是对应于其他云厂商的vCPU。

    (more…)
  • 最近,在ACMUG(中国MySQL用户组)的年度活动中,较为详细对之前的云数据库 RDS MySQL性能测试做了分享。如下为分享的PDF,供参考:

    (more…)
  • 随着云数据库的普及,数据库的传输加密也会随之被广泛使用。本文,将使用通用测试来看看,开启TLS传输对数据库的性能有什么样的影响。

    1. 原理概述

    开启TLS传输加密之后,分别会在建立连接、数据传输两个阶段对性能造成影响。因为建立连接的过程通常是一次性的,连接会被复用,所以这部分的性能开销通常是可以接受的。在传输阶段,是传输加密对性能影响的重要阶段,这时候通常会使用对称加密算法(例如AES256)对数据进行加密,那么实际的对称加密的性能就是对TLS传输加密性能影响最大的部分。需要注意的是,如果应用使用的是短链接(应该尽量避免使用这种方式),TLS加密的密钥交换阶段也会对每个连接建立的过程都有一定的性能影响。

    2. 云数据库实际测试

    这里选择对RDS MySQL进行测试,云厂商则各自选择国外、国内Top 1的云厂商AWS和阿里云。

    2.1 测试方法说明

    使用sysbench 1.1.0版本,测试类型为oltp_read_write,相关参数如下:

    • –mysql-ssl=REQUIRED 是否使用TLS加密传输
    • –percentile=95 关注95%Query的延迟
    • –histogram=on 可以查看延迟分布情况
    • –time=600 sysbench运行的总时间(秒)
    • –warmup-time=60 开始计算性能前预热时间(秒)
    • –table_size=1000000 单表100万条记录
    • –tables=5 共测试5个表
    (more…)
  • 事件详情

    在2023年新年的第二周,美国东部时间1月11日上午,6点29分,美国航空监管机构(FAA)发布了一条仅40字的通告,随后不久,很快就宣布停飞全美所有国内航班。通告内容是,FAA正在对NOTAM(Notice to Air Missions)系统进行验证和恢复,在第一条通知之后的50分钟,FAA就宣布停飞所有国内航班。

    这应该是自2001年911袭击以来首次出现如此大规模的禁飞。

    在两个小时之后,也就是8点50分,FAA宣布NOTAM系统已经恢复,并彻底取消了之前的“禁飞令”。

    FAA在当天的晚上18点31分,宣布这次系统宕机是由数据库文件受损导致的,并还将持续跟进并改进。

    (more…)
  • 最近,业余时间都放在《高性能MySQL 第四版》的翻译工作了,以至于这个行业动态已经拖了将近三个月没有更新了。那,今天,我们就一起来看看在2022年的第一个季度,各个厂商的云数据库都有什么新进展吧。

    重点更新

    • Azure Data Studio持续更新,发布了Table Designer、Query Plan Viewer等功能。虽然,SQL Server最权威的管理工具一直是SSMS,不过最近看到MS也在快速更新Azure Data Studio。相比,SSMS,ADS是一个跨平台的产品,可以同时支持Windows、MacOS、Linux,可以看到MS在以云为战略核心之后,开发者、开放、开源都是其核心策略。

    • 火山引擎,自去年12月发布之后,也在快速迭代,最新发布了PostgreSQL的支持,不过,即现在记住火山引擎官网的域名还是有点难度的,不打算改吗? www.volcengine.com 你们都记得住吗?

    • AWS发布自己的JDBC for MySQL,并推荐客户使用,在全力推Aurora的情况下,又推出自己的JDBC,是在准备随时和Oracle全面脱钩吗?

    • AWS RDS通过类似半同步复制的机制,也推出三节点形态,相比EBS复制,这种逻辑复制可以让Standby有更好的性能,同时可以直接提供读服务:参考

    更新详情

    • [AWS] RDS for PostgreSQL支持了tds_fdw/mysql_fdw
    • [AWS] RDS Multi-AZ Cluster新增更多区域支持 参考
    • [AWS] RDS开始支持 Oracle 21c
    • [AWS] Aurora PostgreSQL支持大版本升级,例如从9.6升级到11.X:参考
    • [AWS] AWS JDBC for MySQL正式GA:参考
    • [AWS] RDS SQL Server 2007标准版支持Always On AG: 参考
    • [AWS] RDS MariaDB开始支持延迟复制:参考
    • [AWS] MemoryDB for Redis开始支持 PrivateLink:参考
    • [AWS] RDS开始支持PostgreSQL 14:参考
    • [MariaDB] 10.9版本发布,将增强JSON支持、异步redo等:参考
    • [Azure] Microsoft Defender支持保护Cosmos DB:参考
    • [Azure] Cosmos DB开始支持MongoDB 4.2 API:参考
    • [Azure] Azure Data Studio发布了Table Designer、Query Plan Viewer:参考
    • [GCP] Memorystore for Redis发布Read Replicas、RDB Snapshots等功能:参考
    • [GCP] Spanner发布了Optimizer v4,提升了二级索引、哈希JOIN等相关功能:参考
    • [GCP] Cloud SQL for MySQL支持了8.0.26,并作为默认版本:参考
    • [GCP] Cloud SQL for SQL Server支持了跨区域的副本:参考
    • [GCP] Cloud SQL for SQL Server 2019成为默认的SQL Server版本:参考
    • [阿里云] AnalyticDB PostgreSQL发布跨实例数据共享:参考
    • [阿里云] AnalyticDB PostgreSQL发布Serverless实例类型:参考
    • [阿里云] RDS MySQL只读实例支持开启binlog:参考
    • [阿里云] RDS PostgreSQL 14大版本发布:参考
    • [阿里云] Tair(Redis企业版)现已经开放TairTS时序数据结构、TairCpc数据结构:参考
    • [腾讯] TDB for MySQL支持了连接池功能:参考
    • [腾讯] TDB for SQL Server支持了数据库维度多任务并行、备份数据开始商业化计费:参考
    • [腾讯] TDB for PostgreSQL支持了跨可用区容灾、克隆实例、跨可用区创建只读实例等功能
    • [腾讯] TDB for Redis支持了全球复制功能:参考
    • [腾讯] TDSQL-C MySQL 8.0版本增加了只读节点等功能:参考
    • [腾讯] TDSQL PostgreSQL推出Oracle 兼容版的集中式版:参考
    • [腾讯] DTS支持了跨账号实例间数据同步,支持了更多的源/目标的组合:参考
    • [华为云] GaussDB(for Mongo)提供了多种数据迁移方案:参考
    • [华为云] GaussDB(for Redis)包周期(类似于包年包月)实例支持规格变更:参考
    • [华为云] 数据复制服务 DRS 实时同步支持DB2 for LUW 10.5、11.5、PostgreSQL->Kafka等
    • [阿里云] RDS PostgreSQL 支持机器学习MADlib插件:参考
    • [阿里云] 图数据库GDB自动机器学习组件发布:参考
    • [火山引擎] 云数据库 PostgreSQL 版正式发布上线:参考
  • 概述

    使用的Amazon Linux 2,相当于是CentOS 7,于是使用了官方的yum repo来进行安装。

    官方文档的参考:Linux downloads (Red Hat family)@postgresql.org

    添加yum仓库

    /etc/yum.repos.d/pgdg.repo
    [pgdg13]
    name=PostgreSQL 13 for RHEL/CentOS 7 - x86_64
    baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86_64
    enabled=1
    gpgcheck=0

    注意,上述文件中的url需要根据实际情况调整,需要根据主机的发行版本和需要安装的PostgreSQL版本,在仓库中找到对应的目录:目录列表

    更新yum仓库配置信息,并安装postgresql-server

    sudo yum update

    sudo yum install postgresql13-server

    添加执行文件到PATH路径

    export PATH="${PATH}:/usr/pgsql-13/bin"

    准备数据文件(database cluster)

    参考:Creating a Database Cluster

    root# mkdir /usr/local/pgsql
    root# adduser postgres
    root# chown postgres /usr/local/pgsql
    root# su postgres
    
    postgres$ export PATH="${PATH}:/usr/pgsql-13/bin"
    
    postgres$ pg_ctl -D /usr/local/pgsql/data initdb

    启动/关闭postgresql

    pg_ctl start -l logfile -D/usr/local/pgsql/data
    pg_ctl stop -D /usr/local/pgsql/data

    修改配置文件

    vim /usr/local/pgsql/data/postgresql.conf  # 例如修改 shared_buffers = 64MB

    连接数据库

    psql