Database

  • 数据库DevOps这个话题我讲过很多次了,在阿里的数据库环境,已经是成熟的实践经验。现在离开阿里,以独立数据库工具厂商的身份去讲这个话题,还是有一些不一样的思考。

    09年,刚加入淘宝DBA团队的前几年,其实是很痛苦的。最早还没有工具和平台的思维,很多事情都是”手挑肩扛”。不过生产环境的数据库数量增长很快就远超团队人员增长速度。最早,淘宝内部将DBA分为”系统DBA”,负责数据库的安装/部署、监控、备份、性能监控报警、故障诊断等工作;还有一部分是”产品DBA”,负责面向上层业务的数据库支持,包括数据库的设计与发布、架构选型、业务优化、容量规划等。

    当时我在”系统DBA”团队,为了解决人员与系统增长不匹配的问题,当时也在前辈建立的”北斗”数据库管理基础上进行改进,并构建了淘宝数据库环境内首个MySQL数据库管理平台”天机“,取名字也是来自”北斗”七星中的”天玑”,不过取自”天机不可泄露”便取”天机”。而后,这个平台也几经改造与重构,发展为内部一套完整、健壮的DBaaS系统。

    而”产品DBA”也面临着同样的问题,表现上略有不同。主要问题包括:业务/研发爆发式增长,”数据库的设计与发布、架构选型、业务优化(性能管理)、容量规划”这些原本DBA的工作,已经不可能再靠有限的DBA人力完成了。于是,内部的开始尝试通过一些简单的工具尝试解决这个矛盾。最早,先是使用WebSQLPlus解决数据查询的问题、而后是dbtask解决了数据库DDL发布的问题。再之后,对于研发、DBA如何一起共同支撑起业务发展,从而构建出了全新的iDB平台,并且在iDB从3.0升级到4.0版本时候,重新对平台做了定位,由一个面向DBA的工具,转变为面向研发使用数据库的产品,也是在这个时候,正式提出了数据库DevOps的理念。

    在2017年,这套产品也在阿里云上正式商业化发布,开始从一个服务阿里内部的系统正式的以商业化的形式服务云上的更多企业。

    2021年,离开了阿里,一方面是很冲动,另一个很重要的原因是认为,这套系统应该是一个独立于某个云厂商的、第三方的系统,这样可以更好的服务当前企业用户,无论企业用户的数据库是在阿里云、还是在华为云、腾讯云、AWS、百度云,亦或者是在自己筹建的IDC之内,都可以很好的使用这个产品,用这个理念去管理数据库,去解决研发、DBA与数据库的问题。

    记得特别清楚,有一年端午节,在内部p8->p9的晋升答辩上,有一个评委问我:“DMS/DTS”等这些工具产品,交由第三方厂商去做是不是更好?当时回答得很凌乱…,现在可以给评委一个简单的回答了:“是的”。

    关于这次分享的详细内容可以参考,这篇文章:《企业级数据库 DevOps 最佳实践,通过 NineData 实现高效安全的数据库开发》。分享的片子如下:

    orczhou-database-devops-best-practice-dtcc-2024
  • 标题:openGauss开发者大会、华为云HDC大会举行; PostgreSQL中国技术大会7月杭州开启

    重要更新

    openGauss Developer Day本周五于北京举行,大会聚集了相关行业专家、用户、伙伴和开发者,分享给予openGauss的联合创新成果和实践案例。[2] 华为云 HDC 2024本周五于东莞松山湖举行,主题演讲主要覆盖鸿蒙、AI [3] [29] 

    PostgreSQL中国技术大会重启,将在7月12日于杭州举办;大会以”聚焦云端创新,汇聚智慧共享”为主题,共同探讨数据库领域的发展趋势、技术创新和实践经验。

    更新详情

    阿里云
    • RDS PostgreSQL 发布新内核版本,兼容社区16.2版本。支持插件pg_proctab(0.0.10); pgvector(0.7.0) [6]
    • RDS SQL Server新增支持更多性能监控项,您可以通过RDS管理控制台查看实例的标准监控数据。[7]
    • RDS SQL Server 新版售卖页面支持设置系统字符集排序规则 [8]
    GCP(谷歌云)
    • 数据库迁移服务支持从Oracle迁移到AlloyDB [11] 
    火山云(字节)
    AWS(亚马逊云)
    • RDS 支持最新的MySQL版本 8.0.37[26]
    • RDS 最新的 MariaDB版本 10.11.8, 10.6.18, 10.5.25, 10.4.34[27]
    腾讯云
    • 云数据库 MySQL、TDSQL-C 发布数据库代理版本1.3.12。[28]
    参考链接
  • 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…)