MySQL

СУБД MySQL

MySQL (Май-эс-кью-эл) – система управления базами данных. Обычно, конечный пользователь даже и не задумывается, где хранятся данные интернет-магазинов, как производятся статистические срезы, а также кто осуществляет поиск по товарам в магазине. Все эти действия возложены на базы данных (БД), позволяющим эффективно хранить и обрабатывать большие массивы информации, а также производить операции по изменению их содержимого.

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

Аналоги

Существуют другие известные и даже более именитые СУБД: Oracle, PostgreSQL, MS SQL, но в 90% случаев для веб-приложений возможностей MySQL будет более чем достаточно, а стоимость использования решения будет ощутимо ниже. В связи с широким распространением, практически любой хостинг предоставляет тарифы с поддержкой MySQL, а также большинство практикующих программистов знакомы с этой СУБД.

А можно попроще?

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

Что такое SQL?

Небольшое отступление, что же такое этот самый «эс-кью-эл». SQL – аббревиатура от Structured Query Language — язык структурированных запросов. Идея такова, что данные из базы данных выбираются запросами, очень напоминающими английский язык. Так, к примеру, запрос на получение 5 записей из таблицы пользователей с ненулевым балансом выглядит как:

SELECT `name`, `surname`, `birth_date` FROM `users` WHERE `balance` IS NOT NULL LIMIT 5

Не правда ли, очень похоже на обычное предложение? Увы, для простых запросов это так, но сложные, с разветвленными условиями и связями из нескольких таблиц, запросы теряют всякое подобие человеческого вида. Таким образом, хоть SQL и задумывался как средство работы конечного пользователя, в конце концов он стал довольно сложным и стал инструментом разработчика.

еще