Какую БД использовать, MongoDB или MySQL?
Новый проект требовал гибкость настроек с кучей нюансов, и для этого просто не подошла база данных MySQL. C ее помощью возможно было реализовать задуманное, но опять же вышло бы не совсем красиво. Пришлось бы хранить множество массивов в ячейках таблиц БД, тем самым управлять ими было бы совершенно не удобно.
Гибкость БД
Я понял что мне не подходит реляционная база данных, так как нужна гибкость БД. И такую гибкость и даст мне в моем случае MongoDB. Ведь монго хранит данные не в виде таблиц, как это делает MySQL, а в виде коллекций с массивами в JSON формате. Это действительно удобно. Структуру БД Вы разрабатываете сами под свою задачу. Гибкость базы данных — это конечно важная составляющая, но и производительность стоит не на последнем месте.
И для понимания производительности, сравнивая MongoDB с MySQL, привожу таблицу небольшого тестирования:
INSERT и SELECT
100 | 0.423 сек | 0.098 сек | 0.028 сек | 0.028 сек |
1 000 | 0.485 сек | 0.442 сек | 0.073 сек | 0.067 сек |
10 000 | 3.6482 сек | 3.6072 сек | 0.684 сек | 0.323 сек |
100 000 | 33.7599 сек | 34.149 сек | 10.3476 сек | 9.7686 сек |
Как видите, MongoDB, хоть и не сильно отличается производительностью от MySQL, но монго и не уступает реляционной бд.
На самом деле, Базу данных нужно выбирать, опираясь на сам проект (что требуется от БД для проекта). Но Если Вам требуется гибкая и производительная БД, выбирайте MongoDB, но не забывайте оптимизировать и кэшировать свои запросы. Делая кривые запросы, можно снести, любую, даже самую мощную базу данных.
Интересна тема MongoDB? Оставляйте комменты ниже, буду писать подробнее об использовании этой БД в PHP проектах.
Добавить комментарий