Почему Oracle по-прежнему остается платным приложением, хотя MySQL может с ним конкурировать?
Почему? Потому что:
- MySQL не конкурент Oracle!
- MySQL не конкурент Informix!
- MySQL не конкурент DB2!
- MySQL не конкурент MS SQL Server!
Как я могу говорить эти ужасные вещи, нелояльные по отношению к движению открытого исходного кода? Хм, потому что они правдивы. Извините, что говорю это, но все четыре из этих основных коммерческих платных систем РСУБД предлагают вещи, с которыми MySQL не может конкурировать. Некоторые из этих вещей верны для всех четырех. Среди них:
- Производительность
- Масштабируемость
- Уровень и качество поддержки
- Надежность
- Согласованность функций, производительности и т. д.
Некоторые причины специфичны для того или иного продукта. Например, поскольку я знаю Informix лучше, вот неполный список того, что он предлагает, чего MySQL не может:
- Время работы без останова. Известно, что некоторые экземпляры Informix остаются в сети без незапланированных простоев на протяжении десяти лет! Последние два основных выпуска даже способны обновлять версию на месте практически с нулевым временем простоя (приложениям, подключенным к обновляемому одноранговому серверу, требуется период простоя в несколько секунд, чтобы отключиться и повторно подключиться к другому одноранговому узлу), поэтому даже запланированное время простоя сокращается.
- Гарантированное завершение транзакции. Клиенты, обрабатывающие транзакции при подключении к вторичному серверу Informix с возможностью записи, завершат свои транзакции полностью, если первичный сервер отключится, то после паузы в несколько секунд один из вторичных серверов станет основным.
- Informix предлагает четыре варианта обеспечения непрерывности услуг высокой доступности и репликации данных:
- Сервер репликации данных высокой доступности (HDR) — полностью синхронный или почти синхронный, полностью реплицированный вторичный сервер, который может мгновенно стать основным в случае сбоя основного сервера.
- Удаленный вторичный сервер (RSS) — один или несколько асинхронных полностью реплицированных вторичных серверов, любой из которых может быть повышен для замены вторичного HDR-сервера, когда он становится основным.
- Вторичный сервер общего диска (SDS) — дополнительные вторичные серверы, которые могут работать вместе с основным сервером, совместно использующим хранилище, чтобы предоставлять дополнительные ресурсы ЦП и памяти (горизонтальное масштабирование) и при необходимости заменять основной сервер даже быстрее, чем это может сделать вторичный HDR. Сервер SDS можно развернуть для обработки необычных пиковых нагрузок за считанные секунды и отключить, когда он больше не нужен.
- Репликация предприятия (ER) — полностью настраиваемая и независимая репликация на уровне строки, таблицы, базы данных или всего сервера. ER можно использовать для репликации данных, сбора данных с локальных серверов на центральный сервер консолидации, распределения данных с центрального сервера на частично реплицированные региональные серверы.
- Обработка данных таймсерий, которая использует на 70% меньше памяти, чем структура реляционной таблицы, обеспечивая при этом производительность, сравнимую с выделенной системой базы данных таймсерий, и обеспечивая виртуальное сопоставление данных таймсерий с реляционным изображением, которое может использоваться аналитическими инструментами, которые не понимают таймсерии.
- Интеграция данных JSON/BSON настолько хороша, что вы можете указать приложению, разработанному для MongoDB, на движке Informix, и оно будет работать без изменений, но при этом настолько хорошо интегрировано в реляционный движок, что вы можете индексировать поля в документе BSON и даже элементы внутри массива. в документе BSON! Поля BSON можно использовать даже для ограничений целостности.
- Прямая и обратная совместимость. Приложения Informix, написанные и скомпилированные для Informix v7.31 (около 1998 г.), по-прежнему будут выполняться сегодня на движке v14.10. Приложения Informix, написанные и скомпилированные сегодня с использованием новейшего пакета разработки клиентского программного обеспечения, будут подключаться к движку Informix v9.40 или более поздней версии (около 2003 г.) и выполняться на нем, если он не ссылается на типы данных, которые тогда не поддерживались. У меня есть утилита, которую я написал для версии 5.01, которая использовала недокументированную внутреннюю функцию для получения информации о сервере. Он по-прежнему компилируется под последней версией CSDK и будет корректно работать с движком Informix v14.10.FC3 (последняя версия). Ни одна база данных с открытым исходным кодом не демонстрирует такой непрерывности кода!
Это очень неполный список всего, что предлагает Informix и чего не может MySQL. Подобные списки могли бы представить специалисты по Oracle, DB2 и MS SQL Server. Не говоря уже о том, что в дополнение к отличной поддержке сообщества (есть форумы Informix Slack, форумы сообщества IBM, группы WhatsApp и другие площадки) существует техническая поддержка Informix, которая уже более 30 лет завоевывает отраслевые награды!