Де застосовується MySQL, Hostinfo

У переговорах з різними людьми зі світу ІТ-індустрії я неодноразово стикався з різними думками - від "все, що не є потужною комерційною СУБД - це нічого не варте ПЗ, яке не можна використовувати для серйозної роботи" і до майже наполеонівських планів "все на OpenSource !". Йдеться, звичайно, про застосування СУБД MySQL для створення комерційних проектів - корпоративних порталів, серйозних веб-додатків, інтранет-сайтів компаній і таке інше. Одна з попередніх статей – «MySQL – чому і для чого» – описувала цю СУБД і порівнювала її з комерційними рішеннями. За функціональністю та надійністю MySQL вже давно на рівних змагається з іншими відомими продуктами. Правда, найчастіше вона застосовується при розробці веб-рішень, що пояснюється дуже тісною інтеграцією з популярними мовами (PHP, Perl), високими показниками швидкості, та й безкоштовність також відіграє важливу роль. Але, незважаючи на це, якщо на етапі вибору СУБД для серйозного проекту постає питання "добре, а чи застосовує ще хтось цю MySQL у серйозних рішеннях?", більшість розробників або менеджерів відразу не можуть на нього відповісти. Звичайна фраза "та всюди вона застосовується" в даному випадку не підходить. Спробуємо зробити невеликий огляд застосування СУБД MySQL в реальних проектах, в основному, звичайно, веб-орієнтованих.
На корпоративному сайті MySQL AB існує спеціальний розділ Software Partners, де можна виявити список з 350 продуктів різних компаній, які використовують MySQL. Окрім цього, пошук серед програмних продуктів на SourceForge.net показав, що ця СУБД має дуже велику популярність у open-source-розробників.
Такі програми можуть бути як веб-орієнтовані (а це відкриває дуже широкі можливості для ведення інтернету).бізнесу), і звичайними десктоп-программами.

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

Такі системи дуже корисні для різних громадських сервісів, що надають послуги, які вимагають зворотного зв'язку з користувачами. Наприклад поштові системи, електронні магазини, фінансові сайти, корпоративні портали. Звичайно, традиційні способи зв'язку за допомогою ICQ та пошти ніхто не скасовує, але Live-support не залежить від комп'ютера користувача - для спілкування потрібен лише браузер, що дозволяє комфортно працювати звідси (наприклад, з інтернет-кафе).
До СУБД у таких додатках ставляться такі вимоги: швидка робота з великими обсягами даних, масштабованість, оптимізація для паралельного виконання кількох запитів, надійність та стабільність роботи.

Хоча практично всі системи мають можливість вибору версії та типу СУБД, у більшості випадків вони використовують саме MySQL. З одного боку, це пов'язано з тим, що на більшості хостингів стоїть саме ця СУБД, з іншого — саме тому розробники CMS орієнтуються на MySQL. Виходить замкнене коло, але всім від цього лише користь.
До СУБД у таких додатках ставляться такі вимоги: висока швидкість читання, можливість зберігання даних різних типів, робота з великою кількістю таблиць в одній базі, ефективна робота із запитами, які одночасно використовують безліч таблиць для вибірки даних, масштабованість,надійність та стійкість до великих навантажень.
Groupware— системи групової роботи, планувальники та подібні системи. Частково вони можуть входити до складу CMS-систем, але вони є самостійними програмами. Найвідоміша система - Tiki CMS/Groupware (sourceforge.net/projects/tikiwiki), хоча конкуренція на цьому ринку також висока.
- продукт для побудови bugtruck-систем Mantis - sourceforge.net/projects/mantisbt
- Group-Office - sourceforge.net/projects/group-office
- eGroupWare - www.egroupware.org (обрана урядом Бразилії для державних установ)
- phpScheduleIt — sourceforge.net/projects/phpscheduleit
- WEBO - sourceforge.net/projects/weborganizer.

Для таких систем вимоги схожі на ті, що висуваються до попередніх. Додати можна можливість зберігання різнорідної інформації - наприклад, двійкової та текстової великого обсягу, файлів, розвинені операції з датою та часом, легкість створення резервних копій.
Форуми та чати ставлять до MySQL найвищі вимоги. Особливо це стосується швидкості читання та запису, роботи з великими таблицями, оптимізації запитів до кількох таблиць одночасно, зберігання та обробки великих текстових масивів, наявності ефективного пошуку та можливості попередньої індексації полів з великим текстом. І оскільки текст, що заноситься в базу, може бути різними мовами, то СУБД має вміти ефективно працювати з різними мовами та кодуваннями.