yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

Система MySQL: что это и для чего нужна

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

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

Обзоры
Иллюстрация для статьи на тему «Система MySQL: что это и для чего нужна»
Продукты из этой статьи:
Иконка-Advanced Database Security Service
Advanced Database Security Service
Иконка-Advanced Relational Database Service for MySQL
Advanced Relational Database Service for MySQL
Иконка-Evolution Managed ArenadataDB
Evolution Managed ArenadataDB

Зачем нужны СУБД

СУБД созданы для того, чтобы упрощать работу с данными в самых разных областях. Например, чтобы хранить и анализировать большие данные при решении задач Data Science, выполнять сложные аналитические запросы, агрегировать данные и строить ML-модели, а также оптимизировать разработку и развертывание приложений. То есть, говоря обобщенно, автоматизировать работу с любыми типами данных, помогая структурировать БД и быстрее обрабатывать любые запросы. 

Как работают СУБД? Системы управления базами данных принимают запросы пользователей, «разбирают» их на составляющие, находят в базе данных искомое и возвращают сайту в удобном для восприятия виде. А еще позволяют выполнять множество полезных функций: 

  • создавать базы данных и их администрировать;

  • структурировать данные и демонстрировать их в нужном формате; 

  • защищать данные от взлома и нежелательных изменений; 

  • сортировать информацию; 

  • делать резервные копии.   

Отметим, что СУБД бывают разные. Например, некоторые их них (реляционные) представляют данные в табличном виде, а другие (нереляционные) — могут хранить их в виде JSON-документов, графов, а также ключей-значений. 

Чтобы выбрать подходящую СУБД, нужно учесть целый ряд факторов. К примеру, определить, какой у вас проект — коммерческий или персональный, сетевой или локальный. А еще принять во внимание вид данных, с которыми планируется работа, необходимые объем хранилища и показатели отказоустойчивости и масштабируемости, а также условия поддержки. 

О системе MySQL, которая занимает второе место в рейтинге DB-Engines Ranking и известна своей высокой производительностью и способностью обрабатывать большие объемы данных, поговорим подробнее. Кстати, всего за пару минут вы можете развернуть ее в облаке, а также подключить удобный сервис для работы с облачной инфраструктурой — RDS for MySQL

MySQL и история ее развития

Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим
Логотип MySQLЛоготип MySQL

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

Система доступна в двух вариантах: бесплатная MySQL Community Edition, которой свободно может пользоваться любой разработчик или администратор баз данных, и платная MySQL Enterprise Edition — для бизнеса. Ею пользуются крупные мировые компании.

История создания MySQL

История MySQL началась в 1979 году, когда Михаил Видениус из шведской компании TcX создал СУБД под названием UNIREG. Изначально она работала только с малыми объемами данных. Но со временем систему пришлось дорабатывать и изменять, чтобы она могла справляться с увеличивающимися требованиями и объемами информации.

Через 15 лет, когда TcX начала заниматься веб-приложениями, стало очевидно, что даже с учетом всех доработок UNIREG не справляется с динамической генерацией веб-страниц. Тогда Видениус предложил Дэвиду Хьюзу, создателю клиент-серверной СУБД mSQL, совместить их технологии, но Хьюз отказался. Это спровоцировало Видениуса на разработку новой системы — MySQL, основанной на UNIREG, но с интерфейсом, аналогичным mSQL. 

Первая ее версия вышла уже через год и удовлетворила всем нуждам TcX. А еще через год мир познакомился с первой публичной версией этой системы — 3.11.1.

С 2010 года корпорация Oracle разрабатывает, поддерживает и развивает MySQLС 2010 года корпорация Oracle разрабатывает, поддерживает и развивает MySQL

В 2010 году MySQL перешла под управление Oracle. С тех пор компания поддерживает и развивает эту систему. Она включена в серверные комплекты LAMP, WAMP и AppServ, а также в кроссплатформенные сборки XAMPP и DENWER. 

Принцип работы MySQL

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

У MySQL клиент-серверная архитектураУ MySQL клиент-серверная архитектура

Процессы в MySQL похожи на процессы в любой клиент-серверной системе: 

  • Шаг 1. Создается база данных, которая организует, хранит и идентифицирует всю необходимую информацию. 

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

  • Шаг 3. Серверное приложение принимает эти запросы, обрабатывает их и возвращает клиенту нужные данные.

Для управления сервер MySQL использует разные программы. Некоторые работают исключительно через командную строку, другие — предлагают интуитивно-понятный графический интерфейс. В числе популярных утилит для управления данными с помощью MySQL находятся WorkBench, SequelPro и SQL Studio, а также phpMyAdmin — именно ее веб-мастеры выбирают чаще прочих, ведь она входит в пакет LAMP и удобно открывается через браузер.

Что же происходит, когда вы заходите на страницу сайта с расширением .php под управлением MySQL? Давайте рассмотрим поэтапно:

  • Этап 1. Сервер MySQL запускает выполнение кода PHP, который находится в файле этой страницы.

  • Этап 2. Данные в виде текстового массива извлекаются из базы данных с расширением .sql.

  • Этап 3. Файл стилей с расширением .css определяет расположение, размер и шрифт текста на странице.

  • Этап 4. На экране отображается запрошенная пользователем страница.

Преимущества MySQL

Теперь поговорим о том, какие преимущества позволили MySQL стать одной из самых популярных систем управления базами данных во всем мире. В их числе: 

  • Повышенная доступность для пользователей без глубоких технических знаний — для того, чтобы с работать с системой, достаточно знать стандартный язык SQL (Structured Query Language).

  • Возможность поиска информации по тексту: например, это важно для интернет-магазинов, где критичны скорость нахождения нужных товаров и оформления заказов. 

  • Автоматическая разбивка больших объемов данных на более мелкие блоки для упрощения их обработки.

  • Возможность создания собственных процедур и функций прямо на языке SQL и  применения разных методов шифрования для защиты информации, а также работы с JSON-данными без использования сторонних библиотек.

  • Поддержка разных языков программирования благодаря мощному API под капотом.

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

  • Быстрое извлечение нужных данных из базы с помощью оптимизированной обработки запросов — например, данные из таблицы в 10 000 строк MySQL извлечет за 1–10 мс.

  • Создание, изменение и удаление записей для удобного управления аккаунтами и контентом на сайтах.

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

  • Возможность одновременной работы нескольких сотрудников с одной базой.

  • Защита данных с помощью шифрования и системы контроля доступа.

  • Восстановление данных при необходимости.

  • Встроенные инструменты: например, MySQL Enterprise Monitor, MySQLTuner и mysqldumpslow, которые отслеживают состояние базы и помогают быстро устранять проблемы, чтобы бизнес-процессы не прерывались.

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

Недостатки MySQL

Несмотря на многообразие преимуществ, у MySQL есть и минусы:

  • Обновления MySQL редко выходят из-за политики Oracle, которая ограничивает внедрение изменений и число нововведений от сторонних разработчиков.

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

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

Где используют MySQL

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

Систему активно используют в самых разных сферах:

  • MySQL применяется в веб-разработке. Она лежит в основе многих сайтов, чатов и форумов. Даже популярные системы управления контентом (CMS), гарантирующие стабильную работу веб-ресурсов, построены с использованием MySQL.

  • Второе направление, где часто используется MySQL — это корпоративные системы, такие как ERP и CRM. Их часто выбирают небольшие или средние компании, которые не могут позволить себе более дорогие решения. 

  • В сфере видеоигр MySQL помогает управлять данными о пользователях, игровых сценариях и квестах. Известные игры, такие как Warcraft III и League of Legends, используют ее для организации и хранения всей ключевой информации.

Как начать работать с MySQL

Для новичков в MySQL идеальным стартом будет бесплатная версия MySQL Community Edition. Вы можете загрузить ее с официального сайта, где также найдете исходные коды, API и коннекторы. Эти ресурсы помогут интегрировать MySQL с различными технологиями и языками программирования.

Community Edition — это бесплатная версия MySQLCommunity Edition — это бесплатная версия MySQL

Основные SQL-команды 

DDL (язык описания данных) 

Этот язык использует операторы для создания, изменения и удаления объектов. Например, команда CREATE создает объект, ALTER изменяет его, а DROP удаляет.

DML (язык манипулирования данными)

Включает команды для работы с данными: SELECT выбирает записи по заданным условиям, INSERT добавляет новые данные, UPDATE вносит изменения в существующие записи, а DELETE удаляет ненужные.

Например, используя команду SELECT FROM — вариацию SELECT — можно выделить данные из конкретных столбцов:

Так с помощью команды SELECT можно выделить данные из выбранных столбцовТак с помощью команды SELECT можно выделить данные из выбранных столбцов

С помощью INSERT INTO в базу данных удастся добавить имя пользователя и его email:

Использование INSERT INTO для добавления пользователя и его электронного адресаИспользование INSERT INTO для добавления пользователя и его электронного адреса

Чтобы изменить почту пользователя, пригодится команда UPDATE:

Использование команды UPDATE Использование команды UPDATE

Для удаления записи нужно ввести команду DELETE FROM:

Команду DELETE FROM используют для удаления записиКоманду DELETE FROM используют для удаления записи

Чтобы создать новую базу данных есть команда CREATE DATABASE:

Команда CREATE DATABASE в делеКоманда CREATE DATABASE в деле

А после создания базы с условным названием mydatabase, можно добавлять в нее таблицы и заполнять их данными. Например, вы можете добавить таблицу под названием users с тремя колонками: id, name и email. В этом случае колонка id выступит первичным ключом, который будет автоматически увеличиваться с каждой новой добавленной записью:

Создание таблицы с тремя колонками: id, name и emailСоздание таблицы с тремя колонками: id, name и email

Также стоит отметить, что созданные таблицы можно изменять следующими командами:

  • Добавить новый столбец: 

  • Удалить столбец:

  • Изменить тип данных в столбце:

DCL (язык управления доступом)

Этот язык нужен для назначения прав пользователям. Оператор GRANT предоставляет доступ, REVOKE отзывает разрешение, а DENY запрещает действия, имея приоритет над разрешениями.

Примеры простых запросов

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

И далее действуйте пошагово:

  • Чтобы начать работу с созданной базой, используйте:

  • Создайте таблицу для хранения информации о клиентах, их номерах счетов и балансах с помощью CREATE TABLE ACCOUNTS (client_name VARCHAR(200), account_number VARCHAR(20), balance DECIMAL(10,2)):

  • Добавьте в нее данные из предварительно подготовленного файла через использование:

  • Введите SELECT * FROM ACCOUNTS, чтобы показать информацию обо всех счетах на экране:

Чем MySQL отличается от других СУБД

Давайте наглядно сравним основные показатели MySQL и двух других популярных СУБД: PostgreSQL и SQLite. 

 Как MySQL отличается от PostgreSQL и SQLite по ключевым показателям Как MySQL отличается от PostgreSQL и SQLite по ключевым показателям

Как работать с MySQL в облаке

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

  • автоматического масштабирования и распределения нагрузки;

  • создания гибкой ролевой модели в системе; 

  • мониторинга и анализа производительности; 

  • импорта и экспорта данных — из других СУБД можно загружать данные в форматах CSV, SQL, JSON и многих других.

  • защиты данных.

Для управления базами данных в облаке тоже есть удобный инструмент — Relational Database Service for MySQL, который обеспечивает стабильность работы даже при высоких нагрузках: до 5 000 одновременных и свыше 170 000 запросов ежесекундно.

Коротко о MySQL

MySQL — современная и производительная СУБД, которая идеальна для проектов, где требуется быстродействующая, понятная и легкая в управлении система. Например, cегодня именно ее использует большинство CMS и веб-фреймворков. 

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

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

Продукты из этой статьи:
Иконка-Advanced Database Security Service
Advanced Database Security Service
Иконка-Advanced Relational Database Service for MySQL
Advanced Relational Database Service for MySQL
Иконка-Evolution Managed ArenadataDB
Evolution Managed ArenadataDB
1 февраля 2025

Вам может понравиться