Architecture

The MySQL architecture is as follows.

MySQL architecture

One MySQL particularity is to have pluggable storage engine, each engine having his own features.

It allows to choose an engine according to special requirements

(pure performance, transactions, archivage, GIS functions, full text search, concurrent accesses, distant databases connexion, clustering, etc.)

A MySQL server undertakes the creation of a certain number of threads.

A global thread is responsible of the creation and management of users connexions, another thread monitors the connexions and may close them in case of too long inactivity, another one waits for database shutdown requests.

Certain threads are dedicated to replication, others are dedicated to maintenance tasks, to the writing of data on a disk after modifications, etc. MySQL uses a certain number of caches to optimize the access to data, indexes, queries results and others informations needed for optimal server functioning.