Еще относительно недавно (каких‑то лет 10–15 назад) выбор СУБД для приложения в среднестатистической корпоративной среде ограничивался всего тремя вариантами: Microsoft SQL, Oracle и MySQL. При этом каждое решение имело свою нишу. Нужно что‑то серьезное под большую нагрузку — вот вам Oracle, что‑то попроще — MS SQL, а если какое‑то веб‑приложение — то MySQL.
Но все чаще в корпоративной инфраструктуре появляются задачи, требующие нового подхода к выбору СУБД. Речь про потребности, которые смогут закрыть СУБД на основе искусственного интеллекта, или такие решения, как Big Data и NoSQL. При подборе новых решений традиционный способ выбора только ограничивает поиск и не дает нужной производительности и гибкости. При этом часто выбор СУБД сводится к «поставим PostgreSQL, на нем точно заработает». Да, в большинстве случаев заработает, так как сама по себе PostgreSQL модульная и из нее, как из конструктора, можно много чего сделать, но какими усилиями и ресурсами? Быть может, уже на этапе выбора платформы стоит задуматься о том, что подойдет лучше?
В этой статье я расскажу, какие сейчас бывают СУБД и как их можно систематизировать под конкретную задачу. Сразу оговорюсь: я не претендую на истину в последней инстанции, и вполне возможно, что кто‑то смотрит на структурирование СУБД по‑своему.