Обзор MySQL, архитектурные принципы

1. Введение в MySQL

        MySQL — система управления реляционными базами данных. Она была разработана шведской компанией MySQL AB, а затем приобретена Oracle. MySQL — одна из самых популярных систем управления реляционными базами данных на данный момент. С точки зрения WEB-приложений MySQL является лучшей СУБД ( Система управления реляционными базами данных) — система управления базами данных, одно из прикладных программ системы управления реляционными базами данных.

        Язык SQL, используемый MySQL, является наиболее часто используемым стандартизированным языком для доступа к базам данных.

язык SQL

Операторы SQL в основном делятся на:

                        DQL: язык запроса данных, используемый для запроса выбора данных.

                        DML: язык манипулирования данными, добавление, изменение, удаление данных, вставка, обновление, удаление.

                        TPL: язык обработки транзакций, обработка транзакций, начало транзакции, фиксация, откат.

                        DCL: язык управления данными, для предоставления авторизации и восстановления разрешений, отзыв

                        DDL: язык определения данных, управляет созданием и удалением баз данных и таблиц.

                        CCL: язык управления указателями, выполнение операций с таблицами путем управления указателями, объявление курсора.

                        Для веб-программистов основное внимание уделяется созданию, удалению, обновлению и выбору данных.Они должны владеть навыками написания DQL и DML, а также уметь писать DDL для выполнения операций с базами данных и таблицами.Другие языки Просто понимать TPL, DCL и CCL

                        SQL: специальный язык, разработанный для реляционных баз данных.

                        нечувствительный к регистру

2. Преимущества и недостатки MySQL

преимущество:

                Открытый исходный код и бесплатно: MySQL — это база данных с открытым исходным кодом, бесплатная и поддерживаемая большим сообществом пользователей.

                Масштабируемость: MySQL поддерживает распределенную архитектуру и развертывание кластеров, что позволяет легко расширить пространство хранения и возможности обработки.

                Портативность: возможность работать на различных системных платформах, таких как: Windows, Linux, Unix, MacOS.

                Поддержка нескольких языков программирования: C, C++, Java и т. д.

                Богатые интерфейсы: предоставляет API для таких языков, как C, C++, Eiffel, Java, Perl, PHP, Python, Rudy и TCL.

недостаток:

                Горячее резервное копирование не поддерживается.

                Поддержка кластеров слабая, недостаточно гибкая и эффективная.

                Отсутствие стандартного механизма RI (Referential Integrity-RI).

                Система безопасности, в основном сложная, а не стандартная, и меняется только тогда, когда mysqladmin вызывается для повторного чтения разрешений пользователя.

3. Среда приложения MySQL

        По сравнению с Oracle, DB2 и SQL Server у него есть много недостатков, но это нисколько не снижает его популярность.Для частных лиц, а также малых и средних предприятий MySQL имеет более чем достаточно функций.Поскольку это программное обеспечение с открытым исходным кодом, это может значительно сократить расходы

        LAMP, LNMP: операционная система Linux, Apache/Nginx в качестве веб-сервера, MySQL в качестве базы данных и PHP/perl в качестве интерпретатора сценариев на стороне сервера. Поскольку все они бесплатны или имеют открытый исходный код, использование этого метода исключает трудозатраты и затраты. ничего. За лишнюю копейку вы можете создать очень стабильный сайт.

4. Базовая архитектура MySQL.

MySQL в целом имеет архитектуру C/S, состоящую из двух частей: клиент/сервер.

 1. Уровень соединения

(1) Предоставить протоколы подключения: TCP/IP, SOCKET
(2) Обеспечить проверку: пользователь, пароль, IP, SOCKET
(3) Предоставить выделенный поток подключения: получать пользовательский SQL и возвращать результаты

Используйте эту команду showprocesslist ; чтобы просмотреть основную ситуацию в потоке соединения.

 2. Уровень SQL

(1) Получить оператор SQL, переданный с верхнего уровня
(2) Модуль проверки синтаксиса: проверить синтаксис оператора и его соответствие SQL_MODE
(3) Семантическая проверка: определить тип оператора SQL
(4) Проверка разрешений: есть ли у пользователя разрешения для таблицы базы данных
(5) Синтаксический анализатор: перед выполнением оператора он предварительно обрабатывает и генерирует дерево синтаксического анализа (план выполнения). Проще говоря, он генерирует несколько планов выполнения. (6) Оптимизатор: принимает решения и делает выбор на
основе несколько планов выполнения, полученных анализатором.Модель оптимальной
        стоимости плана выполнения: производительность оценки потребления ресурсов (CPU IO MEM)
(7) Исполнитель: в соответствии с оптимальным планом выполнения выполнить оператор SQL и сгенерировать результат выполнения.Результат выполнения
    : в xxxx позиция диска
(8 ) Обеспечить кеш запросов (не включен по умолчанию), и вместо функции кэша запросов будет использоваться redis tair
(9) Обеспечить ведение журнала (глава об управлении журналами): binlog, не включено по умолчанию.


3. Уровень механизма хранения (аналогично файловой системе в системах Linux).

    Отвечает за получение данных с диска на основе результатов выполнения уровня SQL.
    Шестнадцатеричные данные диска структурируются в таблицу с помощью SQL, и
    выделенный поток уровня соединения возвращает их пользователю.

      

Je suppose que tu aimes

Origine blog.csdn.net/m0_65487180/article/details/132540355
conseillé
Classement