17.sql server数据库使用规则、二八原则、数据库查询集群--数据库读写分离多种实现、数据库配置读写分离(by-朝夕)
Database
- 课程目标
- 环境准备:
- 一.二八原则
- 二.数据库读写分离
- 好处:
- 绝大部分的企业内部应用,可能不需要上图那么庞大的架构,一台主数据库服务器和一台查询服务器通常能满足读写分离的要求。而且应用程序调整起来非常方便:
- 适用场景:
- 三.SqlServer多种读写分离
- 快照发布:
- 事务发布:
- 对等发布:
- 合并发布:
- 读写分离以后,其实是把查询动作分摊到不同的数据库中去了;提高性能
- 四.分库
- 五.分表
- 六.分库分表注意事项
课程目标
1 数据库使用规则
2 二八原则
3 数据库查询集群–数据库读写分离多种实现
4.数据库配置读写分离
环境准备:
Microsoft SQL Server Management Studio 18 2012以上;
一.二八原则
- 通常,我们的(添加、修改、删除)操作,在数据库中,只占有百分之二十的一部分。而剩下百分之80的操作,都是进行查询。
- 我们根据这个原则,可以对我们数据库进行读写分离。
二.数据库读写分离
好处:
- 数据是网站的生命,读写分离通过主从备份数据,保证了系统的冗余,保护了珍贵的数据。 通过将
“读”操作和“写”操作分离到不同的数据库服务器上,降低对主服务器的CPU、内存、存储、网络资源的争
用; - 主服务器的增删改进行时,不影响查询服务器的查询,降低阻塞的发生,提高了并发性;
- 在应用程序提交了报表请求、不合理的查询请求时,不会导致长时间的锁表;
- 建立容灾副本甚至实现异地容灾,在发生灾难时,可以减少数据的损失;
绝大部分的企业内部应用,可能不需要上图那么庞大的架构,一台主数据库服务器和一台查询服务器通常能满足读写分离的要求。而且应用程序调整起来非常方便:
- 在应用程序的配置文件中设置两个数据库连接字符串,一个指向主服务器,一个指向查询服务器;
- 增删改或者实时性查询使用指向主服务器的连接字符串;
- 允许非实时的查询及报表请求使用指向查询服务器的连接字符串。
适用场景:
- 网站初期想要缓解数据负载最简单可行的方案。
- 服务器面对的是读远大于写的场景,并且业务能够允许时间上一些延迟。
主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;
二是可在从数据库作备份、数据统计等工作,这样不影响主数据库的性能;
当一个从服务器连接主服务器时,它通知主服务器从日志中读取最后一次成功更新的位置。
从服务器接收从那时起发生的任何更新,并在本机上执行相同的更新。然后封锁并等待主服务器通知新
的更新。
从服务器执行备份不会干扰主服务器,在备份过程中主服务器可以继续处理更新
三.SqlServer多种读写分离
快照发布:
介绍:数据库快照就想象成相机就可以了,就是将数据库拍下来,拍摄个一模一样的。做一次备份
优势:类似一个人成长,有很多张照片,例如你每年拍一张,那么以后查看起来是非常方便的。
劣势:这个无法做到实时备份,只能是某一刻的一个备份,很多需求会不满足,而且如果数据量非常
大,那么对性能也有一定的的消耗
事务发布:
介绍:也是两个库,一个主库一个从库,主从库之间是一种发布订阅的关系,就是我修改了通知你,
或者你时时来读取我,看看我是否修改了,就这么简单
优势:他是读取的日志文件,根据日志文件达到同步的,所以基本可以满足同步,并且我粗略的测试
了一下,除非服务器堵塞,否则性能还是很高的,百万数据同步几秒钟就可以完成,足见其效率了。
劣势:发布者和订阅者之间并非实时同步的,所以经常会有延时,这个就属于不定性因素的,而且消
耗>数据库镜像 .
详细操作地址
https://blog.csdn.net/hello_mr_anan/article/details/118093045
对等发布:
介绍:
合并发布:
介绍:合并发布是相当于两台都是主服务器,都可以对数据进行更新修改等操作,然后定时将发布服
务器上的内容与订阅服务器上的内容进行合并,并根据配置保留相应内容,此种很少用。
图片总结:
读写分离以后,其实是把查询动作分摊到不同的数据库中去了;提高性能
本质是通过增加硬件+数据的读写法分离机制;如何通过纯技术手段来解决数据库性能瓶颈呢?
四.分库
场景:应用于海量数据;数据一旦太多,基本上性能优化的套路都失效;
把数据分摊:把数据库切分:
- 垂直拆分:按照需求拆分:电商系统----一个数据====多个数据库,每个数据库负责一个模块;拆分以后,每个数据库的数量减少了,数据操作来说提高性能;
特点:每个数据库的表结构都不同;
局限:拆分后关联查询复杂----建议如果遇到关联查询比较多,就不要拆开—根据具体场景来做; - 水平拆分
特点:每个数据库的结构都一致,数据不一致;(区域/时间/类别/随机(定义一套规则----存入数据的时
候确定是哪个数据库,查询数据的时候,还是通过这个规则确定是哪个数据))
劣势:数据操作的时候,不方便,需要程序来支持;
五.分表
- 垂直分:
表和表示一对一的关系;
一个表存在字段,用多个表成列(建议大家把常用的字段分在一个表);
文章表:20字段+很长的文章内容字段==垂直拆分,20个字段一个表,文章内容+外键一个表 - 水平分:
表结构一致,数据不一致;
拆分建议:时间/类别/区域
六.分库分表注意事项
- 程序需要支持;
建议:大家一定要按照场景需求来,
房产----城市拆分
电商:时间来拆分
追求平均:保存数据的时候,如果有ID ,如果来十个表存储;通过Id/10 取余数确定到哪个表,定
义规则,保存需要按照规则保存,查询自然要要按照规则查询; - 更多的也是建议,如果大家有自己的想法,有更好的方案,也欢迎大家提出来
- 如果频繁使用,频繁关联的内容,尽量聚在一起个表(一个数据库)
17.sql server数据库使用规则、二八原则、数据库查询集群--数据库读写分离多种实现、数据库配置读写分离(by-朝夕)相关推荐
- 【数据库】关于SQL SERVER的排序规则的问题分析
在安装报表系统,运行sql语句时候提示"无法解决 equal to 操作的排序规则冲突.",费了半天时间才搞定,原来是因为sql语句中没有加全collate Chinese_PRC ...
- SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理
原文:SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理 SQL Server 字段类型 decimal(18,6)小数点前是几位? 不可否认,这是 ...
- SQL SERVER 的排序规则
有时候查询数据库的时候会发现(比如做重名检查的时候):数据库的查询时对大小写不敏感的,也就是 A 和 a 是一样的. 也就是说 select * from tabletest where name = ...
- Mysql数据库(十一)——MHA高可用集群部署及故障切换
Mysql数据库(十一)--MHA高可用集群部署及故障切换 一.MHA概述 二.MHA的组成 三.MHA的特点 四.案例环境 1.服务器配置 2.思路 3.关闭防火墙和安全机制,并进行主从配置 4.配 ...
- oracle集群服务创建表空间,Oracle数据库集群添加表空间操作规范
Oracle数据库集群添加表空间操作规范 Oracle数据库集群添加表空间操作规范 1.首先检查dg空间是否充足SQL> select name,total_mb,free_mb,USABLE_ ...
- Docker下Redis Cluster分片集群的搭建、基本操作、集群扩容和集群故障转移(非关系型数据库技术课程 第九周)
文章目录 Docker 下Redis Cluster 分片集群搭建 1. Cluster 分片集群 1.1 Cluster 集群的结构和作用 1.2 Cluster 分片集群 的作用 1.3哈希槽(h ...
- 数据库原理与应用(SQL Server)笔记 第二章 简单数据查询
文章目录 前言 一.SELECT 子句 (一)投影指定的列和投影全部列 (二)AS子句修改查询结构的列标题 例题1 (三)TOP谓词限制结果集中的行数 (四)INTO子句将结果插入新表中 例题2 (五 ...
- sql server创建新用户名登录以及为表添加角色和权限的多种方法
1.在SQL Server Management Studio中为所属的SQL服务器设置为SQL Server和Windows NT混合安全认证模式.其步骤如下: (1) 在对象资源管理器中 ...
- SQL Server 调优系列基础篇 - 子查询运算总结
前言 前面我们的几篇文章介绍了一系列关于运算符的介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符.有兴 ...
最新文章
- linux mysql 数据目录迁移后不生效_Linux中更改转移mysql数据库目录的步骤
- 基于stm32f429的手写识别_关注智能手机老年用户:百度输入法手写模型迎来重磅升级...
- python如何画曲线图_如何使用python画曲线图
- 天池又上工业视觉检测算法大赛:瓶装白酒疵品质检
- JS中对于prototype的理解
- 学者当自树其帜——为一本书专建的“第二次宣言网”上线有感
- 海洋工作室——网站建设专家:全数据库比较工具
- android 日期下拉选择控件,Android 中日期控件与下拉列表的使用
- 《穿越计算机的迷雾》读书笔记九
- cad字体安装_CAD字体大全下载【软件下载】
- 用flash做古诗动画_《古诗三首》Flash动画课件
- 关系数据库到Hbase数据库的数据迁移
- 如何将本地代码保存至码云中
- 宝塔怎么看蜘蛛爬取日志
- 教育之星 计算机,冉冉升起的教育之星
- Flex布局实战:支付宝首页
- 白城师范学院计算机系鲍金玲,白城师范学院举办程序设计竞赛
- 麒麟系统开机自启动服务、执行脚本、命令
- 【观察】从最佳实践走向行业赋能,华为重构数字化办公新体验
- 【时序】TCCT:用于时间序列预测的紧耦合卷积 Transformer