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

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

开发者学堂课程【关系型数据库 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图形化工具创建数据库表。
相关文章
|
1天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
1天前
|
设计模式 缓存 关系型数据库
探索微服务架构中的数据库设计挑战
微服务架构因其模块化和高扩展性被广泛应用于现代软件开发。然而,这种架构模式也带来了数据库设计上的独特挑战。本文探讨了在微服务架构中实现数据库设计时面临的问题,如数据一致性、服务间的数据共享和分布式事务处理。通过分析实际案例和提出解决方案,旨在为开发人员提供有效的数据库设计策略,以应对微服务架构下的复杂性。
|
1天前
|
消息中间件 缓存 监控
优化微服务架构中的数据库访问:策略与最佳实践
在微服务架构中,数据库访问的效率直接影响到系统的性能和可扩展性。本文探讨了优化微服务架构中数据库访问的策略与最佳实践,包括数据分片、缓存策略、异步处理和服务间通信优化。通过具体的技术方案和实例分析,提供了一系列实用的建议,以帮助开发团队提升微服务系统的响应速度和稳定性。
|
1天前
|
消息中间件 缓存 监控
优化微服务架构中的数据库访问:策略与实践
随着微服务架构的普及,如何高效管理和优化数据库访问成为了关键挑战。本文探讨了在微服务环境中优化数据库访问的策略,包括数据库分片、缓存机制、异步处理等技术手段。通过深入分析实际案例和最佳实践,本文旨在为开发者提供实际可行的解决方案,以提升系统性能和可扩展性。
|
21天前
|
存储 前端开发 关系型数据库
秀啊,用Python快速开发在线数据库更新修改工具
秀啊,用Python快速开发在线数据库更新修改工具
|
21天前
|
前端开发 数据库 Python
用Python轻松开发数据库取数下载工具
用Python轻松开发数据库取数下载工具
|
6天前
|
存储 负载均衡 数据库
探索后端技术:从服务器架构到数据库优化的实践之旅
在当今数字化时代,后端技术作为支撑网站和应用运行的核心,扮演着至关重要的角色。本文将带领读者深入后端技术的两大关键领域——服务器架构和数据库优化,通过实践案例揭示其背后的原理与技巧。无论是对于初学者还是经验丰富的开发者,这篇文章都将提供宝贵的见解和实用的知识,帮助读者在后端开发的道路上更进一步。
|
18天前
|
Java 开发者 前端开发
Struts 2、Spring MVC、Play Framework 上演巅峰之战,Web 开发的未来何去何从?
【8月更文挑战第31天】在Web应用开发中,Struts 2框架因强大功能和灵活配置备受青睐,但开发者常遇配置错误、类型转换失败、标签属性设置不当及异常处理等问题。本文通过实例解析常见难题与解决方案,如配置文件中遗漏`result`元素致页面跳转失败、日期格式不匹配需自定义转换器、`<s:checkbox>`标签缺少`label`属性致显示不全及Action中未捕获异常影响用户体验等,助您有效应对挑战。
37 0
|
18天前
|
SQL 关系型数据库 数据库连接
Entity Framework Core 入门教程来袭!快速上手强大的 ORM 工具,开启高效数据库开发之旅!
【8月更文挑战第31天】Entity Framework Core(EF Core)是一个轻量且可扩展的对象关系映射(ORM)框架,允许开发者使用 .NET 语言操作数据库而无需直接编写 SQL 语句。本教程涵盖 EF Core 的安装、数据库上下文创建、数据库连接配置及常见数据库操作(如添加、查询、更新和删除),并介绍如何利用数据库迁移功能安全地更改数据库结构。通过本教程,你可以快速掌握 EF Core 的基本用法,提高开发效率。
26 0
|
20天前
|
消息中间件 存储 运维
微服务架构下的数据库选择与挑战
【8月更文第29天】随着微服务架构的流行,如何为每个服务选择合适的数据库成为了一个重要的话题。微服务架构强调将大型应用程序分解为一组小型、独立的服务,这些服务通常各自拥有自己的数据库。这种架构模式带来了灵活性和可扩展性,但也带来了数据一致性、事务管理和跨服务数据访问等方面的挑战。
26 0