腾讯云产品学习-关系型数据库
数据库产品常识
存储引擎:存储引擎是指表的类型,数据库的存储引擎决定了表在计算机中的存储方式。
MySQL事务表:支持将批处理当做一个完整的任务统一提交或回滚,即对包含在事务中的多条语句要么全执行,要么全部不执行。
非事务表:不支持此种操作,批处理中的语句如果遇到错误,在错误前的语句执行成功,之后的则不执行。
事务安全表(TST) 比起非事务安全表 (NTST)有几大优势:
- 更安全。即使MySQL崩溃或遇到硬件问题,要么自动恢复,要么从备份加事务日志恢复,你可以取回数据。
- 你可以合并许多语句,并用COMMIT语句同时接受它们全部(如果autocommit被禁止掉)。
- 你可以执行ROLLBACK来忽略你的改变(如果autocommit被禁止掉)。
- 如果更新失败,你的所有改变都变回原来。(用非事务安全表,所有发生的改变都是永久的)。
- 事务安全存储引擎可以给那些当前用读得到许多更新的表提供更好的部署。
非事务安全表自身有几个优点,因为没有事务开支,所有优点都能出现:
- 更快
- 需要更少的磁盘空间
- 执行更新需要更少的内存
数据库DML:数据库数据操作语法,create drop alter
数据库DDL:数据库数据操作语法,insert update delete 等
数据库索引:数据库索引是一个类似于目录这样的用来加快数据查询的技术。
1、简介
云数据库 MySQL(TencentDB for MySQL)是腾讯云基于开源数据库 MySQL 专业打造的高性能分布式数据存储服务。
特点:完全兼容Mysql协议,适用于面向表结构的场景,整合了备份、扩容、迁移等功能,还提供了数据库工具DMC。
2、优势
便宜易用:支持包年包月和按量计费,支持读写分离,单实例支持24万QPS(每秒查询次数),6TB存储空间。
DDos防护和防SQL注入,防暴力破解等攻击行为
高可靠性:主从备份,数据加密,数据库审计
高可用性:支持实时双机热备,基于数据备份+日志备份,支持7-732日无损恢复,自动容灾
TXSQL内核:是腾讯云数据库团队维护的 MySQL 内核分支,100%兼容原生 MySQL 版本,TXSQL 提供了类似于 MySQL 企业版的诸多功能,如企业级透明数据加密、审计、线程池、加密函数、备份恢复等功能。
3、适用场景
游戏应用场景需要弹性扩容和快速回档的业务。
- MySQL 对计算资源的弹性扩容能力,赋予您更高的生产力,分钟级部署游戏分区数据库。
- MySQL 任意时间点回档功能及支持批量操作的特性,帮您随时随地恢复到任意时间点,为游戏回档提供支持。
互联网和移动App应用典型场景
MySQL 在互联网和移动 App 中作为服务端最终数据落地存储介质,针对行业读多写少的场景,可将热点库增加只读实例,大幅提升读取能力。
用于存储和处理金融交易数据、账户数据等
云数据库为您提供安全审计,跨地域容灾,数据强一致的数据库服务,保证您的金融数据安全、高可靠。
云数据库 MySQL 高性能特性以及 Redis 快速读写能力
在活动大促时解决访问高峰带来的请求压力,轻松迎接突发业务高峰,稳定应对高并发流量。
4、数据库实例复制
数据库异步复制,用户更新数据后,master立即向应用程序返回响应,然后master向slave推送数据
数据半同步复制,master在执行完更新操作后立即向slave推送数据,,slave接受到数据并写道relay log中,然后向Master返回成功信息,master必须在收到slave成功信息后再向应用程序返回相应
仅在数据复制发生异常(Slave 节点不可用或者数据复制所用网络发生异常)的情况下,Master 会暂停(MySQL 默认10秒左右)对应用的响应,将复制方式降为异步复制。当数据复制恢复正常,将恢复为半同步复制。
腾讯云数据库 MySQL 半同步复制采用一主一备的架构。
强同步复制,在数据复制发生异常(Slave 节点不可用或者数据复制所用网络发生异常)的情况下,复制方式均不会发生降级,为保障数据一致性,此时 Master 会暂停对应用的响应,直至异常结束。
腾讯云数据库 MySQL 强同步复制采用一主两备的架构,仅需其中一台 Slave 成功执行即可返回,避免了单台 Slave 不可用影响 Master 上操作的问题,提高了强同步复制集群的可用性。
5、自研内核功能特性(有点没搞懂,放个标题,后续研究)
- 自动kill空闲事务,释放资源
- 并行复制:以表为单位,并行复制数据到slave
- 动态线程池(没太理解)
- 支持NOWAIT语法
- 支持returning
- 列压缩:把某一列大数据进行压缩,只有在使用的时候才会压缩解压缩
- 大事务复制:腾讯出的功能,可以减少二进制日志文件提高速度
- 计划缓存点查优化:MySQL 数据的 SQL 执行步骤主要包括解析、准备、优化和执行四个阶段,计划缓存能力
- 支持使用fdatasync:在一些 redo 落盘场景可以避免总是刷文件元数据到存储设备上(通过 fdatasync 系统调用),来减少开销。
- 支持自增列持久化:实现将自增列持久化到数据页中,避免出现自增值重复的问题
- bufferpool初始化:加快 buffer pool 初始化速度,降低数据库实例启动耗时。
- FAST DDL:DDL会快一些
- invisible index
- CATS事务调度
- 计算下推
- 快速加列功能
- 透明数据加密
- 审计
- 秒级加列
- 异步删除大表
- 热点更新
- SQL限流
- statement outline
文章内容仅用于作者学习使用,如果内容侵犯您的权益,请立即联系作者删除,作者不承担任何法律责任。