Разрабатываю сайты

БЛОГ ПРО WEB

Рассказываю о web-разработке
и помогаю создавать сайты

Какую БД использовать, MongoDB или MySQL?

Какую БД использовать, MongoDB или MySQL?

Новый проект требовал гибкость настроек с кучей нюансов, и для этого просто не подошла база данных MySQL. C ее помощью возможно было реализовать задуманное, но опять же вышло бы не совсем красиво. Пришлось бы хранить множество массивов в ячейках таблиц БД, тем самым управлять ими было бы совершенно не удобно.

Гибкость БД

Я понял что мне не подходит реляционная база данных, так как нужна гибкость БД. И такую гибкость и даст мне в моем случае MongoDB. Ведь монго хранит данные не в виде таблиц, как это делает MySQL, а в виде коллекций с массивами в JSON формате. Это действительно удобно. Структуру БД Вы разрабатываете сами под свою задачу. Гибкость базы данных — это конечно важная составляющая, но и производительность стоит не на последнем месте.

И для понимания производительности, сравнивая MongoDB с MySQL, привожу таблицу небольшого тестирования:

INSERT и SELECT

Запросов
INSERT
SELECT
MySQL
MongoDB
MySQL
MongoDB
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 проектах.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *