MySQL разработан Oracle. Ранее большую часть времени его создавала шведская компания MySQL AB. MySQL AB была куплена 16 января 2008 г. компанией Sun Microsystems, а 27 января 2010 г. - Oracle. Тем временем Монти Видениус (соавтор MySQL) создал MariaDB - форк (альтернативную версию) под лицензией GPL. MariaDB основан на той же кодовой базе, что и MySQL, и стремится быть совместимым со своими предыдущими версиями.
Основные характеристики MySQL
MySQL был написан с расчетом на скорость, а не на совместимость с SQL - долгое время MySQL даже не поддерживал транзакции , что было главным аргументом противников этого проекта. MySQL поддерживает большую часть текущего стандарта ANSI / ISO SQL (например, SQL: 2003). Он также представляет свои расширения и новые языковые элементы.
Наши рекомендации! Научитесь создавать совпеменные динамичные сайты на PHP & MySQL пройдя наши Курсы по PHP и MySQL. Программирование сайтов. Back-End разработка.
В версии MySQL 5 добавлено:
- хранимые процедуры - текущая версия 5.0
- триггеры - текущая версия 5.0.2
- курсоры - присутствуют с версии 5.1
- разделение таблиц - с версии 5.1
- расписание задач - с версии 5.2
Все это приближает последние версии MySQL к PostgreSQL с точки зрения функциональности. MySQL включает поддержку репликации базы данных (главный-подчиненный и главный-главный ) и многоязычия - каждая таблица и столбец может иметь свою собственную настройку кодировки символов.
В версии 5.6 было внесено несколько значительных изменений для повышения масштабируемости и надежности среды и внедрения инновационных решений, например:
- полусинхронная репликация
- многопоточная репликация
- широкие возможности мониторинга с помощью так называемых PERFORMANCE_SCHEMA
- NoSQL API с memcached
Платформы для которых доступен MySQL
Сервер MySQL доступен для всех популярных системных платформ и различных архитектур процессоров. Он также доступен в исходной версии, что позволяет скомпилировать его для любой другой платформы.
Официально предлагаются бинарные версии для следующих платформ и архитектур (MySQL 4.1):
- Linux (x86 , S / 390 , IA64 (Itanium), Alpha , PowerPC , AMD64 / EM64T)
- Windows (x86, x64)
- Solaris (SPARC , x86)
- FreeBSD (x86)
- MacOS X
- HP-UX (PA-RISC IA64)
- AIX (RS6000)
- i5 / OS (IBM System I)
- QNX (x86)
- Novell NetWare (x86)
- SGI
- DEC OSF
Согласно информации из документации сервера, MySQL также может быть скомпилирован для следующих платформ: Amiga, BSDI, Digital Unix, NetBSD, OpenBSD, OS / 2 Warp, SCO OpenServer, SCO UnixWare, SunOS, Tru64 Unix.
Как и сервер, клиентские библиотеки MySQL, которые позволяют использовать этот сервер базы данных на уровне приложений, доступны для многих платформ и языков программирования, в том числе для C, C ++, Delphi или PHP.
Типы поддерживаемых движков баз данных
MySQL предлагает различные типы механизмов баз данных, каждый из которых предназначен для своего использования. Среди прочего:
- MyISAM - (до версии 5.5 по умолчанию) механизм, который не обрабатывает транзакции или даже внешние ключи, но позволяет (в отличие от других типов) полнотекстовый поиск
- MEMORY (до версии 4.1 - HEAP ) - самая быстрая, потому что все хранится только в ОЗУ. Однако у него есть несколько ограничений, в том числе отсутствие сохранения данных после выключения сервера MySQL
- InnoDB - (по умолчанию с версии 5.5) один из наиболее часто используемых механизмов, поддерживает транзакции , блокировки на уровне строк , внешние ключи
- BerkeleyDB - поддерживает транзакции , пока не полностью интегрирован с MySQL
- MERGE - позволяет присоединяться к таблицам MyISAM
- FEDERATED - позволяет создавать распределенные базы данных
- CSV - данные хранятся в стандартных файлах CSV
- ARCHIVE - (с версии 4.1) хранит данные в упакованных архивах. Он позволяет только добавлять и загружать записи
- PBXT - механизм, разработанный сторонней компанией, доступный как плагин, похожий на PostgreSQL. Кроме того, MySQL позволяет (начиная с версии 5) использовать так называемые механизмы, предоставляемые независимыми производителями, которые могут предлагать функциональность или производительность, расширенную по сравнению с механизмами по умолчанию
Лицензирование MySQL
MySQL доступен по лицензии GPL , однако вы также можете приобрести коммерчески лицензированные версии. Клиентские библиотеки также доступны по GPL или коммерческой лицензии. Если вы собираетесь распространять коммерческое приложение (несовместимое с лицензией GPL) с интегрированной базой данных MySQL, необходимо приобрести коммерческую лицензию. Смена лицензии произошла с версии 4.1 (и более поздних) и была одной из причин отказа PHP от поддержки MySQL, включенной по умолчанию, в пользу SQLite (конечно, поддержку MySQL можно включить в PHP самостоятельно).
Вместе с сервером Apache и парсером PHP, реализованным на платформе Linux, он составляет популярную серверную среду - LAMP.