数据库生态工具&架构|学习笔记(一)

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
日志服务 SLS,月写入数据量 50GB 1个月
性能测试 PTS,5000VUM额度
简介: 快速学习数据库生态工具&架构

开发者学堂课程【关系型数据库 ACP 认证课程数据库生态工具&架构】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/927/detail/14622


数据库生态工具&架构

 

一、 数据库生态工具

二、 回顾与总结

三、 试题

 

一、 数据库生态工具

阿里云数据库生态工具,有四个分别是:数据自治服务DAS、数据管理DMS、数据传输服务DTS和数据库备份DBS。

1. 数据自治服务 DAS

简介:数据库自治服务( Database Autonomy Service,简称DAS)是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效。

image.png数据库对很多企业来讲都是业务的基座,企业里面的研发、测试和运营等等,很多人都需要对数据库进行操作,比如说查询。但是这些人对数据库的了解的程度是不一样的,随着业务迭代的速度越来越快,人员彼此业务上也有交叉,越来越频繁,数据库的故障,无论是新闻也好,或者日常的工作当中实际遇到的事情,不再是很新鲜的事儿了。比如说生产业务上出现的问题,或业务大促期间出现性能的瓶颈需要扩容出现的问题,或者表结构、索引出现的一些问题等等。偏偏数据库的问题排查和性能优化一直是一个比较专业的问题,即使是一些很专业的DBA在面对一些棘手问题的时候,也很耗费脑力和时间。

所以对使用数据库带来了越来越大的挑战。基于这样的一个背景,阿里云推出了数据库自治服务。通过DAS操作系统自己不断的构建自主学习的能力。比如异常的自动标注、案例系统的设置、异常的模拟等等,形成一套完善的自治服务。目前DAS操作系统拥有六个知识特性。分别是:72小时的异常检测、故障自愈、自动SQL优化、智能调参、自动弹性伸缩和智能压测和容量评估。

1) 性能指标异常检测

DAS对数据库在运行的状态进行监控的功能。传统的方式是通过规则告警,CPU连续三次超过90%,才会触发告警。导致触发告警的异常信息存在一定的滞后性。DAS是基于实时的机制进行检测,因为利用了机械学习的一些技术。所以可以对监控指标和日志数据等等进行全方位的监控。

image.png图中CPU利用率不断上升,DAS可以比传统的方式更早的发现数据库异常指标,从而降低对业务的影响。

DAS检测异常指标的方法上主要有这五个:毛刺( Spike ) 、周期性( Seasonality )、趋势( Trend )、均值偏移( Meanshift )、新增( Emergence )。

毛刺( Spike ) :短时间内突增突降

常见场景:

l 故障抖动,数据库活跃线程飙升

l 瞬间流量波动,如:秒杀业务场景

示例:

image.png周期性( Seasonality ):周期规律性变化

常见场景:

l 业务高峰和低峰

l 工作日和周末时间段波动区别

l 周期性任务

示例:

image.png趋势( Trend ) :按某种规则稳步地增长或下降

常见场景:

l 流量、CPU利用率等逐渐增长

l 库表、磁盘空间使用增长

示例:

image.png均值偏移( Meanshift ):在某个时间点发生转折变化

常见场景:

l 业务大促

l 磁盘空间进行日志清理

示例:

image.png新增( Emergence ):和过去对比,新增的对象

常见场景:

l 业务新功能发布

l 执行方式发生变化

image.png2) SQL诊断和自动SQL优化

主要去是识别出日行效率比较地下的SQL,对他们进行诊断分析并进行一些合理的优化,来达到自动优化SQL的效果。自动SQL优化本身是基于数据驱动的闭环流程。

image.png异常的事件是异常的SQL引发的,这个是由DAS的事件中心进行检测的,这时候就会触发进行检测,诊断发起。发起后DAS会对实例进行初步的诊断,通过表维度视维度来生成若干条的诊断结果和优化的建议,就会推送到DAS自治中心里面,页面里面就会看到。然后根据建议做优化,选择合适的运维窗口期进行执行。后端会有机械学习引擎在,随意会持续的跟踪这个效果。

规模性:足具扩展性的服务架构,以支撑几十万级、百万级的大规模自动优化。

精准性:异常检测机制,实现优化时机的精准识别,问题SQL的精准定位。

安全性:线上无小事,线上变更如何做到安全可控。

全面性:优化效果的全面多维度跟踪,全面实时评估,也是保证安全性的要求。

联动性:综合治理能力,如突发的恶性慢SQL问题,DAS的自动SQL限流,自动SQL优化需要形成联动效应,实现问题的标本兼治。

3) 自动空间的优化

针对数据库实例的存储空间进行优化。帮助我们节省数据库实例的磁盘空间。

image.png

自动空间优化手段:无流量表识别、Optimize Table、无流量索引识别、冗余索引

4) 自动SQL限流

遇到缓存穿透或者性能低下的“烂SQL”。导致业务流量跌停的情况。传统解决方案里面这种方式不是很好来解决的,我们只能接受业务崩溃或者开发人员把这个问题找到。自动SQL限流是对数据库实例上的特定的SQL来采取限制运行措施的功能。至少应急是非常有用的,可以对SQL的数据进行监控,有效的识别出当前的SQL是阻塞型SQL、资源消耗型SQL还是流量型SQL。当DAS检测到数据库实例资源紧张的信息的时候会把问题SQL的语句识别出来并且给出相应的限流建议。

5) 自动的弹性伸缩

是指DAS会根据数据库实例在运行的时候负载还有一些设计的策略自动的调整数据库的计算能力。比如说当数据库出现资源紧张的时候就给出推荐的合理的扩容规格,快速把数据库实例的规格提上去。当负载下降以后通过降配的方式来回收。

image.png在图中这个业务实例流量是逐步升高的。DAS经过诊断以后发现当前的流量是只读流量占了大部分,所以给出建议增加两个只读节点来应对负载。随后又出现溯源紧张的情况。诊断出读写流量占比都比较大。这时候就采取弹性伸缩提高规格。两次突发情况变配的事件都比较短,但是累计的收益时间很长。

6) 智能压测

主要针对SQL的流水进行处理后记录真实业务的一些行为,然后进行回访模拟。就可以在大促前对数据库性能进行精确的评估。这个功能是和达摩院共同研发出来的。

image.png

低负载捕获真实业务流量、支持写流量回放压测、通过学习自动生成压测流量、支持语法自动转换。

2. 数据管理 DMS

DMS是面向数据库开发者、数据开发者的一站式在线数据管理平台。

image.png如上图,DMS是几乎全面支持阿里云生态里的几乎所有的数据源。面向这些数据源,DMS提供了四个方面的管理能力:数据资产与安全、数据设计与开发、数据传输与加工、数据应用。这些能力主要构成的这几个大类的功能:统一数据目录、数据治理、数据血缘、数据隐私与脱敏、协作开发、安全管控、数据集成、编排调度。可以应对很多的场景,比如说数据化运维DataOps、容灾/多活、T+1/实时/归档、数据集中处理、可视化报表、多维分析等等。

1) 数据管理DMS企业级能力简介:

一站式数据管理DMS提供了包含全域数据资产、数据库设计与开发、数据集成、数据开发、数据可视化及数据服务等能力。通过内置阿里巴巴数据库研发规范及数据安全最佳实践,DMS可帮助企业实现高效敏捷、安全可靠的数据生产、处理及消费等一站式的体验。

一站式数据管理平台:

● 覆盖27种常见数据源

● 跨云/IDC支持多环境的数据源

● 覆盖数据全生命周期的所有管理功能

全域数据资产:

● 覆盖常见的数据存储搜索分析,轻松理解数据

大规模实践的安全能力

● 端到端数据安全治理能力,轻松应对合规认证。

23种数据源实时集成:

● 基于数据库日志解析+分布式调度框架,实现秒级延迟的数据实时集成

零代码+E2E诊断:

● 全图形化/向导式,E2E自助诊断运维、数据血缘及变更联动降低数据处理门槛

高效敏捷:

● 阿里巴巴规模实践的DataOps流程实现数据开发加工的高效敏捷

2) 数据安全能力架构与简介:

在企业里安全是一个重要的细节。尤其有些企业人员规模越来越大,人员账号管理混乱最小化权限授予原则难以保障,敏感数据需要有效识别、脱敏合规审计支撑,使安全成为很管理的点。面对这些问题DMS分别从事前、事中、事后三个阶段来提供安全的能力。

事前:企业域账号对接,数据自动分类、分级,细粒度权限分配,语法级安全规则管控。

事中(实时):鉴权,脱敏(静态环境构建、动态实时访问),性能安全拦截,语法规则拦截。

事后:全流水操作日志,基于人员的操作审计,基于数据库操作的操作审计,水印追溯(防泄漏)。

企业管理实时联动,基于OpenAPI实践,可有效保障企业员工流转时,域账号及权限的全自动化管理。避免账号清理不及时潜在数据泄露风险。数据分类分级全面覆中华人民共和国网络安全法、盖GDPR、SOx、PCI Dss.HIPAA等法律法规。精细分类与脱敏内置110+分类规则,即将拓展用户自定义识别;支持哈希、遮掩、替换、变换、加密等常用脱敏算法。合规审计支持企业上市合规审计、常规内审等,基于DMS统一纳管可全方位支持人员权限、数据库变更与访问的详细流水审计。

3) 数据库DataOps能力介绍:

针对的企业痛点:有哪些规范?规范在哪里﹖不同业务的规范怎么支持﹖如何保障规范的生效﹖研发效率怎么提升?

DMS数据库DataOps研发流程:

准备阶段:元数据自动采集、设计规范配置、研发流程配置、审批流程配置。

开发阶段:表结构设计、自助查询变更、SQL审核优化、测试环境构建。

发布阶段:无锁变更、研发规范监测并拦截、流程审批、变更异常回滚。

丰富数据源:

支持27种数据源,包括OLTP/OLAP/NoSQL/对象存储/数据湖;支持跨IDC、云厂商数据源的统一管理。

稳定可控:

通过无锁变更、变更前备份及变更异常自动回滚等策略保障开发过程中,数据库稳定可控。

安全可信:

内置阿里巴巴最新研发规范,规避无主键等不合理设计带来潜在风险;目前支持200+设计及审核规范,可按需调整。

敏捷高效:

基于设计规范,研发人员全自助即可完成合规的数据库开发,非生产环境可做到免审批,仅生产环境需要审核。保障安全的同时,实现高效协同。

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
22天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
93 6
|
2月前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
2月前
|
设计模式 缓存 关系型数据库
探索微服务架构中的数据库设计挑战
微服务架构因其模块化和高扩展性被广泛应用于现代软件开发。然而,这种架构模式也带来了数据库设计上的独特挑战。本文探讨了在微服务架构中实现数据库设计时面临的问题,如数据一致性、服务间的数据共享和分布式事务处理。通过分析实际案例和提出解决方案,旨在为开发人员提供有效的数据库设计策略,以应对微服务架构下的复杂性。
|
2月前
|
消息中间件 缓存 监控
优化微服务架构中的数据库访问:策略与最佳实践
在微服务架构中,数据库访问的效率直接影响到系统的性能和可扩展性。本文探讨了优化微服务架构中数据库访问的策略与最佳实践,包括数据分片、缓存策略、异步处理和服务间通信优化。通过具体的技术方案和实例分析,提供了一系列实用的建议,以帮助开发团队提升微服务系统的响应速度和稳定性。
|
1天前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
2天前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
22天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
58 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
2月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
1天前
|
缓存 监控 API
探索微服务架构中的API网关模式
随着微服务架构的兴起,API网关成为管理和服务间交互的关键组件。本文通过在线零售公司的案例,探讨了API网关在路由管理、认证授权、限流缓存、日志监控和协议转换等方面的优势,并详细介绍了使用Kong实现API网关的具体步骤。
11 3
|
2天前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
23 4

热门文章

最新文章