As a popular database in the Internet, MySQL has become the first choice of many Internet companies’ business systems due to its unique advantages in cost and performance. According to developer Toutiao’s 2019-2020 China Developer Survey, 83% of developers choose to use MySQL database. It is no exaggeration to say that MySQL proficiency has become an important criterion in determining the salary of developers.
Today we bring MySQL, including MySQL basic practice guide, MySQL performance optimization, and advanced design of MySQL architecture, including how to manage and operate MySQL, can be said to be from the shallow to the deep, some knowledge points necessary to learn MySQL are included, I believe this document will be helpful to you.
The manual is divided into three parts: MySQL foundation +MySQL performance optimization +MySQL architecture design
Based on article
Introduction to MySQL
- Introduction of MySQLServer
- A simple comparison of MySQL to other databases
- This section describes the application scenarios of MySQL
MySQL Architecture Composition
- MySQL physical file composition
- MySQLServer system architecture
- This section describes how to use the MySQL built-in tools
Introduction to MySQL Storage engine
- MySQL Storage Engine Overview
- MylSAM Storage Engine Introduction
- Lnnodb Storage engine Introduction
- INDBCluster Storage engine overview
MySQL Security Management
- Database system security related factors
- MySQL Permission system introduction
- MySQL access authorization policy
- Precautions for security Settings
MySQL backup and restore
- Database backup scenarios
- Logical backup and restore tests
- Physical backup and restore tests
- Backup policy design roadmap
Performance Optimization
Factors that affect MySQLServer performance
- Impact of business requirements on performance
- Impact of system architecture and implementation on performance
- The impact of the Query statement on system performance
- Impact of Schema design on system performance
- The impact of the hardware environment on system performance
MySQL database locking mechanism
- Introduction to the MySQL locking mechanism
- Analysis of various locking mechanisms
- Use lock mechanism to optimize MySQL
MySQL database Query optimization
- Understand MySQL’s QueryOptimizer
- Basic ideas and principles of Query statement optimization
- Take advantage of Explain and Profiling
- Design and use indexes wisely
- Implementation principle and optimization idea of Join
- ORDERBY, GROUPBY, and DISTINCT optimizations
MySQL database Schema design performance optimization
- Efficient model design
- Appropriate data type
- Canonical object naming
MySQLServer performance optimization
- MySQL Installation optimization
- MySQL Log Settings Optimization 10.3QueryCache Optimization 10.4MySQLServer Other Common Optimizations
Common storage engine optimization
- MyISAM storage engine optimization
- Innodb storage engine optimization
Architectural Design
Basic principles of MySQL extensible design
- What is scalability
- The transaction correlation minimization principle
- Data-induced principle
- High availability and data security principles
Extensible design for MySQLReplication
- What Replication means for scalable design
- How Replication works
- Replication Common architecture
- Replication construction implementation
Scalable design for data sharding
- What is data sharding
- Vertical segmentation of data
- Horizontal segmentation of data
- Use of vertical and horizontal joint segmentation
- Data segmentation and integration solutions
- Possible problems in data segmentation and integration
Use of Cache and Search in scalable design
- Extensible design extends beyond the database
- Properly utilize third-party Cache solutions
- Implement the Cache service by itself
- Use Search to realize efficient full-text retrieval
- High performance computation with large data volume is realized by distributed parallel computing
MySQLCluster
- MySQLCluster introduction
- The MySQLCluster environment is built
- MySQLCluster configuration details (config.ini)
- MySQLCluster basic management and maintenance
- Basic optimization idea
High availability design ideas and schemes
- Leverage Replication to implement a highly available architecture
- Use MySQLCluster to achieve overall high availability
- DRBD is used to ensure high security and reliability of data
- Other high availability design solutions
- Comparing the pros and cons of various high availability solutions
MySQL monitoring in a highly available design
- Design of monitoring system
- Performance status Monitoring
Outline of the directory
Because the content is too much, here only part of the contents of the directory. Need this “electronic” information partners, fast access: pay attention to the end of the public account to obtain, full of sincerity!!
This MySQL advanced god technology, interested partners can help click a like, fast start channel: pay attention to the end of the public account to get! Sincerity full!!
Total directory
Internet companies for Java application scenarios are also constantly upgrading, from single deployment to distributed, from SOA to micro service, Java back-end technology stack become more big, more and more is also high to the requirement of the engineer, we in the Java programmers to write good business code not only, more to master the back-end technology, in addition to the database, Technologies such as caching, message queuing, scheduled tasks, microservices, etc., are also things we need to master.
Today bring you the MySQL advanced magic, I believe that can bring you quality improvement in this technical aspect.
Quick start channel: pay attention to the following public number can be free access! Sincerity full!!
Another big factory Java interview selection questions, architecture actual combat documents
Sorting is not easy, feel helpful friends can help like share support small series ~
Your support, my motivation; I wish you a bright future and continuous offer!!