Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Почему MySQL?

 

Почему MySQL?

 

 

MySQL
При разработке сложных проектов неизбежно возникает необходимость использования базы данных, но на какой из существующих СУБД * остановить свой выбор? Выбор не так уж и мал: mSQL, PostgreSQL, Oracle, MS SQL и другие, но практически любой приемлемый хостинг, который предоставляет стандартные услуги, включает в них несколько баз данных MySQL. Основанием для этого служит ряд немаловажных причин, и одной из них является то, что MySQL является продуктом класса Open Source (открытые исходные тексты), который можно получить бесплатно (для платформы Windows есть некоторые оговорки). Как правило, сервер и клиент MySQL входят в любой дистрибутив операционных систем семейства BSD (FreeBSD, NetBSD, OpenBSD) и Linux, которые используются на большинстве веб-серверов, но, при необходимости, последнюю версию MySQL для всех поддерживаемых систем (в том числе и для Windows) также можно найти на сайте компании MySQL AB — разработчиков MySQL (www.mysql.com).

PHP + MySQL = скоростьДругая немаловажная причина популярности MySQL заключается в том, что ее создатели с самого начала разработки этой СУБД поставили во главу угла ее быстродействие, пожертвовав при этом некоторыми удобствами для разработчиков.

загрузка...

 

 

Связка PHP + MySQL или Perl + MySQL обеспечивают очень высокое быстродействие, которого очень трудно достичь другими средствами. Очень хорошая связь MySQL с PHP стала еще одной причиной популярности этой СУБД. Поддержка MySQL входит в стандартную сборку PHP, и можно быть уверенным, что проблем обращения к серверу MySQL из PHP-скриптов не будет. Для обеспечения взаимодействия PHP с другими СУБД (PostgreSQL, Oracle и так далее) приходится компилировать его самостоятельно из исходных кодов с дополнительными опциями. Таким образом, можно считать, что дешевизна, легкодоступность, производительность и тесная взаимосвязь с PHP и обеспечивают такую популярность MySQL.

MySQL 3.23 — самая распространенная версия Однако считать MySQL идеальной СУБД было бы большой ошибкой. Как известно, наши достоинства — продолжение наших же недостатков, и высокая скорость работы MySQL достигается за счет принесения в жертву удобства разработки, лишая разработчиков многих инструментов и команд, привычных в других СУБД. В MySQL мы не можем пользоваться вложенными подзапросами, процедурами, триггерами, видами и, с некоторыми оговорками, каскадными обновлениями. В версии 4.1 ожидается добавление вложенных подзапросов, а в версии 5 — и другие дополнительные средства, но сможем ли мы ими воспользоваться? На сайте компании MySQL AB доступна версия 4.0, а большинство провайдеров предоставляет нам возможность работы с версией 3.23, поэтому использование нововведений будет в ближайшее время под большим вопросом, если мы хотим, чтобы наши скрипты продолжали работать корректно при смене провайдера.

Помните об отличиях MySQL от других СУБД Тем не менее в руководстве MySQL, которое также можно найти на сайте компании MySQL AB, приведены рекомендации, использование которых поможет свести неудобства от недостатка инструментов к минимуму, а в некоторых случаях — даже извлечь из этого пользу. Например, там, где в других СУБД опираются на концепцию транзакций, которая обеспечивает целостность и согласованность таблиц, фиксируя только законченные изменения, легко откатывая базу данных к последнему согласованному состоянию в случае неудачи, в MySQL применяется концепция «запирания» таблицы перед проведением операций, потенциально опасных для целостности базы данных, не позволяя в этом момент другим соединениям изменять и читать данные с этой таблицы и ставя запросы в очередь. Вложенные подзапросы в большинстве случаев можно переписать в один более сложный запрос, получая еще большее быстродействие, или разбить их на несколько, а ведь в СУБД, где вложенные подзапросы разрешены, программисты иногда даже не задумываются о возможности оптимизации вложенных позапросов. Помимо этого, в MySQL есть и альтернативные способы хранения таблиц в базе данных (InnoDB), которые не используются по умолчанию, но тем не менее поддерживают концепцию транзакций, обеспечивая привычные механизмы отката неудачных операций и предоставляя дополнительные инструменты — например, каскадные удаления и так далее, — правда, в ущерб тому же быстродействию базы данных. В других случаях создатели MySQL прямо говорят, что в некоторых ситуациях лучше использовать другие СУБД, как, например, при необходимости хранения и обработки географической информации, где преимуществами будет обладать PostgeSQL, в которой есть специализированные поля для хранения подобной информации, и функции для их обработки. Поэтому, если ваша информация имеет очень специализированный уклон и не совсем хорошо описывается в терминах чисел, строк, дат, текста, требуя конструирования специфических структур, то, возможно, следует обратить внимание на возможности других СУБД. Но, в любом случае, для большинства веб-проектов возможностей MySQL более чем достаточно.

SQL — язык общения с базами данных Как и в большинстве современных СУБД, для создания запросов серверу MySQL применяется язык SQL * (Structured Query Language — язык структуированных запросов). Можно считать, что в настоящее время SQL является стандартом работы с базами данных. Но необходимо помнить, что несмотря на существующие стандарты SQL, в разных СУБД его реализации могут отличаться, то есть существуют так называемые «диалекты» SQL. Язык запросов в MySQL придерживается стандарта ANSI SQL92, но включает в себя специфические ключевые слова, которых нет в этом стандарте. Например, практически во всех таблицах будет присутствовать в столбцах, обеспечивающих уникальность записей, свойство «AUTO_INCREMENT», которое не поймут другие СУБД, если вы попытаетесь там выполнить команды SQL, созданные вами для MySQL. Если вы планируете в дальнейшем перенос ваших программ на другие СУБД, то следует уделить больше внимания этому вопросу совместимости диалектов, тем более что MySQL позволяет использовать многие дополнительные ключевые слова в командах SQL в целях совместимости, игнорируя их во время выполнения. Расширение в будущем возможностей MySQL также связано с переходом к другому диалекту SQL, соответсвующему стандарту ANSI SQL99, в котором реализовано больше возможностей для СУБД.

В опытных руках MySQL обеспечит хорошую безопасность данным СУБД MySQL использует традиционную архитектуру клиент-сервер, и поэтому, работая с MySQL, мы в действительности работаем с двумя программами. Программа сервера базы данных расположена на компьютере, где хранится база данных. Она ждет запросы клиентов, поступающие по сети, и обеспечивает доступ к содержимому базы данных для извлечения информации, запрашиваемой клиентами. Клиентская программа осуществляет подключение к серверу и передает запросы ему. В общем случае клиент и сервер MySQL находятся на разных компьютерах, позволяя подключаться к серверу MySQL с любого компьютера, находящегося в сети. Но это совсем не значит, что любой человек может подключиться к вашей базе данных. В СУБД MySQL есть собственная система защиты, которая позволяет настроить доступ к базе данных только тем, кто имеет на это право, а также разграничить права доступа, разрешая только те операции, которые необходимы данному пользователю. Кроме этого при разработке приложений веб-сервер, сервер MySQL, и ваши скрипты, выступающие в роли клиентов MySQL, находятся на одной машине, что позволяет ограничить возможные соединения с сервером MySQL локальной машиной и дать доступ к базе данных только одному пользователю, от имени которого ваши скрипты будут соединяться с сервером. Естественно, в этом случае вопросы безопасности должны учитываться уже в ваших скриптах.

Ссылки по теме




Статья получена: hostinfo.ru
загрузка...

 

 

Наверх


Постоянная ссылка на статью "Почему MySQL?":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

Где применяется MySQL?

В переговорах с разными людьми из мира ИТ-индустрии я неоднократно сталкивался с разными мнениями — от "все, что не является мощной коммерческой СУБД — это ничего не стоящее ПО, которое нельзя использовать для серьезной работы" и до почти наполеоновских планов "все на OpenSource!". Речь идет, конечно, о применении СУБД MySQL для создания коммерческих проектов — корпоративных порталов, серьезных веб-приложений, интранет-сайтов компаний и так далее. Одна из ...

» Интересное в сети - 4374 - читать


Импорт данных в&nb p;базы MySQL

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

» Интересное в сети - 3764 - читать


Искусство запроса SELECT в&nb p;MySQL

Проектирование, создание и наполнение базы данных — это подготовительные шаги для последующего извлечения информации из нее: выборки записей, предоставления их пользователю и последующей их обработки как средствами сервера баз данных, так и скриптовыми языками. Для выполнения этой задачи предназначен наиболее часто используемый и, вероятно, самый сложный оператор языка SQL — оператор SELECT. Используя его возможности, можно легко извлечь практически любую необхо ...

» Интересное в сети - 2484 - читать


Использование MySQL в&nb p;PHP сценариях

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

» Интересное в сети - 2061 - читать


Каталоги и&nb p;файлы сервера MySQL

Для создания динамических веб-сайтов разработчики часто создают свой собственный веб-сервер, устанавливая все необходимое программное обеспечение на рабочем компьютере. Кончено, иметь для сервера компьютер под управлением Linux — наилучшее решение, но в большинстве случаев приходится использовать Windows. Из всех необходимых для работы сайта приложений наиболее сложным и большим является сервер баз данных MySQL.

» Интересное в сети - 2080 - читать


«Классная» обертка для MySQL

Создание веб-сайтов, использующих базу данных, влечет за собой необходимость включения в ваш код вызовов запросов SQL, а затем и необходимость считывания данных. Все было бы хорошо, но в некоторых случаях использование конкретной базы данных влечет за собой возможные сложности в будущем. Например, при необходимости срочно перенести сайт с одного хостинга на другой может возникнуть масса проблем с взаимозаменяемостью различных СУБД хотя бы на уровне вызова конкретных функций ...

» Интересное в сети - 2053 - читать



Статья на тему Интернет » Интересное в сети » Почему MySQL?

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© Art.Thelib.Ru, 2006-2025, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия Art.Thelib.Ru