MySQL & mSQL



              

Чего недостает MySQL и mSQL


Слово «недостает» выбрано за неимением лучшего. Как уже отмечалось, MySQL и mSQL сознательно предпочли отказаться от возможностей, которые могли снизить их производительность. Иными словами, в MySQL и mSQL ставка сделана на производительность. Однако некоторые пользователи среднего класса готовы отчасти пожертвовать производительностью ради определенных функций. Для понимания того, что предлагают другие базы данных среднего масштаба, полезно выяснить, что же опущено в MySQL и mSQL.

Разработчики MySQL собираются все-таки включить в свой продукт некоторые из этих функций с возможностью по желанию их отключать. Сейчас, когда книга печатается, мы зна- . ем, что планируется реализовать механизм хранимых процедур и вложенных запросов, а возможно, и транзакций.

Транзакции

Транзакции позволяют сгруппировать вместе несколько команд SQL в качестве единицы работы. Группируя вместе команды, можно быть уверенным, что никто не столкнется с частично измененной базой данных. Кроме того, при невозможности выполнить одну из команд вся единица работы не будет выполнена. Транзакции можно зрительно представить себе как перекресток оживленных дорог. В однопоточной системе с очередью, такой как mSQL, это как остановка перед перекрестком со всех четырех сторон. Все машины проезжают в очередь по одной. Если проезжает колонна из двух машин, существует опасность, что она будет разорвана перед знаком остановки.

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

Транзакции напоминают перекресток со светофором. Подходящий транспорт останавливается перед красным сигналом на то время, пока весь транспорт, следующий в перпендикулярном направлении, не пересечет перекресток.




Содержание  Назад  Вперед