Этот раздел дает ответ на следующие вопросы ''Насколько стабильным является MySQL?'' и ''Могу ли я положиться на MySQL в своем проекте?'' Мы попытаемся внести ясность в эти проблемы, а также ответить на некоторые важные вопросы, которые имеют значение для многих потенциальных пользователей. Информация данного раздела базируется на данных из списка рассылки, - наши пользователи очень активно сообщают нам о выявленных проблемах и о своем опыте использования нашего ПО.
Самые первые версии кода были
созданы в начале 80-х. Это был
устойчивый код с форматом таблиц
ISAM, обеспечивающим
обратную совместимость с
предыдущими версиями. Во времена
компании TcX, предшественника MySQL AB,
с середины 1986 года код MySQL работал в
проектах без каких-либо проблем. Но
когда сервер MySQL был выпущен для
широкого использования, оказалось,
что существует несколько
фрагментов ``непротестированного
кода''. Эти фрагменты были быстро
обнаружены новыми пользователями,
которые составляли запросы в
несколько ином виде, чем мы.
С каждым новым релизом количество проблем, связанных с переносимостью, уменьшалось (несмотря на то, что в каждом выпуске появлялось множество новых возможностей).
Каждый релиз MySQL был рабочим, проблемы возникали только при использовании кода из ``серых зон''. Естественно, что новые пользователи не знают о том, где находятся такие ``серые зоны''; в данном разделе сделана попытка описать те из них, которые известны на данный момент. Большая часть описания относится к версии 3.23 MySQL-сервера. В самой последней версии все известные ошибки устранены, за исключением тех, которые перечислены в разделе ошибок, а также конструктивных дефектов. See Раздел 1.9.5, «Известные ошибки и недостатки проектирования в MySQL».
Структура ПО MySQL является многоуровневой с независимыми модулями. Некоторые из новейших модулей перечислены ниже, причем по каждому дается информация о том, насколько хорошо он протестирован.
Репликация - Gamma
Большие серверные кластеры, в которых применяется репликация, находятся в промышленной эксплуатации и показывают хорошие результаты. Работа над средствами репликации в MySQL 4.x продолжается.
InnoDB-таблицы
- стабильно (в 3.23 с 3.23.49)
Обработчик транзакционных
InnoDB-таблиц объявлен в
настоящее время стабильными в
дереве MySQL 3.23, начиная с версии
3.23.49. InnoDB используется
в больших промышленных системах
с большой нагрузкой.
BDB-таблицы
- Gamma
Код Berkeley DB очень
устойчив, но на настоящий момент
продолжается
усовершенствование интерфейса
обработчика транзакционных
BDB-таблиц с MySQL, поэтому
должно пройти некоторое время,
пока он будет так же хорошо
протестирован, как и таблицы
других типов.
Полнотекстовый
поиск - Beta
Полнотекстовый поиск работает, но широко не используется. В версии MySQL 4.0 реализованы существенные улучшения данной возможности.
MyODBC 2.50
(использующий ODBC SDK 2.5) - Gamma
Чрезвычайно широко используется. Как оказалось, некоторые из возникших проблем являются зависящими от приложения, а не от ODBC-драйвера или сервера баз данных.
Aвтоматическое
восстановление
MyISAM-таблиц - Gamma
Статус Gamma относится только к новому коду в обработчике таблиц, который проверяет правильность закрытия таблицы после ее открытия и выполняет автоматическую проверку/восстановление незакрытой таблицы.
Вставка больших объемов данных - Alpha
Новая возможность в
MyISAM-таблицах в MySQL 4.0
для быстрой вставки большого
количества строк.
Блокировка - Gamma
В большой степени зависит от
системы. В некоторых системах
возникают большие проблемы с
использованием стандартной для
ОС блокировки (fcntl()). В
таких случаях следует запустить
демон mysqld с флагом
--skip-external-locking. Известно,
что проблемы имеют место в
некоторых системах Linux и в SunOS,
когда используются
NFS-монтированные файловые
системы.
Несмотря на то, что высококвалифицированную поддержку MySQL AB обеспечивает за плату, в списке рассылки MySQL обычно можно получить ответы на часто возникающие вопросы. Ошибки обычно ликвидируются сразу же при помощи патчей, а серьезные дефекты почти всегда устраняются в новом выпуске.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
