действительно ли эти "проблемы" с MySQL настолько плохи?
На самом деле, боль, которую MySQL причинит вам, может варьироваться от умеренной до безумной, и многое из этого зависит от MyISAM.
Я считаю, что хорошее эмпирическое правило таково:
вы создаете резервные копии таблиц MyISAM?
MyISAM отлично подходит для данных, которые на самом деле вас не интересуют, таких как журналы трафика и тому подобное, или для данных, которые вы можете легко восстановить в случае проблем, поскольку они доступны только для чтения и, следовательно, никогда не менялись с момента загрузки тот дамп 10Гб. В этих случаях компактный формат строк MyISAM обеспечивает значительную экономию места (однако по какой-то причине это не приводит к более высокой скорости сканирования).
Если данные, которые вы помещаете в таблицы MyISAM, заслуживают резервного копирования, вы попадете в мир боли, когда однажды поймете, что все это противоречиво из-за отсутствия проверок FK и проверок ограничений, и, между прочим, всех ваших резервные копии также будут содержать противоречивые данные.
Если вы сделаете много одновременных обновлений таблиц MyISAM, то вы пройдете через стадию мира вреда: когда нагрузка достигнет определенного порога, вы обречены. Конечно, считыватели блокируют средства записи, которые блокируют устройства чтения, которые блокируют средства записи в очереди и т. Д., Поэтому производительность плохая, загрузка avg достигает 200, а ваш ящик обнуляется, но я также мог последовательно разбивать таблицы MyISAM в тесте, который я написал 2 года назад просто ударяя их со слишком большой нагрузкой. Произошли случайные данные, иногда сбой mysql при выборе или извергая случайные ошибки.
Итак, если вы избегаете MyISAM, как чумы, проблемы с MySQL не так уж и плохи. InnoDB надежен. Тем не менее, как правило, я считаю, что он уступает Postgres, который работает быстрее и имеет намного меньше ошибок, а работа становится проще и быстрее.