Spec-Zone .ru
спецификации, руководства, описания, API

21.9.6.9. История изменений

Copyright 1997-2012 PHP Documentation Group.

Эта история изменений является высокоуровневой сводкой выбранных изменений, которые могут воздействовать на приложения и/или повредить назад совместимость.

См. также CHANGES файл в исходном распределении для полного списка изменений.

21.9.6.9.1. PECL/mysqlnd_ms 1.6 ряда

Copyright 1997-2012 PHP Documentation Group.

С 1.6.0 альфами

  • Дата выпуска: TBD
  • Девиз/тема: Обслуживание
Отметить

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

Документация еще, возможно, не отражает все изменения.

Исправления ошибок

  • Никакие новые ошибки не сообщили

Изменения функции

  • Представленный автоматический цикл повторной попытки для случайных ошибок и соответствующей статистической величины, чтобы считать число неявных повторений. Некоторые кластеры распределенной базы данных используют случайные ошибки, чтобы подсказать клиент, чтобы повторить ее работу в немного. Чаще всего клиент, как тогда предполагается, останавливает выполнение (сон) в течение короткого момента прежде, чем повторить требуемую работу. Сразу сбой к другому узлу не необходим в ответ на ошибку. Вместо этого цикл повторной попытки может быть выполнен. Общая ситуация при использовании MySQL Cluster.

21.9.6.9.2. PECL/mysqlnd_ms 1.5 ряда

Copyright 1997-2012 PHP Documentation Group.

1.5.1-устойчивый

  • Дата выпуска: 06/2013
  • Девиз/тема: поддержка Sharding, улучшенная поддержка транзакции
Отметить

Это - текущий устойчивый ряд. Используйте эту версию в продуктивных средах.

Документация полна.

С 1.5.0 альфами

  • Дата выпуска: 03/2013
  • Девиз/тема: поддержка Sharding, улучшенная поддержка транзакции

Исправления ошибок

  • Фиксированный #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_begin, mysqli_commit и mysqli_rollback функции теперь будут monitered плагином, чтобы согласиться mysqli_autocommit функция, которая уже поддерживалась. Все функции SQL к контрольным сделкам также доступны через улучшенный mysqli управление транзакциями связанные функции. Это означает, что это не обязано выпускать SQL-операторы вместо того, чтобы использовать вызовы API. Приложения используя соответствующие вызовы API могут быть загрузкой, сбалансированной PECL/mysqlnd_ms абсолютно осведомленным о транзакции способом.

    Пожалуйста, отметьте, PDO_MySQL не был обновлен еще, чтобы использовать новые mysqlnd вызовы API. Таким образом, обнаружение границы транзакции с PDO_MySQL продолжает ограничиваться контролем, передавая в PDO::ATTR_AUTOCOMMIT к PDO::setAttribute.

  • Представленный trx_stickiness=on. Эта trx_stickiness опция отличается от trx_stickiness=master поскольку это пытается выполнить транзакцию только для чтения на ведомом устройстве, если качество службы (уровень непротиворечивости) позволяет использование ведомого устройства. Транзакции только для чтения были представлены в MySQL 5.6, и они предлагают увеличение производительности.

  • Поддержку кэша запроса считают бетой если использующийся с mysqli API. Это должно хорошо работать с основной копией базируемые кластеры. Для всех других API эта функция продолжает вызываться экспериментальная.

  • Примеры кода в mysqlnd_ms источнике были обновлены.

21.9.6.9.3. PECL/mysqlnd_ms 1.4 ряда

Copyright 1997-2012 PHP Documentation Group.

1.4.2-устойчивый

  • Дата выпуска: 08/2012
  • Девиз/тема: Тонкая настройка, основанная на пользовательской обратной связи

С 1.4.1 бетами

  • Дата выпуска: 08/2012
  • Девиз/тема: Тонкая настройка, основанная на пользовательской обратной связи

Исправления ошибок

  • Фиксированный создают с PHP 5.5

С 1.4.0 альфами

  • Дата выпуска: 07/2012
  • Девиз/тема: Тонкая настройка, основанная на пользовательской обратной связи

Изменения функции

  • Повреждение 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 считаются экспериментальными, хотя приличная устойчивость дается. Синтаксис и семантика могут измениться в будущем без предшествующего уведомления.

21.9.6.9.4. PECL/mysqlnd_ms 1.3 ряда

Copyright 1997-2012 PHP Documentation Group.

1.3.2-устойчивый

  • Дата выпуска: 04/2012
  • Девиз/тема: см. с 1.3.0 альфами

Исправления ошибок

  • Решенная проблема с мультиведущим устройством, где, хотя в транзакции запросы ведущему устройству не были липкими и были распространены на всем протяжении ведущих устройств (RR). Все еще липкий для Случайного. На Random_once не влияют.

С 1.3.1 бетами

  • Дата выпуска: 04/2012
  • Девиз/тема: см. с 1.3.0 альфами

Исправления ошибок

  • Решенная проблема с созданием вместе с QC.

С 1.3.0 альфами

  • Дата выпуска: 04/2012
  • Девиз/тема: Запрос, кэширующийся через понятие качества службы

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 или более нового.

21.9.6.9.5. PECL/mysqlnd_ms 1.2 ряда

Copyright 1997-2012 PHP Documentation Group.

С 1.2.1 бетами

  • Дата выпуска: 01/2012
  • Девиз/тема: см. с 1.2.0 альфами

Незначительные тестовые изменения.

С 1.2.0 альфами

  • Дата выпуска: 11/2011
  • Девиз/тема: Глобальная инжекция ID Транзакции и понятие качества службы

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

Дополнительно плагин может сделать клиентскую глобальную инжекцию идентификатора транзакции, чтобы сделать руководство основным failover легче.

Изменения функции

  • Представленное качество службы (QoS) фильтр. Уровни обслуживания обеспечили фильтром QoS:

    • возможная непротиворечивость, дополнительная ведомая задержка опции
    • непротиворечивость сеанса, дополнительная опция GTID
    • Непротиворечивость strong
  • Добавленный mysqlnd_ms_set_qos функционируйте, чтобы установить необходимое качество соединения во времени выполнения. Новые константы, связанные с mysqlnd_ms_set_qos :

    • MYSQLND_MS_QOS_CONSISTENCY_STRONG
    • MYSQLND_MS_QOS_CONSISTENCY_SESSION
    • MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL
    • MYSQLND_MS_QOS_OPTION_GTID
    • MYSQLND_MS_QOS_OPTION_AGE
  • Добавленная клиентская глобальная инжекция идентификатора транзакции (GTID).

  • Новая статистика, связанная с GTID:

    • gtid_autocommit_injections_success
    • gtid_autocommit_injections_failure
    • gtid_commit_injections_success
    • gtid_commit_injections_failure
    • gtid_implicit_commit_injections_success
    • gtid_implicit_commit_injections_failure
  • Добавленный mysqlnd_ms_get_last_gtid выбирать последний глобальный идентификатор транзакции.

  • Включенная поддержка много ведущего устройства без ведомых устройств.

21.9.6.9.6. PECL/mysqlnd_ms 1.1 ряда

Copyright 1997-2012 PHP Documentation Group.

1.1.0

  • Дата выпуска: 09/2011
  • Девиз/тема: основы репликации Покрытия с производственным качеством

1.1 и 1.0 ряда представляют подобный набор функций. Внутренне, 1.1 ряда был refactored, чтобы запланировать будущие дополнения функции. Новый формат конфигурационного файла был представлен, и ограничения были сняты. И качество кода и гарантия качества были улучшены.

Изменения функции

  • Добавленный (chainable) фильтруют понятие:

    • Повреждение BC: mysqlnd_ms_set_user_pick_server был удален. Thehttp://svn.php.net/viewvc/pecl/mysqlnd_ms/trunk/ user фильтр был представлен, чтобы заменить это. Фильтр предлагает подобную функциональность, но см. ниже для объяснения различий.
  • Новый мощный ДЖСОН базируемый синтаксис конфигурации.
  • Ленивые соединения улучшились: релевантная безопасность, и команды изменения состояния покрывается.
  • Поддержка (собственных) готовых операторов.
  • Новая статистика: use_master_guess, use_slave_guess.

    • Повреждение BC: Семантика статистики, измененной для use_slave, use_master. Будущие изменения вероятны. Пожалуйста, см., mysqlnd_ms_get_stats.
  • Список широковещательно переданных сообщений, расширенных ssl_set.
  • Библиотека вызывает теперь контролируемый, чтобы помнить настройки для ленивых соединений: change_user, select_db, set_charset, set_autocommit.
  • Представленный mysqlnd_ms.disable_rw_split. Параметр конфигурации позволяет использовать выравнивание нагрузки и ленивую функциональность соединения независимо от разделения записи чтения.

Исправления ошибок

  • Фиксированный PECL #22724 - переключение Сервера (mysqlnd_ms_query_is_select () чувствительный к регистру)
  • Фиксированный PECL #22784 - Используя mysql_connect и mysql_select_db не работал
  • Фиксированный PECL #59982 - Неприменимое расширение с - enable-mysqlnd-ms-table-filter. Использование опции НЕ поддерживается. Вы не должны, использовал это. Добавленное примечание к m4.
  • Исправленная Ошибка #60119 - размещает = "localhost" потерянный в mysqlnd_ms_get_last_used_connection ()

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." Отметьте: это может остановить Ваше приложение.

21.9.6.9.7. PECL/mysqlnd_ms 1.0 ряда

Copyright 1997-2012 PHP Documentation Group.

С 1.0.1 альфами

  • Дата выпуска: 04/2011
  • Девиз/тема: выпуск исправления ошибки

С 1.0.0 альфами

  • Дата выпуска: 04/2011
  • Девиз/тема: основы репликации Покрытия, чтобы протестировать пользовательскую обратную связь

Первый выпуск практического применения. Это обладает основным автоматическим разделением чтения-записи, SQL подсказывает, чтобы отвергнуть автоматическое перенаправление, выравнивание нагрузки ведомых запросов, ленивых соединений, и дополнительного, автоматического использования ведущего устройства после первой записи.

Общедоступный набор функций близко ко что этих 1.1 выпусков.

1.0.0 пред альфа

  • Дата выпуска: 09/2010
  • Девиз/тема: Подтверждение концепции

Начальная регистрация. По существу демонстрационный пример mysqlnd сменного API.