MySQL vs MongoDB. Более сложный insert (для mongodb) часть 2.
25 марта, 2011
В продолжение решения задачи: Реляционка или не реляционка
Пройдя первый этап: MySQL vs MongoDB. Сравнение скорости insert Создания пользователей.
Пройдя второй этап:MySQL vs MongoDB. Более сложный insert (для mongodb) Создания друзей.
Создадим фотографии пользователей. Каждому пользователю по 100 фотографий.
Для MySQL это обычное создание записи в таблице:
Для NoSQL это добавление в коллекцию пользователей из MySQL vs MongoDB. Более сложный insert (для mongodb) ещё одного поля photos, являющегося множеством элементов.
И сравниваем производительность выполнения вставки 100 фотографий каждому из 1000 пользователей (100000 элементов).
По оси Х-время в секундах, по оси Y-количество случаев с данным временем выполнения(основной кусок увеличен):
Вывод: нужно понимать, что для MySQL — создание фотографии лишь вставка новой записи в таблицу фотографий, а для MongoDB — изменение существующего объекта, в котором уже содержится 100 друзей, созданных в предыдущем этапе, и ещё добавляется 100 элементов фотографий. Но при всём этом MongoDB половину операций (~50000) отработало за 0.0001 секунды, а MySQL редко ранее 0.0005 секунды. И MongoDB пришлось проделать гораздо большую работу (обновить существующие объекты).