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

Что такое SQL?

SQL — это аббревиатура от «язык структурированных запросов». Это язык программирования, созданный для управления данными, хранящимися в реляционных базах данных.

Это тип базы данных, в которой информация организована в одну или несколько таблиц.

Бренды систем управления реляционными базами данных

  1. База данных Oracle
  2. Microsoft SQL-сервер
  3. MySQL
  4. Постгрес SQL

Эти базы данных имеют механизмы базы данных, которые будут обрабатывать операции SQL для разных типов таблиц.

Что такое MySQL

MySQL — это система управления реляционными базами данных с открытым исходным кодом. Пользователи могут использовать эту систему с помощью SQL. InnoDB является стандартным и наиболее широко используемым механизмом хранения. Есть и другие движки, такие как MyISAM

Сравнение InnoDB и MyISAM

InnoDB — это безопасный для транзакций (совместимый с ACID) механизм хранения для MySQL, который имеет возможности фиксации, отката и аварийного восстановления для защиты пользовательских данных.

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

Это важно для целостности данных. Потому что, если произошла ошибочная операция, разработчики могут вернуть ее в чистое состояние.

Таблицы движка MyISAM занимают меньше места, чем InnoDb. Таблицы, построенные с помощью этого механизма, будут ограничивать производительность рабочих нагрузок чтения/записи, поэтому он часто используется в рабочих нагрузках только для чтения или в основном для чтения в веб-конфигурациях и конфигурациях хранилищ данных.

Разница между sqLite и MySQL.

SQLite — это не столько SQL-сервер. На самом деле это просто система баз данных. Базы данных могут быть встроены в приложения или использоваться локально без дополнительных «серверных» ресурсов.

Но MySQL — это SQL-сервер. Он явно действует как сервер базы данных, и лучшим примером этого является технологический стек LAMP.

Итак, почему mysql?

  1. Высокая производительность
  2. Может эффективно подключаться к другим технологиям (например, WAMP, LAMP)
  3. Снижение общей стоимости владения
  4. Гибкость открытого исходного кода

Что такое MariaDB и сравнение с MySQL

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

Они разработали эту СУБД, используя форк MySQl. Он включает механизм хранения XtraDB для замены InnoDB, а также новый механизм хранения Aria, который должен быть как транзакционным, так и нетранзакционным механизмом.

Стражи транзакций базы данных: ACID

Прежде всего, давайте разберемся, что такое транзакция?

Это единица работы, выполняемая в СУБД по отношению к базе данных и обрабатываемая последовательно и надежно независимо от других транзакций.

Эти транзакции имеют две основные цели.

  1. Предоставление надежных единиц работы, которые позволяют корректно восстанавливаться после сбоев и поддерживать согласованность базы данных даже в случае сбоя системы. Это очень важно, потому что при остановке выполнения (полностью или частично) многие операции над базой данных остаются незавершенными, с неясным статусом.
  2. Чтобы обеспечить изоляцию между программами, одновременно обращающимися к базе данных. Если эта изоляция не обеспечена, результаты программ могут быть ошибочными.

Таким образом, чтобы защитить эти потребности транзакции, необходимо выполнить 4 фактора. Это называется КИСЛОТА

  1. атомарность
  2. Последовательность
  3. Изолированный
  4. Долговечность

атомарность

Атомарность просто означает, что транзакция базы данных просто неделима и нередуцируема.

В практическом сценарии в данный момент эта транзакция может еще не произойти. Но в следующий момент оно будет полностью там. Это связано с тем, что для атомарности характерно все или ничего.

Поэтому из-за этого мы не можем идентифицировать транзакцию как процесс.

Последовательность

Транзакция базы данных должна изменять только затронутые данные и только разрешенными способами.

Это означает, что любые данные, записанные в базу данных, должны быть действительными в соответствии со всеми определяющими правилами.

Изолированный

Эта функция определяет, как целостность транзакций видна другим пользователям и системам.

Еще не зафиксированная транзакция должна оставаться изолированной от других транзакций.

Более низкий уровень изоляции увеличивает возможность одновременного доступа многих пользователей к одним и тем же данным, но увеличивает количество эффектов параллелизма (таких как грязное чтение или потерянные обновления), с которыми могут столкнуться пользователи.

И наоборот, более высокий уровень изоляции снижает количество типов эффектов параллелизма, с которыми могут столкнуться пользователи, но требует больше системных ресурсов и увеличивает вероятность того, что одна транзакция заблокирует другую.

Долговечность

Эта функция предназначена для защиты зафиксированных данных, которые правильно сохраняются в базе данных. Таким образом, даже в случае сбоя и перезапуска системы данные доступны в правильном состоянии.

Это гарантирует, что зафиксированные данные будут сохраняться постоянно.