腾讯云数据库产品经理
本次直播课程将邀请到腾讯云数据库产品团队的主要技术负责人 summerdliu(迪B哥),从数据库基础实践入手,讲述了MySQL数据库中数据类型的基础知识,为大家分享如何通过选择正确的数据类型以提高数据库的性能,同时结合云数据库的实战案例,帮助云数据库开发人员,梳理云数据库开发使用中遇到的数据类型选择和设计方面的问题。
学习MySQL注意事项:语法大全可以帮助进行开发项目,但是学懂MySQL,只靠语句学习是片面的;学习源码在初期无法帮助把握精髓,不推荐初期即看源码;参数在真正学会了MySQL之后手册查询即可;MySQL实战解决方案可以在中后期进行学习观摩。
本节教程架构
诞生于1995年的MySQL,在2009年被Oracle收购。
关系型数据库:MySQL,PostgreSQL是开源关系型数据库的典型代表;SQL Server,Oracle,DB2是商业关系型数据库的代表。
NoSQL:最大特点是不使用SQL作为查询语言。其中使用较多的数据库分别是:
NewSQL:是现代的关系型数据库,能够提供在线事务的处理能力,具备NoSQL的扩展性。NEW在新架构、针对SQL引擎进行了高度优化、提供透明分片。
MySQL逻辑架构中分为Server层和引擎层,引擎层采用插件式,可以支持多种引擎。
读写逻辑的实现:
先写日志再写磁盘,MySQL能提供高性能服务,Redo log和Binlog两种日志在其中起到了关键作用。
Redo log固定大小,循环写入。
Binlog是逻辑日志,可以追加写入,可进行拆分。利用Binlog进行数据回滚可以防止删库跑路悲剧发生。
两阶段提交是Binlog和Redo log共同保证逻辑一致,具体流程见下方。
主流引擎主要是InnoDB、MylSAM、Memory。