Что такое MySQL?

Что такое MySQL?

Погружение в мир Big Data не проходит без изучения баз данных. Сегодня говорим об одной из самых популярных — MySQL, которой пользуются корпорации типа Google. Все подробности и список полезных функций ниже.

Основные понятия

MySQL — это система управления реляционными базами данных (СУРБД). Где «реляционные» значит, что данные хранятся в виде таблиц. Возможно, одна из самых старых, так как была написана еще в 80-х годах на языках С и C++. С тех пор её ни раз выкупали, дополняли, продавали. Сейчас принадлежит компании Oracle, поэтому все вопросы по поддержке к ним.

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

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

Но вернемся к MySQL. У этой системы открытый исходный код, то есть можно изменять его или дополнять под свои потребности. Так как возможность скачать программное обеспечение доступна любому. Также система совместима со множеством платформ — MacOS, Windows, Linux, Ubuntu.

Интересный момент: многие, в силу популярности этой системы, используют MySQL как имя нарицательное для понятия СУРБ. Ее используют гиганты рынка, как Facebook, Google, Twitter и тд. Хотя есть множество других систем.

Язык SQL

SQL — это язык структурированных запросов, который позволяет взаимодействовать между вами и базой данных. Есть множество других СУРБД, которые также используют язык SQL. В том числе для названия, например, PostgreSQL.

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

Многие системы, в том числе и MySQL, работают по принципу «клиент-сервер». То есть коммуникация происходит по SQL-запросу. Например, клиент (компьютер бухгалтера в университете) отправляет запрос — «у кого из студентов успеваемость выше 80% », сервер выдаёт список студентов. Главное, знать язык, на котором нужно спрашивать.

Понять и выучить основные функции SQL для запросов несложно. Особенно тем, кто знает английский. Потому что один из типичных запросов «удалить пользователя из БД» будет выглядеть примерно так:

DELETE FROM users WHERE email = 'ivan@exaple.com' — удалить из списка пользователей имейл, которому равен ….

Что еще этот язык позволяет делать:

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

Особенности MySQL

Эта система считается относительно дешевой, по сравнению с другими платными СУРБД. Она хорошо масштабируется, считается довольно гибкой и простой в использовании. Плюс, изначально система разрабатывалась для управления большими базами данных. Поэтому сейчас она подходит для промышленной эксплуатации, если смотреть с точки зрения скорости работы. Неважно, выполняете ли вы тяжёлую бизнес-аналитику или нужно хранить большие объемы данных электронной коммерции.

Гибкость обеспечена большим количеством вариантов таблиц для хранения данных. Можно выбрать, например, таблицы типа MyISAM — поддерживающие полнотекстовый поиск. Также таблицы типа InnoDB, которые поддерживают транзакции на уровне отдельных записей. То есть, вы спокойно выбираете то, что подходит именно под ваш проект.

Плюс система поддерживает множество графических интерфейсов — WorkBench, SequelPro, DBVisualizer и Navicat DB. Какие-то из них доступны только для определенной ОС, какие-то коммерческие. Но в любом случае есть возможность выбрать собственный комфортный формат.

По поводу лицензии, если вы захотите поменять что-то в коде — систему можно распространять с помощью доступов GNU GPL, либо под собственной коммерческой лицензией. Если какая-то программа включает в себя исходные коды MySQL, то и она должна распространяться по лицензии GPL. Так что, если вы не хотите открывать свои исходные данные кода, лучше воспользоваться лицензией. К тому же она дает качественную сервисную поддержку.

Полезные функции MySQL

  1. Возможность криптографии (AES_ENCRYPT ()/AES_DECRYPT ()). Эта функция обеспечивает высокий уровень защиты для алгоритмов, таких как AES и DES. Они производят симметрическую шифровку и дешифровку данных. Поэтому их стоит использовать, когда вы хотите повысить устойчивость приложения ко взлому.
  2. Работа с длинным текстом. Функции COMPRESS() и UNCOMPRESS() позволяют хранить в базе длинный текст без влияния на производительность. Также длинный текст влияет на требования к объему дискового пространства, поэтому лучше сжимать его через COMPRESS. А когда нужно, преобразовывать обратно.
  3. Функция REGEXP обеспечивает гибкое сопоставление с шаблоном регулярного выражения.
  4. Еще удобная возможность MySQL — полнотекстовое индексирование полей VARCHAR и TEXT. Например, если вы храните в базе статьи или анонсы и хотите предоставить пользователю возможность поиска. В целом, для таких задач можно установить поисковик, но для этого придется завести отдельную базу данных.

Резюмируем

MySQL — одна из самых популярных СУРБД. Для коммуникации в ней используется язык SQL. Полезно выучить его, чтобы легко работать и с другими базами данных. и уметь вытащить данные из своей.

Система работает по принципу «клиент-сервер» и содержит весь минимально-необходимый набор функций для удобной работы с БД.

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

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

Ещё больше о MySQL можно узнать на нашем годовом онлайн-курсе «Профессия: Аналитик» 👉 Узнать подробности!

33
4 комментария

Лучше взять PostgreSQL.

2
Ответить

Как-будто вернулся в старшие классы школы. Только хуже

2
Ответить

И вы учите этому говну людей за деньги?

1
Ответить