Чому СУБД MySQL стала головною у всесвітній павутині

351

Від автора: нещодавно в мій монітор прилетів «черговий» булижник. Один «розумник» все допытывал мене, чому я пишу про СУБД MySQL? Мовляв, є багато інших стоять систем управління базами, також побудовані на реляційній теорії, що мають архітектуру «клієнт-сервер»… Я йому відповів, що всі вони «стоять», а MySQL безкоштовна. Але потім стало прикро за державу»! Невже це єдине гідність улюбленої СУБД?

Трохи потрібної теорії

Перед тим, як почати доводити, що MySQL насправді заслуговує звання «всієї інтернетної» СУБД, давайте трохи покопаем за межами своєї пісочниці. Розглянемо, як система управління БД працює з іншими компонентами Мережі і ОС на клієнтській стороні. Це знання дасть нам більш чітке розуміння її особливостей під час порівняння MySQL з іншими СУБД.

Будь-яка сучасна реляційна система управління базами являє собою серверний додаток, яке працює в операційній системі. Це означає, що СУБД побудована на основі моделі «клієнт-сервер».

MySQL (або інша система управління) інстальована в ОС комп’ютера як додаток, але «спілкується» з усіма як сервер. В тому числі і з програмним забезпеченням, встановленим на цій же машині.

Для отримання даних сервер БД використовує TCP порт під номером 3306. Цей параметр потрібно вказувати при установці з’єднання і роботи з MySQL через різні програмні оболонки. Наприклад, MySQL Administrator.

Чому СУБД MySQL стала головною у всесвітній павутині

Через цей порт СУБД MySQL сервер веде діалог зі всіма клієнтськими додатками. Наприклад, з phpMyAdmin, створеній на PHP програмою та іншими. Тут варто трохи «пригальмувати» і пояснити, що таке TCP-порт. Трохи не в тему, але корисно для кращого сприйняття загальної картини.

Будь-який порт нумерується цілим числом (1 – 65535). Його номер вказується в заголовку кожного пакета, що пересилається через Мережу (в тому числі і локальну). Номер порту встановлюється клієнтської стороною, і в подальшому використовується для прийняття і відправлення всіх даних між клієнтом і сервером.

TCP є надбудовою над IP. Транспортний протокол TCP (transmission control protocol) працює на IP, та на відміну від нього забезпечує безперебійний обмін даних. У разі відсутності підтвердження від клієнта про успішне отримання інформації (на етапі з’єднання з СУБД MySQL) пересилає пакет ще раз. Простіше говорячи, TCP управляє розподілом отриманих даних між програмами (клієнт) і відповідає за доставку відправлених пакетів. Все це я розповідаю до того, щоб ви краще розуміли принципи роботи будь-якої із сучасних СУБД.

Як я вже зазначив, особливістю СУБД MySQL є те, що вона використовує порт 3306. Через нього екземпляр сервера отримує інформацію від додатків. При цьому спілкування відбувається на мові структурованих запитів (SQL). Після отримання запиту сервер БД обробляє (інтерпретує), та пересилає результати виконання клієнтського додатку.

Чому MySQL

Трохи теорії ми з вами отримали. Тепер доведемо обґрунтованість вибору СУБД MySQL як головної у всесвітній павутині. Тобто, які її особливості посприяли тому, що вона отримала глобальне поширення в інтернеті.

Безкоштовність – СУБД поширюється її власником (корпорацією Oracle) під «Універсальної суспільної ліцензії» або «General Public License» (GNU), якій «забезпечуються» все open-source.

Завдяки цьому вона дала початок багатьом іншим безкоштовним популярних продуктів. Виходить, що в можливості СУБД MySQL можна сміливо додати «сприяння» у розвитку інших інтернет-платформ.

Висока швидкість обробки даних – мало хто знає, але спочатку СУБД створювалася для обробки величезних масивів інформації в промислових масштабах. І лише потім з-за її доступності та швидкодії MySQL «окупувала» всесвітню павутину.

Зрозуміло, що існують інші системи управління БД, і теж безкоштовні. Взяти хоча б PostgreSql. Але на відміну від MySQL ця платформа не відрізняється високою швидкістю обробки даних. Саме ця характеристика дозволила «дельфіну» заполонити весь інтернет. І без зазначення цього факту СУБД MySQL опис було б неповним.

Підтримка SQL – є ще однією важливою «межею» системи. Це забезпечує високий рівень кроссплатформенности даних і коду, створених за допомогою MySQL. Завдяки чому ви можете спокійно перенести БД в будь-яку іншу сучасну СУБД, також підтримуючу мову структурованих запитів. А весь збережений код (збережені процедури, тригери та запити) можна застосовувати на будь-якій з цих платформ. Тепер можна сміливо сказати про СУБД MySQL, що це зручно.

Входить до складу іншого найчастіше «дельфін» застосовується не в якості самостійної платформи, а як складова інших програмних продуктів. Наприклад, такі CMS WordPress, Joomla та інші.

Використовується в зв’язці з PHP – разом з цим серверним мовою програмування СУБД стала головним будівельним матеріалом для всесвітньої павутини. Більша частина всіх ресурсів інтернету побудована на основі PHP і MySQL.

Система привілеїв – дозволяє наділяти кожну обліковий запис сервера правами на здійснення визначених дій з даними. Причому не тільки на рівні сервера БД, але і на рівні окремих таблиць.

Хешування паролів – забезпечує високий рівень «протизламності». Саме тому в MySQL відновити пароль root дуже складно. Так що краще не забувати його.

Я навмисно не став сильно залазити в «нетрі» технічних описів MySQL. Для цього нам знадобилося б ще десять таких статей Чому СУБД MySQL стала головною у всесвітній павутині . Сподіваюся, я переконав вас, що дана СУБД є поки що найбільш оптимальним варіантом. Головним доказом цього є факт використання СУБД MySQL в якості головного будматеріалу Мережі. І з цим не посперечаєшся!