MySQL – мой опыт разработки

MySQL - это система управления реляционными базами данных (РСУБД), что означает, что она хранит записи в нескольких отдельных и строго структурированных обычно взаимосвязанных и нормированных таблицах, а не в одном плоском текстовом файле, созданном по принципу: «что вижу, то пою».

СУБД MySQL была разработана шведской фирмой «MySQL AB» в середине 90-х прошлого века. Название (как у Мерседеса или языка Ада или одного из компьютеров Apple) было связано с именем дочери My одного из основателей Monty Widenius. Ну а сам SQL расшифровывается стандартно - Structured Query Language. В 2000-х СУБД перевели на модель open-source. Позже сервер купила компания Sun Microsystems. А еще позже, в 2010 году, компанию Sun Microsystems купил Oracle.

Первое мое знакомство с СУБД MySQL произошло достаточно давно, но коммерческая разработка, то есть работа с MySQL за деньги началась относительно недавно.

Связано это с тем, что мои средние и крупные заказчики или работодатели предпочитали использовать MS SQL, а небольшим компаниям достаточно было и MS Access. По сути, выход только на веб разработку на PHP, который обычно используется в связке с MySQL, потребовал от меня плотной работы с MySQL.

И надо сказать, MySQL меня не разочаровал. У него есть даже некоторые преимущества перед MS SQL, богатый набор функций и возможностей.

Это не удивительно, На сегодняшний день MySQL занимает второе место в рейтинге DB Engines.

MySQL занимает второе место в рейтинге

Много компаний с мировым именем (Spotify, Netflix, Facebook, Twitter, Booking.com и т.д.) создали множество приложений, активно использующих MySQL.

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

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

Я бы отметил скорость MySQL. Мне приходилось работать с большими базами данных, объем которых, наверное, превышает потребности хранения данных 80% компаний в мире (это мое личное мнение, но если кто-то будет заинтересован, я постараюсь его обосновать). Так вот, в сравнении с MS SQL, опыт работы с которым у меня также достаточно большой, MySQL выглядит весьма достойно.

Сред других характеристик MySQL стоит упомянуть надежность.

Безопасность – тема дискуссионная. Тут все очень сильно зависит от администратора и программиста. Популярность MySQL мотивировала множество хакеров на поиск уязвимостей. SQL инъекции и другие хаки могут прорвать оборону MySQL, если квалификация ИТ персонала недостаточно высокая, или если они просто не подумали о вариантах взлома системы.

Доступность и масштабируемость. Если бы этих двух характеристик не было, эту базу не использовали бы активно компании (упомянутые выше), чьи онлайн-бизнесы и веб-платформы требуют круглосуточную работу для аудитории, разбросанной по всему земному шару. Кластеризация, репликация, резервное копирование, процедуры восстановления – все создано для того, чтобы данные не были потеряны в случае сбоя системы или непреднамеренного удаления.

Если вам нужен программист со знанием MySQL – пишите.