Термин в Энциклопедическом Фонде

МySql

Система управления MySql - система управления реляционными базами данных, которая де-факто является стандартом при разработке web-сайтов. Причин популярности MySql достаточно много, но основная из них - наличие удобного API для PHP, одного из самых популярных и быстрых  языков для  разработки web-приложений на сегодняшний день.  Поддержка PHP входит в базовый пакет сборки MySql и является ее несомненным  преимуществом перед  другими базами данных.

История создания:
Изобретателем MySQL является Михаил Видениус aka Monty из шведской компании TcX. В 1979 году он разработал средство управления базами данных, которое называлось UNIREG. В дальнейшем UNIREG была расширена для поддержки больших баз данных и была переписана на нескольких языках. В 1994 году компания TcX стала разрабатывать приложения для www с использованием UNIREG. Однако в связи с большими накладными расходами UNIREG не могла успешно использоваться для динамической генерации Web-страниц. Поэтому Видениус решил связаться с автором mSQL, Хьюзом, чтобы предложить ему подключить mSQL к обработчику B+ ISAM в UNIREG. Однако Хьюз успешно продвинулся на пути к mSQL 2, и компания решила создать сервер баз данных под свои нужды.
В TcX взяли за основу UNIREG и использовали утилиты сторонних разработчиков для mSQL, написали API для своей системы, который изначально сильно совпадал с API для mSQL. Однако это позволяло любому пользователю mSQL, желающему перейти на сервер баз данных ТсХ, внести в свой код незначительные изменения. Исходный код новой базы данных был полностью оригинальных. Таким образом, в мае 1995 года у компании имелась база данных MySQL 1.0 полностью удовлетворяющая потребностям компании.
Что касается названия, то Видениус говорит об этом так: "До конца не ясно, откуда идет название MySQL. В ТсХ базовый каталог, а также значительное число библиотек и утилит в течение десятка лет имели префикс "my„. Вместе с тем мою дочь (которая на несколько лет младше) тоже зовут My. Поэтому остается тайной, какой из двух источников дал название MySQL".
MySQL перенесена на многие ОС UNIX, под Win32 и OS/2 с момента выпуска в Интернет и представляет собой быстро развивающуюся платформу баз данных, благодаря множеству программистов, заинтересованных в ее развитии.

Характеристики:
1. Mysql написана на C и C++. Была протестирована и постоянно тестируется на множестве различных компиляторов самими разработчиками  также многочисленным сообществом.
2. Работает на большинстве современных платформ.
3. Разработан API для для C, C++, Eiffel, Java, Perl, PHP, Python, Ruby и Tcl. 
4. Mysql является полностью многопоточным приложением с использованием потоков ядра. Это означает возможность организации работы с несколькими процессорами.
5. Очень быстрые дисковые таблицы на основе В-деревьев со сжатием индексов.
6. Очень быстрая базирующаяся на потоках система распределения памяти.
7. Очень быстрые соединения, использующие оптимизированный метод однопроходного мультисоединения (one-sweep multi-join).
8. Хеш-таблицы в памяти, используемые как временные таблицы.
9. SQL-функции реализованы при помощи хорошо оптимизированной библиотеки классов, поэтому они выполняются настолько быстро, насколько это возможно. Обычно после инициализации запроса распределения памяти не происходит вообще.
10. MySQL- код протестирован с использованием Purify (коммерческий детектор утечки памяти), а также Valgrind, одного из GPL-инструментов
11. Поддержка большинство известных типов столбцов. Например:
 mysql> SELECT CONCAT(first_name, " ", last_name)
-> FROM tbl_name
-> WHERE income/dependents > 10000 AND age > 30;
12. Полная поддержка для операторов SQL GROUP BY и ORDER BY с выражениями SQL. Поддержка групповых функций (COUNT(), COUNT(DISTINCT  ..), AVG(),STD(), SUM(), MAX() и MIN()).
13. Поддержка LEFT OUTER JOIN и RIGHT OUTER JOIN с синтаксисом ANSI SQL и ODBC.
14. Разрешены псевдонимы для таблиц и столбцов в соответствии со стандартом SQL92.
15. DELETE, INSERT, REPLACE, and UPDATE возвращают число строк, которые были изменены. Вместо этого можно задать возвращение совпавших строк. Для этого следует установить флаг при соединении с сервером. Очень удобная и полезная функция, которая отсутствует в таких системах, как например, PostgreSql или реализована более сложным путем
16. Команду SHOW, которая является специфической для MySQL, можно использовать для получения информации о базах данных, таблицах и индексах. Также присутствует команда DESCRIBE. Чтобы выяснить, как оптимизатор выполняет запрос, можно применять команду EXPLAIN. 
18. Имена функций не конфликтуют с именами таблиц и столбцов. Например, ABS является корректным именем столбца. Для вызова функции существует только одно ограничение: между именем функции и следующей за ним открывающей скобкой `(' не должно быть пробелов. Автоматическое различие заглавных и строчных букв в названиях столбцов, таблиц и представлений, не требуется заключать их  двойные кавычки, как в PostgreSql.
19. В одном и том же запросе могут указываться таблицы из различных баз данных.
20. Система, основанная на привилегиях и паролях, за счет чего обеспечивается гибкость и безопасность, и с возможностью верификации с удаленного компьютера. Пароли защищены, т.к. они при передаче по сети при соединении с сервером шифруются.
21. Управляет очень большими базами данных. Компания MySQL AB. использует MySQL для работы с несколькими базами данных, которые содержат 50 миллионов записей, кроме того, нам известны пользователи, использующие MySQL для работы с 60000 таблицами, включающими около 5000000000 строк. Например, популярные социальные сети Facebook и Вконтакте используют Mysql в качестве системы управления базами данных.
22. Для каждой таблицы разрешается иметь до 32 индексов. Каждый индекс может содержать от 1 до 16 столбцов или частей столбцов. Максимальная ширина индекса 500 бит (это значение может быть изменено при компиляции MySQL). Для индекса может использоваться префикс поля CHAR или VARCHAR.
23. Клиенты могут соединяться с MySQL, используя сокеты TCP/IP, сокеты Unix или именованные каналы (named pipes, под NT).
24. Поддержка ODBC (Open-DataBase-Connectivity) для Win32 (с исходным кодом). Все функции ODBC 2.5 и многие другие. Например, для соединения с MySQL можно использовать MS Access.
25. Полная поддержка нескольких различных кодировок, включая ISO-8859-1 (Latin1), немецкий, big5, ujis и многие другие. Например, скандинавские символы разрешены в именах таблиц и столбцов.    
Несомненным преимуществом MySql является то, что фактически - это бесплатное приложение с открытым исходным кодом. Распространяется по лицензии GPL/LGPL. После приобретения прав на MySql компанией Oracle ходили слухи, что бесплатность MySql прекратится, но на сегодняшний день все остается на своих местах.

Версии:
1. Первый внутренний выпуск MySQL состоялся 23 мая 1995 года[источник не указан 485 дней].
2. Версия для Windows систем (Windows 95 и NT) выпущена 8 января 1998.
3. Версия 3.23: бета-версия в июне 2000, релиз в январе 2001.
4. Версия 4.0: бета в августе 2002, релиз в марте 2003.
5. Версия 4.1: бета в июне 2004, релиз в октябре 2004.
6. Версия 5.0: бета в марте 2005, релиз в октябре 2005.
7. Версия 5.1: разработка велась с ноября 2005, релиз в ноябре 2008.
8. Версия 5.4: бета в апреле 2009, не была выпущена.
9. Версия 5.5: релиз в декабре 2010.
10. Версия 6.0: в разработке.
 
Источники:
http://www.mysql.ru - официальный сайт Mysql в России
http://www.getinfo.ru/ - компьютерная библиотека GetInfo.ru
http://www.cyberguru.ru - Кибер Гуру - портал о программировании
Энциклопедический Фонд