读高性能MySQL(第4版)笔记19_云端和合规性

news2024/9/28 1:24:09

1. 如何构建数据库环境

1.1. 托管MySQL

1.2. VM上构建

1.3. 天下没有免费的午餐,每一个选择都伴随着一系列的权衡

2. 托管MySQL

2.1. 服务商提供了一个可访问的数据库设置程序,而不需要用户深入了解MySQL的具体细节

2.2. 使用托管MySQL将缺乏很多的可见性和控制能力

2.3. Aurora MySQL

2.4. 谷歌云平台(GCP)提供了CloudSQL

3. Aurora MySQL

3.1. Aurora MySQL是一个兼容MySQL的托管数据库

3.2. 将计算和存储分开,这使二者可以更灵活地单独扩展

3.3. Aurora中的所有托管解决方案都不兼容MySQL 8.0,而一些较旧的解决方案只兼容MySQL   5.6

3.4. 标准的Aurora产品是长期运行的计算实例,在其中选择一个实例类型

3.5. Aurora集群内的复制完全是Amazon专有的,而不是我们在Oracle MySQL中所知道和使用的复制

3.6. Aurora无服务器(Serverless)

3.6.1. Aurora MySQL的无服务器服务移除了长期运行的计算程序,并利用亚马逊的无服务器平台为数据库的计算层提供服务

3.7. Aurora全局数据库(Global Database)

3.8. Aurora多主节点(Multi-Master)

3.8.1. 多主节点是Aurora集群的一种特殊风格,可以同时在多个计算节点上接受写操作

4. GCP Cloud SQL

4.1. Cloud SQL是GCP的托管MySQL的产品

4.2. 它运行的是社区版MySQL,但特别禁用了某些功能,以实现产品的多租户和可管理

4.3. SUPER权限被禁用

4.4. 插件加载功能被禁用

4.5. 一些客户端也被禁用了,如mysqldump和mysqlimport

4.6. 原生的高可用性支持

4.7. 静止数据的原生加密

4.8. 使用多种方法实现灵活管理的升级

5. 虚拟机上的MySQL

5.1. 在虚拟机上运行MySQL就像在裸金属服务器上运行一样,你可以完整和彻底地控制所有的操作面

5.2. CPU

5.2.1. 虚拟CPU,而不是物理CPU

5.2.2. vCPU数量的计数公式

5.2.2.1. (CPU核的数量×95%CPU总使用量)×2
5.2.2.2. 建议将50%作为常规的使用率目标,最高可达到65%~70%
5.2.2.3. 如果维持在70%或更高的CPU使用率,将可能会看到延迟增加,此时应该考虑添加更多的CPU

5.2.3. 运行的是一个高流量的Web应用程序,则可能需要确保使用更新一代的芯片

5.3. 内存

5.3.1. RAM可以极大地影响MySQL的性能

5.3.2. 应为工作数据集选择最适合需求的机器规格,但错误的做法是RAM太多而不是不够

5.4. 网络性能

5.4.1. 如果有一个将读取大量数据的批处理进程,则你可能会发现在较小的机型上带宽已耗尽

5.5. 选择正确的磁盘类型

5.5.1. 高读密集型的工作负载将受益于更多的内存而不是磁盘性能,因为内存访问要快几个数量级

5.5.2. 如果工作集大于InnoDB缓冲池,那么将总是需要到磁盘上读取一些数据

5.5.3. 写密集型的工作负载总是会转移到磁盘上,这也是大多数人第一次看到磁盘瓶颈的地方

5.6. 磁盘的连接类型

5.6.1. 本地连接磁盘的好处是,其提供了令人难以置信的高性能和一致的吞吐量,但也很容易导致数据丢失

5.6.1.1. 被视为仅用于短暂数据的磁盘

5.6.2. 网络连接的磁盘可提供冗余和可靠性

5.6.2.1. 网络连接的磁盘可能会遇到本地连接的磁盘不会出现的停顿

5.6.3. 还可以使用磁盘快照技术让副本复制变得非常快,即使在许多TB级大小的磁盘上

5.6.3.1. 可以让需要在副本可用之前赶上来的复制的延迟降到最低

5.7. SSD与HDD

5.7.1. SSD的启动速度比HDD快两到三倍

5.7.2. 如果启动时间很重要,特别是在停机或重新启动的情况下,那么请始终使用SSD

5.8. IOPS和吞吐量

5.8.1. Percona Toolkit包中的pt-diskstats

5.9. 只允许服务器恢复在线和复制,以让它自己自然地重新连接

5.9.1. 使用SSD引导磁盘来允许尽可能快地重新启动。通常系统会在5分钟内恢复在线

5.9.2. 禁止长达5分钟时间内的任何服务器宕机的告警通知,以使系统完全重启并恢复正常

5.9.3. 如果源服务器重新启动,你可以编写一个选项来动态关闭read_only标志,从而让写入在没有人工干预的情况下继续进行

5.9.4. 通过自动地向可能需要了解中断的团队或渠道发送邮件或消息,来让沟通最大化

5.10. 建议将操作系统和MySQL数据分开

5.10.1. 磁盘快照将仅限于MySQL数据,并且不包含任何操作系统信息

5.10.2. 在使用网络连接的磁盘的情况下,可以轻松地断开磁盘的连接并重新连接到另一台机器

5.10.3. 对于网络连接的磁盘,还可以升级或替换操作系统,而不必将数据重新复制到文件系统中

5.11. 备份二进制日志

5.11.1. 将二进制日志发送到一个存储桶中

5.11.2. 在桶上设置生命周期控制,以便在一段确定的时间后自动清除旧文件

5.11.3. 阻止在特定时间之前删除文件,或完全不允许删除

5.11.4. 控制谁可以读取或删除这些数据对于维护安全的备份策略至关重要

5.11.5. 建议允许所有数据库机器写入,但没有机器能够读取或删除。分别或同时控制受限账户、机器的读取和删除

5.12. 自动扩展磁盘

5.12.1. 对于网络连接的磁盘,需要为预分配的而不是已使用的空间付费

5.12.2. 一种优化方法是将磁盘空间使用率目标提到更高的百分比

6. 合规性

6.1. DBA的工作并不局限于在业务运行时管理这些数据,还需要帮助企业保护数据,并使数据符合法律要求,或获得对企业至关重要的监管认证

6.2. 合规是一个涉及政策和控制的广泛领域,对每种政策和控制的解释也很多

6.3. GRC

6.3.1. 治理(Governance)

6.3.2. 风险管理(Risk management)

6.3.3. 合规性(Compliance)

6.4. 控制是公司内部定义的流程和规则,用于减少意外风险结果发生的概率

6.5. 合规性的构建是一个持续的过程,在需要的时候不容易“添加”

6.6. 法规法案

6.6.1. 服务组织控制类型2(SOC 2)

6.6.2. 2002年发布的萨班斯-奥克斯利法案(SOX)

6.6.3. 支付卡行业数据安全标准(PCI-DSS)

6.6.4. 1996年发布的《健康保险可携带性和责任法案》(HIPAA)

6.6.5. 联邦风险和授权管理计划(FedRAMP)

6.6.6. 通用数据保护条例(GDPR)是欧盟于2016年推出的

6.6.7. 2020年,欧盟司法法院裁决了欧盟和Facebook爱尔兰分部之间的一桩案件。这项通常被称为Schrems II

6.7. 不要共享用户

6.7.1. 不要跨服务共享数据库凭据

6.8. 不要在代码仓库中提交生产数据库凭据

6.8.1. 一种常见的做法是在合并一个pull请求之前,扫描代码库寻找潜在的机密字符串(GitHub等代码仓库托管服务可以实现

6.9. 确保密码始终以加密方式而不是以明文形式存储

6.9.1. 机密信息的长度做了限制,如果想存储比数据库的用户和密码对更长的内容,可能会导致意外

6.10. 区域的可用性

6.11. 角色与数据分离

6.11.1. 基于数据泄露将给企业或客户带来的风险等级对数据进行分离

6.12. 出于合规性原因进行分片

6.13. 独立的数据库用户

6.14. 跟踪变更

6.14.1. 很多合规性法规都附带了跟踪变更的控制措施

6.15. 很多合规性法规都附带了跟踪变更的控制措施

6.16. ⑩数据访问日志

6.16.1. 要求维护特定数据集的变更日志或访问日志

6.16.2. Percona审计日志插件是Percona发行的MySQL分支的一部分,但是默认情况下没有安装或启用

6.17. ⑾schema变更的版本控制

6.18. 建议设置这样一个策略:“删除六个月内未连接过数据库的用户”。这一做法将有助于防止使用不需要的、现在已成为负担的访问

7. 不建议使用触发器

7.1. 触发器会导致写性能下降,这会在最糟糕的时候对性能造成影响

7.2. 触发器相当于在数据库中存储业务逻辑,这是不推荐的

7.3. 在数据库中存储代码可能会绕过测试、转移和部署代码的任何过程。触发器可能意外地导致故障

7.4. 触发器只能支持跟踪写入操作。无法扩展成可以跟踪读取访问的解决方案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1130461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vueDay03——计算属性

一、一般场景 当我们需要对某个数据进行简单判断渲染的时候&#xff0c;我们通常会使用如下方法 <div>nginx当前状态&#xff1a;{{ openNginx true ? true : false}} </div> 但是这样就很影响观感&#xff0c;因为渲染出来的只有openNginx的值&#xff0c;而…

微信小程序投票管理系统:打造智能、便捷的投票体验

前言 随着社交网络的兴起和移动互联网的普及&#xff0c;人们对于参与和表达意见的需求越来越强烈。在这个背景下&#xff0c;微信小程序投票管理系统应运而生。它为用户提供了一个智能、便捷的投票平台&#xff0c;使用户可以轻松创建和参与各种类型的投票活动。本文将详细介…

【C++学习笔记】类和对象(上)

目录 1. 面向对象和面向过程的初步认识 2. 类的引入 3. 类的定义 3.1 类的两种定义方式 3.1.1声明和定义全部放在类体中 3.1.2.类声明放在.h文件中&#xff0c;成员函数定义放在.cpp文件中 4. 类的访问限定符及封装 4.1 访问限定符 4.2 面试题&#xff1a;C中struct…

百度文心一言4.0——使用及API测试

登录百度智能云&#xff1a;百度智能云 文心一言4.0使用 开通付费&#xff1a; 创建应用&#xff1a; 自行创建应用名称&#xff1a; 对话测试&#xff1a; API测试 ERNIE-Bot-4 API&#xff1a;ERNIE-Bot-4 打开链接查看自己的API Key&#xff0c;Secret Key。 可参…

Python手搓C4.5决策树+Azure Adult数据集分析

前言 课上的实验 由于不想被抄袭&#xff0c;所以暂时不放完整代码 Adult数据集可以在Azure官网上找到 Azure 开放数据集中的数据集 - Azure Open Datasets | Microsoft Learn 数据集预处理 删除难以处理的权重属性fnlwgt与意义重复属性educationNum去除重复行与空行删除…

从一个页面跳转到目标页面之后,对应的顶部路由高亮

需求&#xff1a;页面跳转到目标页面之后&#xff0c;对应的顶部路由高亮 上面的更多 跳转到 学情分析下面的学生分析 <template><div class"topBar" ref"topBar" v-loading.fullscreen.lock"fullscreenLoading"><div class&quo…

dc9靶机攻略

dc9 扫描 扫描结果如图 nmap 目录扫描 指纹扫描 渗透 访问首页 该处发现搜索框&#xff0c;正常搜名字可以直接返回该用户的信息&#xff0c;怀疑sql注入&#xff0c;使用单引号注入&#xff0c;发现没反应&#xff0c;再使用一下万能注入语句1 or 11 使用sqlmap sqlmap -…

什么是蓝桥杯?什么是蓝桥STEMA考试?

第十五届蓝桥大赛赛事安排? STEMA考试11月(考试时间11月26日) STEMA考试1月(2024年1月) STEMA考试3月(2024年3月) 第十五届蓝桥杯省赛(2024年4月待定) 第十五届蓝桥杯国赛(2024年5月待定) 注:以上时间具体以组委会官方发布为准。 01.蓝桥杯 蓝桥杯全国软件和…

【每日一题】掷骰子等于目标和的方法数

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;动态规划 写在最后 Tag 【动态规划】【数组】 题目来源 1155. 掷骰子等于目标和的方法数 题目解读 你手里有 n 个一样的骰子&#xff0c;每个骰子都有 k 个面&#xff0c;分别标号 1 到 n。给定三个整数 n&#xff0…

部署基于efk+logstash+kafka构建日志收集平台并对nginx日志进行分析

文章目录 1.1 安装zookeeper集群1.2 安装kafka集群1.3 部署filebeat服务1.4 部署logstash1.5 部署es和kibana服务1.6 配置kibana ui界面1.7 对nginx进行日志分析 Filebeat采集日志kafka topic存起来日志->logstash去kafka获取日志&#xff0c;进行格式转换->elasticsearc…

【计算机网络笔记】网络应用进程通信

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

【RocketMQ系列十四】RocketMQ中消息堆积如何处理

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精…

Elasticsearch分词器-中文分词器ik

文章目录 使用standard analysis对英文进行分词使用standard analysis对中文进行分词安装插件对中文进行友好分词-ik中文分词器下载安装和配置IK分词器使用ik_smart分词器使用ik_max_word分词器 text analysis 使用standard analysis对英文进行分词 ES默认使用standard analys…

【Java】智慧医院绩效考核系统源码

医院绩效考核系统使用JAVA语言开发&#xff0c;采用B/S架构模式设计&#xff0c;后台使用MySql数据库进行管理的一整套计算机应用软件。系统和his系统进行对接&#xff0c;按照设定周期&#xff0c;从his系统获取医院科室和医生、护士、其他人员工作量&#xff0c;对没有录入信…

【MySQL架构篇】逻辑架构

逻辑架构 文章目录 逻辑架构1. 服务器处理客户端请求2. Connectors3. 第一层&#xff1a;连接层4. 第二层&#xff1a;服务层5. 第三层&#xff1a;存储引擎6. 存储层7. 小结 1. 服务器处理客户端请求 首先 MySQL 是典型的 C/S 架构&#xff0c;即 Client/Server 架构&#xf…

idea 基础设置

1、设置 IDEA 主题 2、自动导包和优化多余的包 3、同一个包下的类&#xff0c;超过指定个数的时候&#xff0c;导包合并为* 4、显示行号 &#xff0c; 方法和方法间的分隔符&#xff1a; 5、忽略大小写&#xff0c;进行提示 6、多个类不隐藏&#xff0c;多行显示 7、设置默认的…

2023高频前端面试题-CSS

1. CSS 选择器的优先级是怎么样的&#xff1f; CSS 选择器的优先级顺序&#xff1a; 内联样式 > ID选择器 > 类选择器 > 标签选择器 优先级的计算&#xff1a; 优先级是由 A、B、C、D 四个值来决定的&#xff0c;具体计算规则如下 A{如果存在内联样式则为 1&…

计算机网络-计算机网络体系结构-应用层

目录 一、网络应用模型 客户/服务器模型(Client/Server) P2P模型(Peer-to-peer) 二、域名解析系统(DNS) 域名 域名服务器 解析过程 三、文件传输协议(FTP) FTP控制原理 四、电子邮件 组成结构 协议 SMTP MIME POP3 IMAP 五、万维网和HTTP协议 概述 HTTP 报…

MySQL数据库---入门篇

文章目录 数据库介绍什么是数据库&#xff1f;数据库分类 MySQL的结构MySQL客户端和服务器MySQL服务器是如何组织数据的&#xff1f; 数据库操作显示当前数据库创建数据库使用数据库删除数据库 数据库中常用数据类型数值类型字符串类型日期类型 表的操作创建表查看表结构查看当…

Linux系统编程:线程

从进程到线程 为什么需要线程&#xff1f;这是因为进程本身存在一定问题&#xff1a; 首先是进程切换时&#xff0c;各类进程资源如寄存器CPU、包括虚拟地址和物理地址要进行映射等等进行上下文切换&#xff0c;这是非常消耗资源和时间的事情&#xff0c;并且实现进程间通信非…