Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

MySQL ( / ˌ м ˌ ɛ с ˌ к Ju ɛ л / ) [5] является открытым исходным кодом реляционная система управления базами данных (СУБД). [5] [6] Его название представляет собой комбинацию «My», имени дочери соучредителя Майкла Видениуса , [7] и « SQL », аббревиатуры языка структурированных запросов . Реляционная база данныхорганизует данные в одну или несколько таблиц данных, в которых типы данных могут быть связаны друг с другом; эти отношения помогают структурировать данные. SQL - это язык, который программисты используют для создания, изменения и извлечения данных из реляционной базы данных, а также для управления доступом пользователей к базе данных. Помимо реляционных баз данных и SQL, СУБД, такая как MySQL, работает с операционной системой для реализации реляционной базы данных в системе хранения компьютера, управляет пользователями, обеспечивает доступ к сети и облегчает тестирование целостности базы данных и создание резервных копий.

MySQL - это бесплатное программное обеспечение с открытым исходным кодом в соответствии с условиями Стандартной общественной лицензии GNU , а также доступно по ряду проприетарных лицензий. MySQL принадлежала и спонсировалась шведской компанией MySQL AB , которую купила Sun Microsystems (ныне Oracle Corporation ). [8] В 2010 году, когда Oracle приобрела Sun, Видениус развил проект MySQL с открытым исходным кодом, чтобы создать MariaDB . [9]

MySQL имеет автономные клиенты, которые позволяют пользователям напрямую взаимодействовать с базой данных MySQL с помощью SQL, но чаще MySQL используется с другими программами для реализации приложений, которым необходимы возможности реляционной базы данных. MySQL - это компонент программного стека веб-приложений LAMP (и других ), который является аббревиатурой от Linux , Apache , MySQL, Perl / PHP / Python . MySQL используется многими веб-приложениями, управляемыми базами данных, включая Drupal , Joomla , phpBB и WordPress . MySQL также используется многими популярными веб-сайтами. , включая Facebook , [10] [11] Flickr , [12] MediaWiki , [13] Twitter , [14] и YouTube. [15]

Обзор [ править ]

MySQL написан на C и C ++ . Его синтаксический анализатор SQL написан на yacc , но использует самодельный лексический анализатор . [16] MySQL работает на многих системных платформах , включая AIX , BSDi , FreeBSD , HP-UX , ArcaOS , eComStation , i5 / OS , IRIX , Linux , macOS , Microsoft Windows , NetBSD , Novell NetWare , OpenBSD , OpenSolaris., OS / 2 Warp, QNX , Oracle Solaris , Symbian , SunOS , SCO OpenServer , SCO UnixWare , Sanos и Tru64 . Также существует порт MySQL для OpenVMS . [17]

Само программное обеспечение сервера MySQL и клиентские библиотеки используют двойное лицензирование . Они предлагаются по GPL версии 2 или по частной лицензии. [18]

Поддержка может быть получена из официального руководства. [19] Бесплатная поддержка также доступна на различных IRC каналах и форумах. Oracle предлагает платную поддержку через свои продукты MySQL Enterprise. Они различаются объемом услуг и ценой. Кроме того, существует ряд сторонних организаций, предоставляющих поддержку и услуги.

MySQL получил положительные отзывы, и обозреватели отметили, что он «работает очень хорошо в среднем» и что «интерфейсы разработчика есть, а документация (не говоря уже об обратной связи в реальном мире через веб-сайты и т.п.) очень, очень хороший". [20] Он также был протестирован как «быстрый, стабильный и настоящий многопользовательский, многопоточный сервер баз данных SQL». [21]

История [ править ]

Дэвид Аксмарк (слева) и Майкл «Монти» Видениус, основатели MySQL AB, в 2003 году.

MySQL был создан шведской компанией MySQL AB , основанной шведами Дэвидом Аксмарком , Алланом Ларссоном и финским шведом Майклом «Монти» Видениусом . Первоначальная разработка MySQL Widenius и Axmark началась в 1994 году. [22] Первая версия MySQL появилась 23 мая 1995 года. Первоначально она была создана для личного использования из mSQL на основе низкоуровневого языка ISAM , который создатели сочли слишком медленным. и негибкий. Они создали новый интерфейс SQL , сохранив тот же APIкак mSQL. Поддерживая согласованность API с системой mSQL, многие разработчики смогли использовать MySQL вместо предшествующего mSQL (с собственной лицензией). [23]

Вехи [ править ]

Дополнительные вехи в разработке MySQL включали:

  • Первый внутренний релиз 23 мая 1995 г.
  • Версия 3.19: конец 1996 г., с сайта www.tcx.se
  • Версия 3.20: январь 1997 г.
  • Версия для Windows была выпущена 8 января 1998 г. для Windows 95 и NT.
  • Версия 3.21: производственный выпуск 1998, с сайта www.mysql.com
  • Версия 3.22: альфа, бета с 1998 г.
  • Версия 3.23: бета-версия с июня 2000 г., производственный выпуск от 22 января 2001 г. [24]
  • Версия 4.0: бета с августа 2002 г., производственный выпуск - март 2003 г. ( союзы ).
  • Версия 4.1: бета-версия с июня 2004 г., производственный выпуск в октябре 2004 г. ( R-деревья и B-деревья , подзапросы, подготовленные операторы).
  • Версия 5.0: бета-версия с марта 2005 г., производственный выпуск в октябре 2005 г. (курсоры, хранимые процедуры, триггеры, представления, транзакции XA ).
Разработчик Federated Storage Engine заявляет, что «Federated Storage Engine - это проверенная концепция механизма хранения» [25], но основные дистрибутивы MySQL версии 5.0 включали его и включали по умолчанию. Документация по некоторым недостаткам представлена ​​в «MySQL Federated Tables: The Missing Manual». [26]
  • Sun Microsystems приобрела MySQL AB в 2008 году [27].
  • Версия 5.1: производственный выпуск от 27 ноября 2008 г. (планировщик событий, секционирование , API плагинов, построчная репликация, таблицы журналов сервера )
Версия 5.1 содержала 20 известных сбоев и ошибок с неверным результатом в дополнение к 35, присутствующим в версии 5.0 (почти все исправлены в версии 5.1.51) . [28]
MySQL 5.1 и 6.0-alpha показали низкую производительность при использовании для хранилищ данных  - отчасти из-за невозможности использовать несколько ядер ЦП для обработки одного запроса. [29]
  • Oracle приобрела Sun Microsystems 27 января 2010 года. [30] [31] [32]
  • В тот день, когда Oracle объявила о покупке Sun, Майкл «Монти» Видениус разветвил MySQL, запустил MariaDB и взял с собой ряд разработчиков MySQL. [33]
Гейр Хёйдалсвик, нынешний старший директор по разработке программного обеспечения для MySQL в Oracle в 2018 г.
  • MySQL Server 5.5 был общедоступным (по состоянию на декабрь 2010 г. ). Усовершенствования и функции включают:
    • Механизм хранения по умолчанию - InnoDB , который поддерживает транзакции и ограничения ссылочной целостности.
    • Улучшенная подсистема ввода-вывода InnoDB [34]
    • Улучшенная поддержка SMP [35]
    • Полусинхронная репликация.
    • Оператор SIGNAL и RESIGNAL в соответствии со стандартом SQL.
    • Поддержка дополнительных наборов символов Unicode utf16, utf32 и utf8mb4. [а]
    • Новые возможности для пользовательского разбиения.
  • MySQL Server 6.0.11-alpha был объявлен [36] 22 мая 2009 г. как последний выпуск линейки 6.0. Будущая разработка MySQL Server использует новую модель выпуска. Функции, разработанные для 6.0, будут включены в будущие выпуски.
  • Общая доступность MySQL 5.6 была объявлена ​​в феврале 2013 года. [37] Новые функции включали повышение производительности оптимизатора запросов , более высокую пропускную способность транзакций в InnoDB, новые API-интерфейсы memcached в стиле NoSQL , улучшения в секционировании для запросов и управления очень большими таблицами, TIMESTAMP тип столбца, который правильно хранит миллисекунды, улучшения репликации и лучший мониторинг производительности за счет расширения данных, доступных через PERFORMANCE_SCHEMA . [38] Механизм хранения InnoDB также включал поддержку полнотекстового поиска и улучшенную производительность групповой фиксации.
  • Общедоступность MySQL 5.7 была объявлена ​​в октябре 2015 года. [39] Начиная с MySQL 5.7.8, август 2015 года [40] MySQL поддерживает собственный тип данных JSON, определенный в RFC 7159. [41]
  • MySQL Server 8.0 был анонсирован в апреле 2018 года [42], включая хранилище документов NoSQL, атомарные и аварийно-безопасные предложения DDL и расширенный синтаксис JSON , новые функции, такие как табличные функции JSON, улучшенную сортировку и частичные обновления. Предыдущий MySQL Server 8.0.0-dmr (Milestone Release) был анонсирован 12 сентября 2016 г. [43]
  • MySQL был объявлен СУБД года 2019 в рейтинге DB-Engines [44]

История выпусков [ править ]

Легенда:
Старая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Future release

Работа над версией 6 прекратилась после приобретения Sun Microsystems. В продукте MySQL Cluster используется версия 7. Было принято решение перейти к версии 8 в качестве следующего основного номера версии. [56]

Правовые споры и приобретения [ править ]

15 июня 2001 года NuSphere подала в суд на MySQL AB, TcX DataKonsult AB и ее первоначальных авторов Майкла («Монти») Видениуса и Дэвида Аксмарка в окружной суд США в Бостоне за «нарушение контракта, вредоносное вмешательство в контракты и отношения третьих сторон и недобросовестную конкуренцию ". [57] [58]

В 2002 году MySQL AB подала в суд на Progress NuSphere за нарушение авторских прав и товарных знаков в окружной суд США . NuSphere предположительно нарушила авторские права MySQL AB, связав код MySQL под лицензией GPL с таблицей NuSphere Gemini без соблюдения условий лицензии. [59] После предварительного слушания перед судьей Патти Сарис 27 февраля 2002 года стороны вступили в переговоры об урегулировании и в конечном итоге пришли к соглашению. [60] После слушания FSF прокомментировала, что «судья Сарис ясно дала понять, что она считает GNU GPL юридически обязательной и обязательной лицензией». [61]

В октябре 2005 года корпорация Oracle приобрела Innobase OY, финскую компанию, разработавшую сторонний механизм хранения InnoDB, который позволяет MySQL предоставлять такие функции, как транзакции и внешние ключи . После приобретения в пресс-релизе Oracle упоминалось, что контракты, которые делают программное обеспечение компании доступным для MySQL AB , подлежат продлению (и, предположительно, пересмотру) где-то в 2006 году. [62] Во время конференции пользователей MySQL в апреле 2006 года MySQL AB выпустила пресс-релиз, подтверждающий, что MySQL AB и Innobase OY договорились о «многолетнем» продлении своего лицензионного соглашения. [63]

В феврале 2006 года корпорация Oracle приобрела Sleepycat Software , [64] производителя Berkeley DB , механизма базы данных, обеспечивающего основу для другого механизма хранения MySQL. Это имело небольшой эффект, поскольку Berkeley DB не использовался широко и был исключен (из-за отсутствия использования) в MySQL 5.1.12, версии MySQL 5.1 до GA, выпущенной в октябре 2006 г. [65]

В январе 2008 года Sun Microsystems купила MySQL AB за 1 миллиард долларов. [66]

В апреле 2009 года корпорация Oracle заключила соглашение о покупке Sun Microsystems [67], тогдашних владельцев авторских прав и товарных знаков MySQL. Совет директоров Sun единогласно одобрил сделку. Он был также одобрен акционерами Sun и правительством США 20 августа 2009 г. [68] 14 декабря 2009 г. Oracle пообещала продолжить совершенствование MySQL [69], как это делалось в предыдущие четыре года.

Один из основателей MySQL AB, Монти Видениус, начал движение против приобретения Oracle компании MySQL AB, чтобы «сохранить MySQL» [70] у Oracle . В петиции более 50 000 разработчиков и пользователей содержится призыв к Европейской комиссии заблокировать одобрение приобретения. В то же время некоторые лидеры общественного мнения о свободном программном обеспечении (в том числе Памела Джонс из Groklaw , Ян Вильдебоер и Карло Пиана , которые также выступали в качестве со-юрисконсульта в процедуре регулирования слияния) выступали за безоговорочное одобрение слияния. [71] [72] [73]В рамках переговоров с Европейской комиссией Oracle пообещала, что сервер MySQL будет продолжать использовать стратегию двойного лицензирования как минимум до 2015 года, давно используемую MySQL AB, с доступными проприетарными версиями и версиями GPL. Антимонопольное законодательство ЕС «заставляло его отказаться от MySQL в качестве условия одобрения слияния». Но, как сообщает WikiLeaks , министерство юстиции США по запросу Oracle оказало давление на ЕС, чтобы тот безоговорочно одобрил слияние. [74] Европейская комиссия в конечном итоге безоговорочно одобрила приобретение Oracle компании MySQL AB 21 января 2010 года. [75]

В январе 2010 года, до того, как Oracle приобрела MySQL AB, Монти Видениус запустил форк MariaDB , основанный только на GPL . MariaDB основан на той же кодовой базе, что и MySQL server 5.5, и стремится поддерживать совместимость с версиями, предоставляемыми Oracle. [76]

Особенности [ править ]

MySQL предлагается в двух различных редакциях: MySQL Community Server с открытым исходным кодом [77] и проприетарный Enterprise Server . [78] MySQL Enterprise Server отличается серией проприетарных расширений, которые устанавливаются как серверные плагины, но в остальном используют систему нумерации версий и построены на той же кодовой базе.

Основные функции, доступные в MySQL 5.6:

  • Широкое подмножество ANSI SQL 99 , а также расширения
  • Кросс-платформенная поддержка
  • Хранимые процедуры , использующие процедурный язык, близкий к SQL / PSM [79]
  • Триггеры
  • Курсоры
  • Обновляемые представления
  • Онлайн- язык определения данных (DDL) при использовании InnoDB Storage Engine.
  • Информационная схема
  • Схема производительности, которая собирает и объединяет статистику о выполнении сервера и производительности запросов для целей мониторинга. [80]
  • Набор параметров режима SQL для управления поведением во время выполнения , включая строгий режим для лучшего соответствия стандартам SQL.
  • Поддержка распределенной обработки транзакций (DTP) X / Open XA ; двухфазная фиксация как часть этого, с использованием механизма хранения InnoDB по умолчанию
  • Транзакции с точками сохранения при использовании механизма хранения InnoDB по умолчанию. NDB Cluster Storage Engine также поддерживает транзакции.
  • Соответствие ACID при использовании InnoDB и NDB Cluster Storage Engine [81]
  • Поддержка SSL
  • Запрос кэширования
  • Суб ВЫБИРАЕТ (то есть вложенная селекция)
  • Встроенная поддержка репликации
    • Асинхронная репликация: ведущий-ведомый от одного ведущего ко многим ведомым [82] [83] или от многих мастеров к одному ведомому [84]
    • Полусинхронная репликация: репликация от главного устройства к подчиненному, когда мастер ожидает репликации [85] [86]
    • Синхронная репликация: в MySQL Cluster предоставляется репликация с несколькими мастерами . [87]
    • Виртуальный синхронный : Самоуправляемые группы серверов MySQL с поддержкой нескольких мастеров могут быть выполнены с помощью: Galera Cluster [88] или встроенного плагина Group Replication [89]
  • Полнотекстовое индексирование и поиск [b]
  • Встроенная библиотека базы данных
  • Поддержка Unicode [a]
  • Секционированные таблицы с обрезкой секций в оптимизаторе
  • Кластеризация без общего доступа через MySQL Cluster
  • Несколько механизмов хранения, позволяющие выбрать наиболее эффективный для каждой таблицы в приложении. [c]
  • Собственные механизмы хранения InnoDB , MyISAM , Merge, Memory (heap), Federated , Archive, CSV , Blackhole, NDB Cluster.
  • Группировка фиксации, объединение нескольких транзакций из нескольких соединений вместе для увеличения количества фиксаций в секунду.

Разработчики выпускают небольшие обновления MySQL Server примерно каждые два месяца. Исходные коды можно получить с веб-сайта MySQL или из репозитория MySQL на GitHub , оба по лицензии GPL.

Ограничения [ править ]

При использовании некоторых механизмов хранения, отличных от InnoDB по умолчанию, MySQL не соответствует полному стандарту SQL для некоторых реализованных функций, включая ссылки на внешние ключи. [90] Проверочные ограничения анализируются, но игнорируются всеми механизмами хранения до версии MySQL 8.0.15. [91] [92]

Вплоть до MySQL 5.7 триггеры ограничены одним триггером для каждого действия / времени, что означает, что не более одного триггера может быть определено для выполнения после операции INSERT и одного перед INSERT в той же таблице. [93] Для представлений нельзя определить триггеры. [93]

Встроенные функции базы данных MySQL как UNIX_TIMESTAMP () вернет 0 после 03:14:07 UTC на 19 января 2038 года . [94] Недавно [ когда? ] была попытка решить проблему, которая была назначена внутренней очереди. [95]

Развертывание [ править ]

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

Пакет программного обеспечения LAMP , отображаемый здесь вместе с Squid .

Хотя MySQL начинался как недорогая альтернатива более мощным проприетарным базам данных, он постепенно эволюционировал, чтобы поддерживать и потребности более высокого уровня. Он по-прежнему чаще всего используется в небольших и средних развертываниях с одним сервером либо в качестве компонента в веб-приложении на основе LAMP, либо в качестве автономного сервера базы данных. Привлекательность MySQL во многом обусловлена ​​его относительной простотой и удобством использования, что обеспечивается экосистемой инструментов с открытым исходным кодом, таких как phpMyAdmin . В среднем диапазоне MySQL можно масштабировать, развернув его на более мощном оборудовании, таком как многопроцессорный сервер с гигабайтами памяти.

Однако существуют ограничения на то, насколько производительность может масштабироваться на одном сервере («масштабирование»), поэтому в более крупных масштабах требуется многосерверное развертывание MySQL («горизонтальное масштабирование») для обеспечения повышенной производительности и надежности. Типичная конфигурация высокого уровня может включать мощную главную базу данных, которая обрабатывает операции записи данных и реплицируется на несколько ведомых устройств, которые обрабатывают все операции чтения. [96] Главный сервер постоянно отправляет события бинарного журнала подключенным подчиненным, поэтому в случае отказа подчиненное устройство может быть назначено новым главным, что минимизирует время простоя. Дальнейшее улучшение производительности может быть достигнуто путем кэширования результатов запросов к базе данных в памяти с помощью memcached или разбиения базы данных на более мелкие фрагменты, называемыешарды, которые могут быть распределены по ряду распределенных кластеров серверов. [97]

Программное обеспечение высокой доступности [ править ]

Oracle MySQL предлагает решение высокой доступности с набором инструментов, включая маршрутизатор MySQL и оболочку MySQL. Они основаны на групповой репликации, инструментах с открытым исходным кодом. [98]

MariaDB предлагает аналогичное предложение с точки зрения продуктов. [99]

Развертывание в облаке [ править ]

MySQL также может работать на платформах облачных вычислений, таких как Microsoft Azure , Amazon EC2 , Oracle Cloud Infrastructure . Вот некоторые распространенные модели развертывания MySQL в облаке:

Образ виртуальной машины
В этой реализации пользователи облака могут загрузить собственный образ машины с установленным MySQL или использовать готовый образ машины с оптимизированной установкой MySQL на нем, например, предоставленный Amazon EC2. [100]
MySQL как услуга
Некоторые облачные платформы предлагают MySQL «как услугу». В этой конфигурации владельцам приложений не нужно самостоятельно устанавливать и поддерживать базу данных MySQL. Вместо этого поставщик службы базы данных берет на себя ответственность за установку и обслуживание базы данных, а владельцы приложений платят в соответствии с их использованием. [101] Известными облачными сервисами MySQL являются Amazon Relational Database Service ; Oracle MySQL Cloud Service , База данных Azure для MySQL , Rackspace ; Конвергентное облако HP ; Heroku и Jelastic . В этой модели провайдер службы базы данных берет на себя ответственность за обслуживание хоста и базы данных.

Пользовательские интерфейсы [ править ]

Графические пользовательские интерфейсы [ править ]

Графический пользовательский интерфейс (GUI) представляет собой тип интерфейса , который позволяет пользователям взаимодействовать с электронными устройствами или программами через графические иконки и визуальные индикаторы , такие как вторичное обозначение, в отличии от текстовых интерфейсов, набранной команды на этикетки или текст навигации.

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

MySQL Workbench, работающий на macOS

MySQL Workbench [ править ]

MySQL Workbench - это интегрированная среда для MySQL. Он был разработан MySQL AB и позволяет пользователям графически управлять базами данных MySQL и визуально проектировать структуры баз данных.

MySQL Workbench доступен в двух редакциях: обычная бесплатная версия Community Edition с открытым исходным кодом, которую можно загрузить с веб-сайта MySQL, и проприетарная версия Standard Edition, которая расширяет и улучшает набор функций Community Edition. [ необходима цитата ]

Другие инструменты графического интерфейса [ править ]

  • Администратор
  • Инструментальные средства базы данных
  • DBeaver
  • DBEdit
  • HeidiSQL
  • База LibreOffice
  • Navicat
  • База OpenOffice.org
  • phpMyAdmin
  • SQLBuddy
  • SQLyog
  • Жаба для MySQL
  • Webmin

Интерфейсы командной строки [ править ]

Интерфейс командной строки является средством взаимодействия с компьютерной программой , где командуют вопросы пользователей к программе, набрав в последовательных строках текста (командные строки). MySQL поставляется со многими инструментами командной строки , основным интерфейсом которых является клиент mysql . [102] [103]

Утилиты MySQL - это набор утилит, предназначенных для выполнения общих задач обслуживания и администрирования. Первоначально входившие в состав MySQL Workbench, эти утилиты можно загрузить отдельно от Oracle.

Percona Toolkit - это кроссплатформенный набор инструментов для MySQL, разработанный на Perl . [104] Percona Toolkit можно использовать для проверки правильности работы репликации, исправления поврежденных данных, автоматизации повторяющихся задач и ускорения работы серверов. Percona Toolkit входит в состав нескольких дистрибутивов Linux, таких как CentOS и Debian , а также доступны пакеты для Fedora и Ubuntu . Percona Toolkit изначально разрабатывался как Maatkit, но по состоянию на конец 2011 года Maatkit больше не разрабатывается.

Оболочка MySQL - это инструмент для интерактивного использования и администрирования базы данных MySQL. Он поддерживает режимы JavaScript, Python или SQL и может использоваться для целей администрирования и доступа. [105]

Интерфейсы прикладного программирования [ править ]

Многие языки программирования с языковыми API включают библиотеки для доступа к базам данных MySQL. К ним относятся MySQL Connector / Net для языков .NET / CLI , [106] и драйвер JDBC для Java. [107]

Кроме того, интерфейс ODBC под названием MySQL Connector / ODBC позволяет дополнительным языкам программирования, которые поддерживают интерфейс ODBC, взаимодействовать с базой данных MySQL, например ASP или ColdFusion . HTSQL  - URL -На метод запроса также поставляется с адаптером MySQL, что позволяет прямое взаимодействие между MySQL базы данных и любой веб - клиента через структурированные URL. Другие драйверы существуют для таких языков, как Python [108] или Node.js [109] .

Вилки проекта [ править ]

Существует множество форков MySQL , включая следующие.

Текущий [ править ]

MariaDB
MariaDB - это разработанная сообществом ветвь системы управления реляционными базами данных MySQL, предназначенная для бесплатного использования под лицензией GNU GPL. Разветвление было инициировано первоначальными разработчиками MySQL, которые разделили его из-за опасений по поводу его приобретения Oracle. [33]
Сервер Percona для MySQL
Percona Server для MySQL , созданный Percona , нацелен на сохранение тесной совместимости с официальными выпусками MySQL. [110] В Percona Server для MySQL также включен XtraDB , ответвление Percona для InnoDB Storage Engine . [111]

Заброшенный [ править ]

Морось
Drizzle была бесплатной системой управления реляционными базами данных (СУБД) с открытым исходным кодом, которая была разветвлена ​​из ныне не существующей ветви разработки 6.0 СУБД MySQL. [112] Как и MySQL, Drizzle имеет архитектуру клиент / сервер и использует SQL в качестве основного командного языка . Drizzle распространялся под версией 2 и 3 Стандартной общественной лицензии GNU (GPL) с частями, включая драйверы протокола и репликацию сообщений по лицензии BSD .
WebScaleSQL
WebScaleSQL - это программная ветвь MySQL 5.6, о которой 27 марта 2014 года объявили Facebook, Google, LinkedIn и Twitter как совместные усилия по обеспечению централизованной структуры разработки для расширения MySQL с помощью новых функций, характерных для его крупномасштабных развертываний, таких как создание больших реплицированных баз данных, работающих на фермах серверов. Таким образом, WebScaleSQL открыла путь к дедупликации усилий, которые каждая компания вкладывала в поддержку своей собственной ветви MySQL, и к объединению большего числа разработчиков. Объединив усилия этих компаний и включив в MySQL различные изменения и новые функции, WebScaleSQL нацелен на поддержку развертывания MySQL в крупномасштабных средах. [113] [114]Исходный код проекта лицензирован в соответствии с версией 2 Стандартной общественной лицензии GNU и размещен на GitHub . [115] [116]
OurDelta
Дистрибутив OurDelta, созданный австралийской компанией Open Query (позже приобретенной Catalyst IT Australia), имел две версии: 5.0, которая была основана на MySQL, и 5.1, которая была основана на MariaDB. В него вошли патчи, разработанные Open Query и другими известными членами сообщества MySQL, включая Джереми Коула и Google. Как только патчи были включены в основную ветку MariaDB, цели OurDelta были достигнуты, и OurDelta передала свой набор инструментов для сборки и упаковки Monty Program (теперь MariaDB Corp). [117]

См. Также [ править ]

  • Сравнение инструментов базы данных
  • Сравнение движков баз данных MySQL
  • Сравнение систем управления реляционными базами данных
  • Соответствие SQL

Заметки [ править ]

  1. ^ a b До MySQL 5.5.3 строки в кодировке UTF-8 и UCS-2 ограничивались BMP ; MySQL 5.5.3 и более поздние версии используют utf8mb4 для полной поддержки Unicode.
  2. ^ Изначально это была функция MyISAM; поддерживается InnoDB с момента выпуска MySQL 5.6.
  3. ^ В MySQL 5.0 механизмы хранения должны быть скомпилированы; Начиная с MySQL 5.1, механизмы хранения могут динамически загружаться во время выполнения .

Ссылки [ править ]

  1. ^ «Изменения в MySQL 8.0.23 (2021-01-18, общедоступный)» . 18 января 2021 г.
  2. ^ «MySQL: сводка проекта» . Охлох . Программное обеспечение Black Duck . Проверено 17 сентября 2012 года .
  3. ^ «Поддерживаемые платформы: база данных MySQL» . Oracle . Проверено 24 марта 2014 года .
  4. ^ "Загрузки" . MySQL . Проверено 3 августа 2014 .
  5. ^ a b "Что такое MySQL?" . Справочное руководство по MySQL 8.0 . Корпорация Oracle . Проверено 3 апреля 2020 . Официальный способ произносить «MySQL» - «My Ess Que Ell» (а не «мое продолжение»), но мы не возражаем, если вы произносите его как «мое продолжение» или каким-либо другим локализованным способом.
  6. ^ «Рейтинг реляционных СУБД DB-Engines» . DB-Двигатели . solidIT consulting & software development GmbH . Проверено 3 апреля 2020 .
  7. ^ «История MySQL» . Справочное руководство по MySQL 8.0 . Корпорация Oracle . Проверено 3 апреля 2020 . MySQL назван в честь дочери соучредителя Монти Видениуса, My.
  8. ^ «Sun Microsystems объявляет о завершении приобретения MySQL; открывает путь к безопасной платформе с открытым исходным кодом для поддержки сетевой экономики» (пресс-релиз). Sun Microsystems. 26 февраля 2008. Архивировано из оригинала 28 февраля 2008 года . Проверено 17 сентября 2012 года .
  9. Пирс, Рохан (28 марта 2013 г.). «Ходьба мертвой базы данных: создатель MySQL о том, почему будущее принадлежит MariaDB» . Компьютерный мир . Проверено 3 апреля 2020 . В день объявления о покупке Sun Видениус ответил […] - он разветвил MySQL, запустив MariaDB […]
  10. ^ Собела, Джейсон (21 декабря 2007). «Идти в ногу» . Блог Facebook . Facebook. Архивировано из оригинала 18 июня 2009 года . Проверено 18 июня 2009 года . […] Данные Facebook хранятся на серверах баз данных MySQL […]
  11. ^ Matsunobu, Yoshinori (31 августа 2016). «MyRocks: база данных MySQL, оптимизированная по пространству и записи» . Facebook Engineering . Архивировано 7 марта 2020 года . Дата обращения 7 марта 2020 . В Facebook мы используем MySQL для управления большим количеством петабайт данных вместе с механизмом хранения InnoDB […]
  12. Эллиот-МакКри, Келлан (8 февраля 2010 г.). «Использование, злоупотребление и масштабирование MySQL на Flickr» . code.flickr.com . Проверено 3 апреля 2020 . […] MySQL - это наш молоток, и мы используем его почти для всего. Это наше хранилище объединенных данных, наше хранилище ключей и значений и наше хранилище документов.
  13. ^ "Руководство: MySQL" . www.mediawiki.org . MediaWiki, бесплатный движок вики . Проверено 3 апреля 2020 . Механизмы баз данных MySQL и MariaDB являются наиболее часто используемыми базами данных для MediaWiki.
  14. Хашеми, Маздак (19 января 2017 г.). «Инфраструктура Twitter: масштаб» . blog.twitter.com . Проверено 3 апреля 2020 . SQL: это включает MySQL, PostgreSQL и Vertica. MySQL / PosgreSQL используются там, где нам нужна строгая согласованность […]
  15. ^ "Клиент MySQL: YouTube" . MySQL.com . Oracle . Проверено 17 сентября 2012 года .
  16. ^ "MySQL Internals Manual" . Dev.mysql.com. 4 марта 2009 . Проверено 8 июня 2009 года .
  17. ^ "MySQL для OpenVMS" . vmsmysql.org. 30 марта 2011 . Проверено 16 января 2014 года .
  18. ^ «Коммерческая лицензия для OEM-производителей, ISV и VAR» . www.mysql.com . Июль 2010 . Проверено 3 апреля 2020 . Oracle предоставляет свой сервер базы данных MySQL […] по модели двойной лицензии […] Oracle делает свой сервер базы данных MySQL […] доступным по лицензии GPLv2 […]
  19. ^ Руководство по поддержке MySQL, разработчики MySQL
  20. ^ Обзор MySQL Server 5.0 , Techworld.com, ноябрь 2005 г.
  21. ^ Обзор сервера MySQL , LinuxMint.com
  22. ^ «Пять вопросов с Майклом Видениусом - основателем и первоначальным разработчиком MySQL» . opensourcereleasefeed.com. Архивировано из оригинального 13 марта 2009 года . Проверено 13 октября 2012 года .
  23. ^ «История и архитектура MySQL» . Дата обращения 5 декабря 2020 .
  24. ^ "MySQL 3.23 объявлен стабильным" . Архивировано из оригинального 15 августа 2001 года.
  25. ^ "Capttofu: Выпущен подключаемый механизм хранения FederatedX!" . Capttofu.livejournal.com. Архивировано из оригинального 13 августа 2011 года . Проверено 3 апреля 2009 года .
  26. ^ «MySQL Federated Tables: Отсутствующее руководство» . O'Reilly Media. 8 октября 2006 . Проверено 1 февраля 2012 года .
  27. ^ «Sun покупает MySQL за 1 миллиард долларов; открытый исходный код является законной бизнес-моделью» . Проверено 13 октября 2012 года .
  28. ^ «Архивы - Ой, мы сделали это снова (MySQL 5.1 выпущен как GA с ошибками)» . Планета MySQL. 29 ноября 2008. Архивировано из оригинала 30 декабря 2008 года . Проверено 5 февраля 2013 года .
  29. Петр Зайцев (10 апреля 2008 г.). «TPC-H Run on MySQL 5.1 и 6.0» . Блог производительности MySQL . Проверено 8 июня 2009 года .
  30. ^ «Oracle завершает приобретение Sun» (пресс-релиз). Oracle. 27 января 2010 . Проверено 1 февраля 2012 года .
  31. ^ «Обзор и часто задаваемые вопросы» (PDF) .
  32. ^ «Амбициозные планы Oracle по интеграции технологий Sun» . InfoWorld . 27 января 2010 г.
  33. ^ a b «Ходьба мертвой базы данных: создатель MySQL о том, почему будущее принадлежит MariaDB» . Компьютерный мир . 28 марта 2013 . Дата обращения 2 октября 2020 .
  34. ^ "Изменения подсистемы ввода-вывода InnoDB" . dev.mysql.com. Архивировано из оригинального 10 февраля 2012 года . Проверено 1 февраля 2012 года .
  35. ^ «Улучшения масштабируемости» . dev.mysql.com. Архивировано из оригинального 10 февраля 2012 года . Проверено 1 февраля 2012 года .
  36. ^ "Списки MySQL: упаковщики: выпущена версия MySQL 6.0.11 Alpha!" . Lists.mysql.com . Проверено 1 февраля 2012 года .
  37. ^ http://www.oracle.com/us/corporate/press/1904335
  38. ^ «Что нового в MySQL 5.6» . Зона разработчиков MySQL. Архивировано из оригинального 23 апреля 2011 года . Проверено 21 апреля 2011 года .
  39. ^ «Oracle объявляет об общедоступности MySQL 5.7» . Oracle . Проверено 1 ноября 2015 года .
  40. ^ «MySQL :: Примечания к выпуску MySQL 5.7 :: Изменения в MySQL 5.7.8 (2015-08-03, кандидат на выпуск)» . dev.mysql.com . Проверено 10 октября 2019 .
  41. ^ "MySQL :: MySQL 5.7: Справочное руководство :: 11.6 Тип данных JSON" . dev.mysql.com . RFC 7159 . Проверено 10 октября 2019 . 
  42. ^ Фрэнк, Майк. «Объявление об общедоступности MySQL 8.0» . blogs.oracle.com . Проверено 10 октября 2019 .
  43. ^ «8.0.0-dmr (Веха выпуска)» . Проверено 12 сентября 2016 года .
  44. ^ «MySQL - СУБД года 2019» . DB-Двигатели . Проверено 7 января 2020 года .
  45. ^ «Политика поддержки Oracle Lifetime Support» (PDF) . Проверено 10 октября 2019 .
  46. ^ «A.1 MySQL 5.1 FAQ: Общие» . docs.oracle.com . Дата обращения 2 августа 2017 .
  47. ^ «2 изменения в MySQL 5.1.73 (2013-12-03)» . docs.oracle.com . Проверено 28 апреля 2020 .
  48. ^ «MySQL: Примечания к выпуску MySQL 5.5» . dev.mysql.com . Проверено 15 января 2018 года .
  49. ^ «2 изменения в MySQL 5.5.62 (22.10.2018, общедоступно)» . docs.oracle.com . Проверено 28 апреля 2020 .
  50. ^ «MySQL: Примечания к выпуску MySQL 5.6» . dev.mysql.com . Проверено 15 января 2018 года .
  51. ^ «MySQL :: Примечания к выпуску MySQL 5.6 :: Изменения в MySQL 5.6.51 (2021-01-20, общедоступный)» . dev.mysql.com . Проверено 4 марта 2021 года .
  52. ^ "MySQL: Примечания к выпуску MySQL 5.7" . dev.mysql.com . Проверено 15 января 2018 года .
  53. ^ «MySQL :: Примечания к выпуску MySQL 5.7 :: Изменения в MySQL 5.7.33 (2021-01-18, общедоступный)» . dev.mysql.com . Проверено 4 марта 2021 года .
  54. ^ Hoydalsvik Гейр (19 апреля 2018). «Что нового в MySQL 8.0? (Общедоступно)» . Проверено 10 октября 2019 .
  55. ^ «MySQL :: Примечания к выпуску MySQL 8.0 :: Изменения в MySQL 8.0.23 (2021-01-18, общедоступный)» . dev.mysql.com . Проверено 22 февраля 2021 года .
  56. ^ "MySQL 8 скоро" . opensource.com . Проверено 27 апреля 2018 года .
  57. Василий, Том (4 сентября 2001 г.). "Свидетельство очевидца:" Монти Видениус, международный беглец " " . MySQL Life (список рассылки). Архивировано из оригинала 4 октября 2013 года . Проверено 16 сентября 2012 года .
  58. ^ «Часто задаваемые вопросы о споре MySQL и NuSphere» . MySQL AB. 13 июля 2001 года Архивировано из оригинала 17 июля 2001 года . Проверено 16 сентября 2012 года .
  59. ^ «Аффидевит Эбена Моглена о прогрессе программного обеспечения против предварительного слушания судебного запрета MySQL AB» . Архивировано из оригинала 7 февраля 2005 года.
  60. ^ Progress Software Corporation против MySQL AB , 195 F. Supp. 2d 328 (D. Mass. 2002).
  61. ^ «Судья Сарис откладывает вопросы GNU GPL на пробу в MySQL против Progress Software» (пресс-релиз). Фонд свободного программного обеспечения. 1 марта 2002 . Проверено 16 сентября 2012 года .
  62. ^ «Oracle объявляет о приобретении компании по разработке программного обеспечения с открытым исходным кодом, Innobase» (пресс-релиз). Oracle. 7 октября 2005 года архивации с оригинала на 20 июля 2011 года . Проверено 16 сентября 2012 года .
  63. ^ «MySQL для продвижения новых механизмов БД с открытым исходным кодом от своих партнеров и сообщества разработчиков» (пресс-релиз). MySQL AB. 26 апреля 2006 года архивация с оригинала на 23 июня 2011 . Проверено 16 сентября 2012 года .
  64. Бэбкок, Чарльз (14 февраля 2006 г.). "Oracle покупает Sleepycat, будет ли JBoss следующим?" . Информационная неделя . CPM Media . Проверено 16 сентября 2012 года .
  65. ^ «Изменения в MySQL 5.1.12» . Справочное руководство по MySQL 5.1 . MySQL AB. 24 октября 2006 Архивировано из оригинала 20 октября 2012 года . Проверено 16 сентября 2012 года .
  66. ^ «Sun Microsystems объявляет о соглашении приобрести MySQL, разработчика самой популярной в мире базы данных с открытым исходным кодом» (пресс-релиз). Sun Microsystems. 16 января 2008. Архивировано из оригинала 18 июля 2011 года . Проверено 16 сентября 2012 года .
  67. ^ «Oracle to Buy Sun» (пресс-релиз). Sun Microsystems. 20 апреля 2009 года архивации с оригинала на 22 апреля 2009 года . Проверено 16 сентября 2012 года .
  68. ^ Thomasch, Пол; Финкль, Джим (20 августа 2009 г.). «Oracle получает одобрение США на покупку Sun Microsystems» . Рейтер . Дата обращения 2 марта 2020 .
  69. Уитни, Лэнс (14 декабря 2009 г.). «Oracle обязуется хорошо работать с MySQL» . CNET . Архивировано из оригинального 12 марта 2016 года . Проверено 16 сентября 2012 года .
  70. Майкл, Видениус (12 декабря 2009 г.). «Помогите сохранить MySQL» . Говорит Монти . Google . Проверено 16 сентября 2012 года .
  71. ^ «Центр закона о свободе программного обеспечения представляет заключение о слиянии Oracle и Sun в Европейскую комиссию» . www.softwarefreedom.org . Правовой центр свободы программного обеспечения. 4 декабря 2009 . Проверено 1 февраля 2018 .
  72. Лай, Эрик (28 октября 2009 г.). «Многие разработчики ПО с открытым исходным кодом поддерживают поглощение MySQL Oracle» . www.infoworld.com . InfoWorld . Проверено 1 февраля 2018 .
  73. ^ Wildeboer Ян (5 января 2010). «Почему я не подпишу петицию MySQL» . jan.wildeboer.net . Проверено 1 февраля 2018 .
  74. ^ Kanaracus, Крис (30 августа 2011). «Кабель Wikileaks предлагает новый взгляд на сделку между Oracle и Sun» . Мир ПК . Проверено 16 сентября 2012 года .
  75. ^ «Слияния: Комиссия одобряет предложение Oracle о приобретении Sun Microsystems» (пресс-релиз). Евросоюз. 21 января 2010 . Проверено 16 сентября 2012 года .
  76. ^ «MariaDB против MySQL - Совместимость» . База знаний MariaDB . Проверено 3 апреля 2020 . Версии MariaDB функционируют как «прямая замена» эквивалентной версии MySQL с некоторыми ограничениями.
  77. ^ "MySQL Community Edition" . www.mysql.com . Проверено 3 апреля 2020 . MySQL Community Edition - это свободно загружаемая версия […]. Он доступен по лицензии GPL […]
  78. ^ "Что мне использовать: MySQL Enterprise или MySQL Community Server?" . MySQL AB. Архивировано из оригинала 9 апреля 2009 года . Проверено 8 апреля 2009 года .
  79. ^ Гай Харрисон; Стивен Фейерштейн (2008). Программирование хранимых процедур MySQL . O'Reilly Media. п. 49. ISBN 978-0-596-10089-6.
  80. ^ «Мониторинг показателей производительности RDS MySQL» . Датадог . 20 октября 2015 . Проверено 14 декабря 2015 года .
  81. ^ "MySQL :: InnoDB 1.1 для MySQL 5.5 Руководство пользователя :: C InnoDB Glossary :: ACID" . Архивировано из оригинального 25 декабря 2010 года . Проверено 5 января 2011 года .
  82. ^ «Репликация» . MySQL.
  83. ^ "Репликация MariaDB" . База знаний MariaDB . Проверено 9 марта 2019 .
  84. ^ "MySQL :: MySQL 5.7: Справочное руководство :: 16.1.4 MySQL Multi-Source Replication" . dev.mysql.com . Проверено 9 марта 2019 .
  85. ^ "MySQL :: MySQL 5.7: Справочное руководство :: 16.3.9 Полусинхронная репликация" . dev.mysql.com . Проверено 9 марта 2019 .
  86. ^ «Полусинхронная репликация» . База знаний MariaDB . Проверено 9 марта 2019 .
  87. ^ "MySQL Cluster Replication: Multi-Master and Circular Replication" . MySQL.
  88. ^ "MySQL University: MySQL Galera Multi-Master Replication" . Корпорация Oracle . 9 февраля 2010 г.
  89. ^ "MySQL :: MySQL 8.0: Справочное руководство :: 18 репликация групп" . dev.mysql.com . Проверено 9 марта 2019 .
  90. ^ «13.1.20.5 Ограничения внешнего ключа» . MySQL . Проверено 10 марта 2021 года .
  91. ^ "Ошибка № 3464 Ограничения: ПРОВЕРКА поддержки" . MySQL. 14 апреля 2004 . Проверено 11 апреля 2015 года .
  92. ^ «Справочное руководство MySQL 8.0: синтаксис CREATE TABLE» . Справочное руководство по MySQL . Oracle . Проверено 7 мая 2018 .
  93. ^ a b «CREATE TRIGGER Syntax» . MySQL . Проверено 11 апреля 2015 года .
  94. ^ «Ошибки MySQL: # 12654: 64-битная временная метка unix не поддерживается в функциях MySQL» . MySQL. 18 августа 2005 . Проверено 6 октября 2017 года .
  95. ^ "Разрешить даты после 2038 года dveeden · Запрос на извлечение # 130 · mysql / mysql-server" . GitHub, Inc. 22 марта 2017 . Проверено 6 октября 2017 года .
  96. ^ «Будущее репликации в MySQL» . Facebook . Проверено 9 декабря 2009 года .
  97. ^ «Шардинг базы данных» . Code Futures. Архивировано из оригинала 16 января 2010 года . Проверено 9 декабря 2009 года .
  98. ^ "MySQL :: MySQL Enterprise Высокая доступность" . www.mysql.com . Проверено 9 марта 2019 .
  99. ^ «Высокая доступность и настройка производительности» . База знаний MariaDB . Проверено 9 марта 2019 .
  100. ^ «Запуск MySQL на Amazon EC2 с EBS (Elastic Block Store)» . Amazon Web Services . Проверено 5 февраля 2013 года .
  101. ^ Финли, Клинт. «7 облачных служб баз данных» . ReadWriteWeb . Архивировано из оригинала 9 ноября 2011 года . Проверено 9 ноября 2011 года .
  102. ^ mysql - Инструмент командной строки MySQL, Справочное руководство по MySQL
  103. ^ mysqladmin - инструмент командной строки MySQL, Справочное руководство MySQL
  104. ^ "Percona Toolkit" . Percona . Проверено 26 марта 2014 года .
  105. ^ "MySQL :: Загрузить оболочку MySQL" . dev.mysql.com . Проверено 9 марта 2019 .
  106. ^ "MySQL Connector / NET Developer Guide" . mysql.com . 9 сентября 2020 . Проверено 20 сентября 2020 года .
  107. ^ "MySQL Connector / J Developer Guide" . mysql.com . 18 сентября 2020 . Проверено 20 сентября 2020 года .
  108. ^ "MySQL :: Download Connector / Python" . dev.mysql.com . Проверено 9 марта 2019 .
  109. ^ "MySQL :: Download Connector / Node.js" . dev.mysql.com . Проверено 9 марта 2019 .
  110. ^ "Как это связано с другими форками MySQL?" . Часто задаваемые вопросы . Percona. Архивировано из оригинала 15 апреля 2015 года . Дата обращения 6 июня 2015 .
  111. ^ «Percona бросает вызов Oracle с альтернативной версией MySQL» . Мир ПК . Проверено 12 февраля 2015 года .
  112. Кларк, Джек (17 марта 2011 г.). "Форк MySQL Drizzle получает общий релиз" . ZDNet . Проверено 3 января +2016 .
  113. Стивен Дж. Воан-Николс (28 марта 2013 г.). «WebScaleSQL: MySQL для баз данных размером с Facebook» . ZDNet . Проверено 1 апреля 2014 года .
  114. ^ Клинт Финли (27 марта 2013). «Google и Facebook объединяются, чтобы модернизировать устаревшие базы данных» . Проводной . Проверено 1 апреля 2014 года .
  115. Джек Кларк (27 марта 2013 г.). «Forkin '' L! Facebook, Google и друзья создают WebScaleSQL из MySQL 5.6» . Реестр . Проверено 1 апреля 2014 года .
  116. ^ «Часто задаваемые вопросы» . webscalesql.org . 27 марта 2014 . Проверено 1 апреля 2014 года .
  117. ^ https://openquery.com.au/products/ourdelta

Внешние ссылки [ править ]

СМИ, связанные с MySQL, на Викискладе?

  • Официальный сайт
  • MySQL в Oracle
  • Axmark, Дэвид (21 марта 2008 г.). «Соучредитель MySQL Дэвид Аксмарк о приобретении Sun за миллиард долларов» (видео) . intruders.tv .
  • MySQL в Curlie