В переговорах с разными людьми из мира ИТ-индустрии я неоднократно сталкивался с разными мнениями — от "все, что не является мощной коммерческой СУБД — это ничего не стоящее ПО, которое нельзя использовать для серьезной работы" и до почти наполеоновских планов "все на OpenSource!". Речь идет, конечно, о применении СУБД MySQL для создания коммерческих проектов — корпоративных порталов, серьезных веб-приложений, интранет-сайтов компаний и так далее. Одна из предыдущих статей — «MySQL — почему и для чего» — описывала эту СУБД и сравнивала ее с коммерческими решениями. По функциональности и надежности MySQL уже давно на равных соперничает с другими известными продуктами. Правда, чаще всего она применяется при разработке веб-решений, что объясняется очень тесной интеграцией с популярными языками (PHP, Perl), высокими показателями скорости, да и бесплатность тоже играет существенную роль.
Но, несмотря на это, если на этапе выбора СУБД для серьезного проекта встает вопрос "хорошо, а применяет ли еще кто-то эту MySQL в серьезных решениях?", то большинство разработчиков или менеджеров сходу не могут на него ответить. Обычная фраза «да всюду она применяется» в данном случае не подходит. Давайте попробуем сделать небольшой обзор применения СУБД MySQL в реальных проектах, в основном, конечно, веб-ориентированных.
На корпоративном сайте MySQL AB существует специальный раздел, Software partners, где можно обнаружить список из 350 продуктов разных компаний, которые используют MySQL. Кроме этого, поиск среди программных продуктов на SourceForge.net показал, что эта СУБД пользуется очень большой популярностью у open-source-разработчиков.
MySQL успешно применяется в CRM и ERP-системахКорпоративные системы, ERP/CRM-приложения. Этот рынок довольно узкий, и многие даже не слышали о таких системах. Конечно, основную их долю составляют мощные решения от ведущих игроков — SAP, Microsoft, Oracle, PeopleSoft. Но цена таких систем исчисляется сотнями тысяч и миллионами долларов, поэтому затраты на СУБД «скрываются» в таких масштабах. Но для малых и средних компаний — как офлайновых, так и чистых игроков интернет-бизнеса — часто также необходимо подобное ПО. И как раз в нише начальных и средних систем корпоративного класса выигрывают либо полностью open-source-решения, либо недорогие коммерческие. Уже в своей нынешней стандартной модификации MySQL покрывает все потребности разработчиков и пользователей такого рода систем. К примеру, версии 4.1.х имеют развитые графические средства настройки и управления, очень надежны и масштабируемы.
Такие приложения могут быть как веб-ориентованные (а это открывает очень широкие возможности для ведения интернет-бизнеса), так и обычными десктоп-программами.
Среди разработок стоит отметить:
- SugarCRM — www.sugarcrm.com
- Compiere ERP + CRM Business Solution — www.compiere.org
- TechExcel CRM — www.techexcel.com
- absoluteBUSY — www.absolutebusy.com
- komplusCRM — www.komplus.pl
- Empatix — www.ekdahl.no
К СУБД в таких приложениях ставятся следующие требования: надежность, стабильность работы, масштабируемость, высокая скорость работы с большими объемами данных (гигабайты и более), поддержка транзакций, техническая поддержка, возможность гибкого разграничения прав пользователей, широкая программная поддержка, удобство интерфейса и администрирования.
Live-support — важная часть коммерческого сайтаLive-support systems — системы технической поддержки в реальном времени. Сюда относятся разные системы, призванные обеспечить взаимодействие в реальном времени с посетителями сайта или пользователями веб-приложений. Большинство из упомянутых в предыдущем пункте CRM-систем включают в себя подобные функции, но, кроме интегрированных, есть еще множество самостоятельных решений, поставляемых отдельно и встраиваемых в любое окружение.
Например:
- Live Help Messenger — livehelp.stardevelop.com
- phpOnline — phponline.dayanahost.com
- PHP Live Helper — www.turnkeywebtools.com
- Motion Livechat Support Software — www.livesupport.motion-bg.com
- Hostik Live Chat Service — livechat.hostik.com
- ASP Live Support — www.asplivesupport.com
- Crafty Syntax Live Help (CSLH) — sourceforge.net/projects/cslive
- Help Center Live
— sourceforge.net/projects/helpcenterlive.
Такие системы очень полезны для различных публичных сервисов, предоставляющих услуги, которые требуют обратной связи с пользователями. Например, почтовые системы, электронные магазины, финансовые сайты, корпоративные порталы. Конечно, традиционные способы связи при помощи ICQ и почты никто не отменяет, но Live-support не зависит от компьютера пользователя — для общения нужен лишь браузер, что позволяет комфортно работать откуда угодно (например, из интернет-кафе).
К СУБД в таких приложениях ставятся следующие требования: быстрая работа с большими объемами данных, масштабируемость, оптимизация для параллельного исполнения нескольких запросов, надежность и стабильность работы.
Для построения сайтов MySQL подходит идеально...CMS — системы управления контентом. Именно в таких приложениях MySQL (в связке с PHP/Apache) обгоняет всех своих конкурентов. Существуют сотни систем для быстрой разработки и управления сайтами — от небольших домашних страничек до огромных корпоративных порталов и систем электронной коммерции. Хотя такие системы обычно абстрагируются от применяемой СУБД, но чаще всего их используют именно в связке с MySQL.
Например:
- система "Битрикс: Управление сайтом" («Битрикс»)
- XOOPS Dynamic Web CMS — www.xoops.org
- TYPO3 Content Management Framework — sourceforge.net/projects/typo3/
- CARE2X php
Integ Hospital Info System sourceforge.net/projects/care2002/- Lodel —
sourceforge.net/projects/lodel- Jetbox CMS
— sourceforge.net/projects/jetboxone- phPay —
sourceforge.net/projects/phpay- CMS Made
Simple — sourceforge.net/projects/cmsmadesimple- PHPNuke и
многие другие.
Хотя практически все системы имеют возможность выбора версии и типа СУБД, в большинстве случаев они используют именно 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 очень и очень сильны. Можно с уверенностью сказать, что почти все форумы работают на MySQL (если они написаны не на ASP). Самые популярные форумы — phpBB, yaBB, Invision Power Board, punbb, UPB, vbb и другие.
Форумы и чаты ставят к MySQL самые высокие требования. Особенно это касается скорости чтения и записи, работы с большими таблицами, оптимизации запросов к нескольким таблицам одновременно, хранения и обработки больших текстовых массивов, наличия эффективного поиска и возможности предварительной индексации полей с большим текстом. И поскольку текст, заносимый в базу, может быть на разных языках, то СУБД должна уметь эффективно работать с различными языками и кодировками.
На MySQL обращают внимание крупные компанииМожно, конечно, еще долго перечислять классы программ и конкретные разработки, но общая картина уже видна — если дело касается веб-разработок (не только сайтов, но вообще разных веб-ориентированных информационных систем), то MySQL практически всегда будет лучшим вариантом. К примеру, Novell недавно лицензировала для NetWare эту СУБД, а это значит, что появится множество систем (и уже появились), направленных на решение корпоративных задач (еще одна заметка — в числе стратегических партнеров MySQL AB замечены известные игроки корпоративного рынка — SAP, EBM Software, Application Security, JBoss). Честно говоря, я не слышал только о применении MySQL для построения систем онлайн-банкинга, но это, скорее всего, закрытая информация.
Итог этого мини-обзора простой — «думайте сами, решайте сами». Но если вы выберете MySQL (именно осознанно выберете, с учетом потребностей, специфики приложения и экономической целесообразности), то ваш выбор будет правильным!
Ссылки по теме
Статья получена: hostinfo.ru