分享概要 一、业务场景 二、架构演进 三、架构设计 四、稳定性 五、效率 分享概要 一、业务场景 二、架构演进 三、架构设计 四、稳定性 五、效率 一、业务场景 在开始讲解之前,我先为大家介绍一下B站的业务场景。B站的业务大体上可以分为以下几类: 1、点播类业务 点播类业务就是大家经常看的视频以及稿件之类相关的业务,这类数据使用场景的特点有: 数据一致性要求较高 耗时敏感 流量大 可用性要求高 2、直播类业务 直播类业务对应B站的S12、跨晚、拜年祭等,有以下几个特点: 数据一致性要…
分享概要 一、业务场景 二、架构演进 三、架构设计 四、稳定性 五、效率 分享概要 一、业务场景 二、架构演进 三、架构设计 四、稳定性 五、效率 一、业务场景 在开始讲解之前,我先为大家介绍一下B站的业务场景。B站的业务大体上可以分为以下几类: 1、点播类业务 点播类业务就是大家经常看的视频以及稿件之类相关的业务,这类数据使用场景的特点有: 数据一致性要求较高 耗时敏感 流量大 可用性要求高 2、直播类业务 直播类业务对应B站的S12、跨晚、拜年祭等,有以下几个特点: 数据一致性要…
MySQL8.0性能优化(实践)、InnoDB、索引、缓存、表分区、线程、参数优化、查询性能、慢查询、写入性能、性能调优实践。 一台几年前的旧笔记本电脑的虚拟系统运行环境,作为本次实践的运行工具,仅供参考。案例环境:Linux、Docker、MySQLCommunity8.0.31、InnoDB。过早的MySQL版本不一定适用本章内容,仅围绕 InnoDB 引擎的阐述。 作者:[Sol·wang] - 博客园,原文出处:https://www.cnblogs.com/Sol-wang/p/17076128.html…
视图 什么是视图 视图是一张虚表(建立在真实的table的基础之上,即视图的数据来源是对应的table). 首先需要创建一张表,在表的基础上,指定的列映射成一个视图. 就是一个SELECT查询语句(过滤掉安全隐患列的数据),把它查到的数据作为视图的数据进行映射 视图的语法 视图的创建 语法格式: create view 视图名称 as select语句; create view: 表示要创建的视图; as: 表示要执行的操作; select: 提供给视图的数据内容; 视图和表的区别 视图建立在表的基础之上,表中存储…
MySQL执行流程 select语句执行流程 增删改语句执行流程 update语句的整体执行流程和select语句是一样的。只是少了缓存的那一步骤。 mysql想完成数据的修改,会先从存储引擎层读取数据,把数据读取到服务层进行数据的修改,再通过存储引擎层把数据更新到数据库中。 mysql每次读取数据都会读取16384B的数据,默认是16KB的数据。一页的数据。 在innodb引擎中设计了 buffer pool 缓冲区。Mysql从磁盘中通过IO读取数据到buffer pool中,引擎从bffer pool中获取数…
已知出生年月日,求到今天为止多少岁 select *, --如果当前月份大于出生月,年龄 = 当前年份 - 出生年 if (month(current_date())-month(substr(id_card,7,8))>0, year(current_date())-year(substr(id_card,7,8)), --如果当前月份小于出生月,年龄 = 当前年份 - 出生年 - 1 if( month(current_date())-month(substr(id_card,7,8))<0, ye…
元数据锁 SHARE_READ/EXCLUSIVE: 共享锁:在DQL/DML的时候给表加 SHARE_READ/WRITE 锁,与排它锁互斥 作用:在A事务未提交的情况下,B事务不能修改表结构 排他锁:在DDL的时候给表加EXCLUSIVE锁,与共享/排他锁都互斥。 作用:修改表结构的时候不允许执行DQL/DML 意向锁 IS/IX: 意向共享锁 IS:执行select ... lock in share mode 时,会加行共享锁,以及对表加 IS 意向写锁 IX:执行DML语句时,会加行写锁,同时对表加 IX…
SQL的分类 DDL:数据定义语言 CREATE\ALTER\RENAME(重命名)\DROP\TRUNCATE(清空表) DML:数据操作语言 INSERT\DELETE\UPDATE\SELECT(增删改查) DCL:数据控制语言 COMMIT(提交)\ROLLBACK(回滚)\SAVEPOINT(把事物分的更细一点,回滚到哪一个点上)\GRANT(授予权限)\REVOKE(回收权限) 导入现有数据表的方式 方式一:再终端m采用命令行方式,输入命令:source 现有文件名的全路径; 方式二:基于具体的图形化界…
排序检索数据 排序数据 不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。 子句(clause) SQL语句由子句构成,有些子句是必需的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。子句的例子有SELECT语句的FROM子句。 为了明确地排序用SELECT语句检索出的数据,可使用ORDER BY子句: SELECT prod_name FROM products ORDER BY prod_name; 通过非选择列进行排序: 用非检索的列排序数据是完全合法的。 按多个列排序 为了按多个列排序…
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 作者: KAiTO 文章来源:GreatSQL社区原创 什么是中继日志(relay log) 中继日志(relay log)只在主从服务器架构的从服务器上存在。从服务器(slave)为了与主服务器(Master)保持一致,要从主服务器读取二进制日志的内容,并且把读取到的信息写入本地的日志文件中,这个从服务器本地的日志文件就叫中继日志。然后,从服务器读取中继日志,并根据中…
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 作者:王权富贵 文章来源:GreatSQL社区原创 1.概述 本文通过 XtraBackup 备份单个数据库,然后恢复到另一个实例,用于快速迁移大数据量,使用的软件版本为: 软件名 版本 MySQL mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz XtraBackup percona-xtrabackup-24-2.4.26-1.e…