|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Copyright 1997-2012 PHP Documentation Group.
Эта история изменений является высокоуровневой сводкой выбранных изменений, которые могут воздействовать на приложения и/или повредить назад совместимость.
См. также CHANGES файл в исходном распределении для полного списка изменений.
Copyright 1997-2012 PHP Documentation Group.
С 1.6.0 альфами
Это - текущий ряд разработки. Все функции на ранней стадии. Изменения могут произойти в любое время без предшествующего уведомления. Пожалуйста, не используйте эту версию в продуктивных средах.
Документация еще, возможно, не отражает все изменения.
Исправления ошибок
Никакие новые ошибки не сообщили
Изменения функции
Представленный автоматический цикл повторной попытки для случайных ошибок и соответствующей статистической величины, чтобы считать число неявных повторений. Некоторые кластеры распределенной базы данных используют случайные ошибки, чтобы подсказать клиент, чтобы повторить ее работу в немного. Чаще всего клиент, как тогда предполагается, останавливает выполнение (сон) в течение короткого момента прежде, чем повторить требуемую работу. Сразу сбой к другому узлу не необходим в ответ на ошибку. Вместо этого цикл повторной попытки может быть выполнен. Общая ситуация при использовании MySQL Cluster.
Copyright 1997-2012 PHP Documentation Group.
1.5.1-устойчивый
Это - текущий устойчивый ряд. Используйте эту версию в продуктивных средах.
Документация полна.
С 1.5.0 альфами
Исправления ошибок
Фиксированный #60605 отказ сегментации PHP, когда mysqlnd_ms включается.
Установка неподвижности транзакции отключает все выравнивание нагрузки, включая автоматический failover, для продолжительности транзакции. До сих пор переключатели соединения, возможно, произошли в середине транзакции в мультиосновных конфигурациях и во время автоматического failover, хотя транзакция, контролирующая, обнаружила границы транзакции должным образом.
Повреждение BC и исправление ошибки. Подсказки SQL, осуществляющие
использование определенного вида сервера ( MYSQLND_MS_MASTER_SWITCH ,
MYSQLND_MS_SLAVE_SWITCH , MYSQLND_MS_LAST_USED_SWITCH
) игнорируются для продолжительности транзакции неподвижности транзакции, включается, и границы
транзакции были обнаружены должным образом.
Это - изменение в поведении. Однако, это - также исправление ошибки и шаг, чтобы выровнять поведение. Если бы, в предыдущих версиях, неподвижности транзакции, одной из вышеупомянутых перечисленных подсказок SQL и качестве фильтрации службы был объединен, то это могло, произошел, что подсказки SQL были проигнорированы. В немного случаются, подсказки SQL действительно работали в других случаях, которые они не сделали. Новое поведение является более непротиворечивым. Подсказки SQL всегда будут, игнорируют для продолжительности транзакции, если неподвижность транзакции включается.
Пожалуйста, отметьте, обнаружение границы транзакции продолжает быть основанным на контроле вызова API. Команды SQL, управляющие транзакциями, не контролируются.
Повреждение BC и исправление ошибки. Звонки mysqlnd_ms_set_qos перестанет работать когда сделано в середине
транзакции, если неподвижность
транзакции будет включена. Переключатели соединения не позволяются для продолжительности
транзакции. Изменение качества службы, вероятно, заканчивается на различном наборе серверов, имеющих
право на выполнение запроса, возможно заставляя переключать соединения. Таким образом вызову не
позволяют войти во время активной транзакции. Качество сервера может, однако, быть изменено
промежуточный транзакции.
Изменения функции
Представленный node_group фильтр. Фильтр позволяет
Вам организовывать серверы (ведущее устройство и ведомые устройства) в группы. Запросы могут быть
направлены к определенной группе серверов, снабжая префиксом оператор запроса с
подсказкой/комментарием SQL, которая содержит группы сконфигурированное имя. Группировка может
использоваться для разделения и sharding, и также оптимизировать для локального кэширования. В
случае sharding название группы может думаться как ключ черепка. Все запросы для данного ключа
черепка будут выполняться на сконфигурированном черепке. Отметьте: оба клиент и сервер должны
поддерживать sharding для sharding, чтобы функционировать с mysqlnd_ms.
Расширенная проверка допустимости конфигурационного файла во время запуска PHP
(RINIT). E_WARNING ошибка уровня будет брошена, если конфигурационный
файл не может быть считан (полномочия), пусто, или файл (ДЖСОН) не мог быть проанализирован.
Предупреждения могут появиться в файлах журнала, который в зависимости от того, как PHP
конфигурируется.
Дистрибутивы, которые стремятся обеспечивать предварительно сконфигурированную установку,
включая тупик конфигурационного файла, просят поместить {} в
конфигурационный файл, чтобы предотвратить это предупреждение о недопустимом конфигурационном
файле.
Дальнейшая проверка допустимости конфигурационного файла делается, анализируя разделы по открытию соединения. Пожалуйста, отметьте, что могут все еще быть ситуации, когда недопустимый сменный конфигурационный файл не приводит к надлежащим сообщениям об ошибках, но отказу соединиться.
С PHP 5.5.0, улучшенная поддержка обнаружения границ транзакции была добавлена
для mysqli. mysqli расширение было
изменено, чтобы использовать новые вызовы API C mysqlnd библиотека,
чтобы начать, фиксируйте, и откатывайте транзакцию или точку сохранения. Если trx_stickiness
используется, чтобы включить транзакции осведомленное выравнивание нагрузки, , mysqli_commit и mysqli_rollback функции теперь будут monitered плагином, чтобы
согласиться mysqli_autocommit
функция, которая уже поддерживалась. Все функции SQL к контрольным сделкам также доступны через
улучшенный mysqli управление транзакциями связанные функции. Это
означает, что это не обязано выпускать SQL-операторы вместо того, чтобы использовать вызовы API.
Приложения используя соответствующие вызовы API могут быть загрузкой, сбалансированной
PECL/mysqlnd_ms абсолютно осведомленным о транзакции способом.
Пожалуйста, отметьте, PDO_MySQL не был обновлен еще, чтобы
использовать новые mysqlnd вызовы API. Таким образом, обнаружение границы транзакции с PDO_MySQL продолжает ограничиваться контролем, передавая в PDO::ATTR_AUTOCOMMIT к .
Представленный trx_stickiness=on. Эта trx_stickiness
опция отличается от trx_stickiness=master поскольку это пытается
выполнить транзакцию только для чтения на ведомом устройстве, если качество службы (уровень
непротиворечивости) позволяет использование ведомого устройства. Транзакции только для чтения были
представлены в MySQL 5.6, и они предлагают увеличение производительности.
Поддержку кэша запроса считают бетой если использующийся с mysqli API. Это должно хорошо работать с основной копией базируемые
кластеры. Для всех других API эта функция продолжает вызываться экспериментальная.
Примеры кода в mysqlnd_ms источнике были обновлены.
Copyright 1997-2012 PHP Documentation Group.
1.4.2-устойчивый
С 1.4.1 бетами
Исправления ошибок
Фиксированный создают с PHP 5.5
С 1.4.0 альфами
Изменения функции
Повреждение BC: Переименованный сменный параметр конфигурации ini_file к config_file. В ранних версиях
сменный конфигурационный файл используемый стиль ini. Тогда параметр конфигурации назвали
соответственно. Это было теперь переименовано, чтобы отразить более новый формат файла и отличить
это от собственного ini файла PHP (файл конфигурационных директив).
Представленная новая установка набора символов значения по умолчанию server_charset чтобы позволить надлежащий выход перед, соединение
открывается. Это является самым полезным при использовании ленивых соединений, которые являются
значением по умолчанию.
Представленный wait_for_gtid_timeout установка,
чтобы отрегулировать ведомые чтения та непротиворечивость сеанса потребности. Если глобальный
идентификатор транзакции используется, и уровень обслуживания устанавливается в непротиворечивость
сеанса, плагин пытается найти актуальные ведомые устройства. Ведомая проверка состояния делается
SQL-оператором. Если ничто иное не устанавливается, ведомое состояние проверяется, только один может
поиск большего количества актуальных ведомых устройств продолжаться сразу после того. Установка
wait_for_gtid_timeout дает плагину команду опрашивать ведомое состояние
относительно wait_for_gtid_timeout секунды, если первое выполнение
SQL-оператора показало, что ведомое устройство еще не актуально. Опрос будет сделан однажды в
секунду. Таким образом, плагин будет ожидать ведомых устройств, чтобы нагнать и отрегулировать
клиент.
Новая failover стратегия loop_before_master. По
умолчанию плагин не делает никакого failover. Возможно включить автоматическому failover, если
попытка подключения перестала работать. Версия 1.3 Upto только master
стратегия существовала к failover ведущему устройству, если ведомая связь прерывается. loop_before_master подобно, но пробует все другие ведомые устройства
прежде, чем попытаться соединиться с ведущим устройством, если ведомая связь прерывается.
Число попыток может быть ограничено, используя max_retries опция.
Отказавшие узлы можно помнить и пропущены в выравнивании нагрузки для остальной части
веб-запроса. max_retries и remember_failed считаются экспериментальными, хотя приличная
устойчивость дается. Синтаксис и семантика могут измениться в будущем без предшествующего
уведомления.
Copyright 1997-2012 PHP Documentation Group.
1.3.2-устойчивый
Исправления ошибок
Решенная проблема с мультиведущим устройством, где, хотя в транзакции запросы ведущему устройству не были липкими и были распространены на всем протяжении ведущих устройств (RR). Все еще липкий для Случайного. На Random_once не влияют.
С 1.3.1 бетами
Исправления ошибок
Решенная проблема с созданием вместе с QC.
С 1.3.0 альфами
1.3 ряда стремятся улучшать производительность приложений и полную загрузку асинхронного кластера MySQL, например, кластер MySQL, используя MySQL Replication. Это делается, прозрачно заменяя ведомый доступ с локальным доступом кэша, если приложение позволяет это, устанавливая соответствующее качество флага службы. При использовании репликации MySQL ведомое устройство может служить устаревшим данным. Репликация MySQL использования приложения должна продолжать работать правильно с устаревшими данными., Учитывая, что приложение, знают, чтобы работать правильно с устаревшими данными, ведомый доступ может прозрачно быть заменой локальным доступом кэша.
PECL/mysqlnd_qc служит бэкэндом кэша.
PECL/mysqlnd_qc поддерживает использование различных мест хранения среди оперативной памяти других, APC и MEMCACHE.
Изменения функции
Добавленная опция кэша к качеству службы (QoS) фильтр.
enable-mysqlnd-ms-cache-support
MYSQLND_MS_HAVE_CACHE_SUPPORT.
MYSQLND_MS_QOS_OPTION_CACHE использоваться с mysqlnd_ms_set_qos.
Поддержка встроенной глобальной функции идентификатора транзакции MySQL, 5.6.5-m8 или более нового.
Copyright 1997-2012 PHP Documentation Group.
С 1.2.1 бетами
Незначительные тестовые изменения.
С 1.2.0 альфами
В версии 1.2 фокус продолжает быть на поддержке кластеров базы данных MySQL с асинхронной репликацией. Плагин пытается сделать использование кластера, представляющего фильтр качества службы, который приложения могут использовать, чтобы определить, в каком качестве обслуживания они нуждаются от кластера. Обеспеченные уровни обслуживания являются возможной непротиворечивостью с дополнительным максимальным шлаком возраста/ведомого устройства, непротиворечивостью сеанса и непротиворечивостью strong.
Дополнительно плагин может сделать клиентскую глобальную инжекцию идентификатора транзакции, чтобы сделать руководство основным failover легче.
Изменения функции
Представленное качество службы (QoS) фильтр. Уровни обслуживания обеспечили фильтром QoS:
Добавленный mysqlnd_ms_set_qos
функционируйте, чтобы установить необходимое качество соединения во времени выполнения. Новые
константы, связанные с mysqlnd_ms_set_qos
:
MYSQLND_MS_QOS_CONSISTENCY_STRONGMYSQLND_MS_QOS_CONSISTENCY_SESSIONMYSQLND_MS_QOS_CONSISTENCY_EVENTUALMYSQLND_MS_QOS_OPTION_GTIDMYSQLND_MS_QOS_OPTION_AGEДобавленная клиентская глобальная инжекция идентификатора транзакции (GTID).
Новая статистика, связанная с GTID:
gtid_autocommit_injections_successgtid_autocommit_injections_failuregtid_commit_injections_successgtid_commit_injections_failuregtid_implicit_commit_injections_success
gtid_implicit_commit_injections_failure
Добавленный mysqlnd_ms_get_last_gtid выбирать последний глобальный идентификатор
транзакции.
Включенная поддержка много ведущего устройства без ведомых устройств.
Copyright 1997-2012 PHP Documentation Group.
1.1.0
1.1 и 1.0 ряда представляют подобный набор функций. Внутренне, 1.1 ряда был refactored, чтобы запланировать будущие дополнения функции. Новый формат конфигурационного файла был представлен, и ограничения были сняты. И качество кода и гарантия качества были улучшены.
Изменения функции
Добавленный (chainable) фильтруют понятие:
mysqlnd_ms_set_user_pick_server был удален.
Thehttp://svn.php.net/viewvc/pecl/mysqlnd_ms/trunk/ user фильтр был представлен, чтобы заменить это.
Фильтр предлагает подобную функциональность, но см. ниже для объяснения различий.
Новая статистика: use_master_guess, use_slave_guess.
use_slave, use_master. Будущие
изменения вероятны. Пожалуйста, см., mysqlnd_ms_get_stats.
ssl_set.
change_user, select_db, set_charset, set_autocommit.
mysqlnd_ms.disable_rw_split. Параметр конфигурации позволяет
использовать выравнивание нагрузки и ленивую функциональность соединения независимо от разделения
записи чтения.
Исправления ошибок
mysqlnd_ms_set_user_pick_server функция была удалена, и заменена в пользу
нового user фильтр. Больше невозможно установить использование функции
обратного вызова mysqlnd_ms_set_user_pick_server
во времени выполнения, но вместо этого должны сконфигурировать это в конфигурационном файле плагинов. user фильтр передаст те же самые параметры обратному вызову как прежде.
Поэтому, можно продолжать использовать ту же самую процедурную функцию в качестве callback.callback, больше
не возможно использовать статические методы class, или методы class объектного экземпляра, как обратный
вызов. Выполнение так заставит функцию, выполняющую оператор, обработанный плагином испускать E_RECOVERABLE_ERROR ошибка уровня, которая могла бы быть похожей:"(mysqlnd_ms) Specified callback (picker) is not a valid callback."
Отметьте: это может остановить Ваше приложение.
Copyright 1997-2012 PHP Documentation Group.
С 1.0.1 альфами
С 1.0.0 альфами
Первый выпуск практического применения. Это обладает основным автоматическим разделением чтения-записи, SQL подсказывает, чтобы отвергнуть автоматическое перенаправление, выравнивание нагрузки ведомых запросов, ленивых соединений, и дополнительного, автоматического использования ведущего устройства после первой записи.
Общедоступный набор функций близко ко что этих 1.1 выпусков.
1.0.0 пред альфа
Начальная регистрация. По существу демонстрационный пример mysqlnd сменного API.