美文网首页
第1章 实例和故事

第1章 实例和故事

作者: 马_黎 | 来源:发表于2018-08-29 22:37 被阅读0次

一个大的项目,对于web前端我们可以横向扩展

数据库扩展

常用的数据库扩展是

一个主数据库服务器和一堆的从服务器
这种方式,如果主服务器坏了的话,那么只能再从服务器中找一个数据最新的服务器来做成下新的主服务器,让后再更新其他的数据,这样的做法是比较麻烦的。

影响服务器性能的因素

  • sql查询(占80%)
  • 网卡
  • 磁盘IO
  • 硬件

注意,尽量不要再主服务器上做备份,特别是有大活动的时候。

超高的QPS(每秒的查询书)和TPS(每秒事务处理量)

风险:
超低的执行效率低的sql
每个sql只能用一个CPU

大并发和超高的使用率

风险:

  • 大量的并发会是数据库的连接数沾满(这时候访问网站会出现500错误)
  • 超高的cup使用lv,会使服务器宕机

数据并发参数的设置 max_connections = 100(默认)

磁盘IO

风险:

  • 磁盘的读写能力突然下降
  • 调整计划任务

网卡流量

  • 减少服务器流量
  • 分级缓存
  • 避免使用select *
  • 分离业务网和服务器网络

大表带来的问题

什么是大表?

  • 记录数据过大,超过千万条
  • 表的数据大于10G

风险:

  • 降低sql查询速度,很难过滤所需要的数据
  • 大表建立索引需要更多的时间
    • mysql<5.5的会锁表
    • mysql>5.5的主从延迟很高
  • 修改表结构,需要长时间锁表,影响数据的正常操作

处理大表

分库分表

难点

  • 分表的主键选择
  • 分表后夸区数据查询和统计

大表历史归档

减少后端对数据的影响

难点:

  • 时间点的选择
  • 如何归档操作

事物

原子性

要改就全部改成功

一致性

事物将数据库中的数据,从一种形态变换成另一种形态!数据的完整性没有被破坏

隔离性

未提交前,其他操作是不可见的。
四种隔离级别:

  • 未提交读
  • 已提交读
  • 可重复读(默认)
  • 可串行化

隔离性由低到高

由高到低

持久性

一旦事物提交,那么数据会永久的保存数据库中。

大事物的风险

时间才,操作的数据比较多。
风险

  • 锁定带太多的数据,造成大量的堵塞
  • 回滚时间过长
  • 造成主从延迟

大事物的处理

  • 避免一次性处理太多的数据
  • 删除不必要的查询操作

相关文章

  • 第1章 实例和故事

    一个大的项目,对于web前端我们可以横向扩展 数据库扩展 常用的数据库扩展是 一个主数据库服务器和一堆的从服务器这...

  • 定时任务crontab使用实例

    使用实例 实例1:每1分钟执行一次command命令: command 实例2:每小时的第3和第15分钟执行命令:...

  • Cron定时任务(实例)

    实例1:每1分钟执行一次command 命令: * * * * * command 实例2:每小时的第3和第15分...

  • vue2.0第四季—实例和内置组件

    第1节 实例入门-实例属性 (一vue和jqueryjs一起使用)一,Vue和JQuery.js一起使用 下载并...

  • crontab使用

    crontab基础教程 1.常用定时任务示例 实例1:每1分钟执行一次myCommand 实例2:每小时的第3和第...

  • sql server 分页

    TOP 表示取出第5和第6条数据。 ROW_NUMBER() 取出第2-4条数据 实例

  • 第27节:类和实例

    面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,...

  • Vue export(导出)、import(导入)

    一、第一种方式导入/导出 js文件导出 Vue实例导入js Vue实例使用js(使用flag和sum函数) 二、第...

  • 【论文】Center Loss: A Discriminativ

    xi表示第i个实例(脸)的特征向量。yi表示第i个实例的类别。Cyi表示yi类别的中心。目的是使所有实例到中心的距...

  • 第33课:使用类和实例

    预习: 9.2 使用类和实例 9.2.1 Car类 练习: 大大: 我:

网友评论

      本文标题:第1章 实例和故事

      本文链接:https://www.haomeiwen.com/subject/wedlwftx.html