Сравните производительность MongoDB и SQL Server 2008

TipsMake.com — В статье ниже мы укажем на разницу в производительности относительно новой системы управления базами данных, которой является MongoDB, и одной из популярных систем, таких как SQL Server (MySQL или Oracle). Большая часть данных представлена ​​здесь в виде диаграмм, поэтому мы можем легко представить себе преимущества и недостатки MongoDB, а также других систем управления базами данных.

Изображение 1: Сравнение производительности MongoDB и SQL Server 2008

Диаграмма вызывает споры о том, что MongoDB вставляет данные более чем в 100 раз быстрее, чем SQL Server.

Представьте, что вы создаете систему веб-сайтов для онлайн-платежей, которая включает в себя множество различных единиц данных. Если есть система управления базами данных, которая работает во много раз быстрее, чем SQL Server, бесплатно, ее легко контролировать и обрабатывать, вся ваша прикладная система с LINQ (переведенная как язык запросов, интегрированная в языки программирования, MongoDB, безусловно, будет лучше выбор.

А когда есть такая система управления базами данных, мы можем развернуть и работать на большинстве популярных сегодня аппаратных устройств, а не на высокопроизводительных и выделенных серверных устройствах. Это означает, что нет необходимости покупать или арендовать серверы, как раньше, и, конечно же, начальная стоимость должна быть намного ниже, а прибыль или выручка почти не меняются.

Еще один фактор, прежде чем мы перешли к тестированию, Кристина Чодороу из 10Gen организовала семинар по MySQL в Сан-Франциско с темой «Удаление ACID с помощью MongoDB».

Здесь Кристина подробно описала опыт развертывания SourceForge по переносу баз данных с MySql на MongoDB. На платформе MySql SourceForge достиг предела производительности с определенным количеством пользователей. Но с некоторыми изменениями в опциях MongoDB система стала намного стабильнее.

Тестовая модель:

Модель интенсивной базы данных для онлайн-приложений улучшена, чтобы улучшить возможность поддержки как можно большего числа пользователей. Будет много учетных записей пользователей из онлайн-веб-приложений, из функций API и многих других связанных приложений. Технически пользователи будут напрямую взаимодействовать с данными, выполняя операторы запроса, каждый из которых соответствует небольшим фрагментам данных во всей системе. Однако реальность и теория совершенно разные, представленная выше модель — это то, что мы себе представляем.

Сравнить функцию вставки:

Это наиболее очевидное различие между MongoDB и SQL Server:

Изображение 2: Сравнение производительности MongoDB и SQL Server 2008

Этот процесс выполняется путем вставки 50 000 независимых объектов с использованием NoRM MongoDB и LINQ to SQL для SQL Server 2008. Примерная модель выглядит следующим образом:

Изображение 3: Сравнение производительности MongoDB и SQL Server 2008

MongoDB

Изображение 4: Сравнение производительности MongoDB и SQL Server 2008

SQL Server

Затем запустите 5 клиентских приложений в базу данных с функцией вставки:

Изображение 5: Сравнение производительности MongoDB и SQL Server 2008

MongoDB

Изображение 6: Сравнение производительности MongoDB и SQL Server 2008

SQL Server

И внимательно посмотрите на самую важную информацию, показанную здесь, а именно на время выполнения:

Изображение 7: Сравнение производительности MongoDB и SQL Server 2008

MongoDB

Изображение 8: Сравнение производительности MongoDB и SQL Server 2008

SQL Server

Легко, вы можете увидеть разницу между 2 секундами — MongoDB и 205 секундами — SQL Server. Чтобы гарантировать достоверность результатов, мы повторно реализовали программу на основе ADO.NET, и скорость SQL была увеличена примерно в 1,5–3 раза по сравнению с предыдущей. При несложном вычислении MongoDB по-прежнему примерно в 30-50 раз быстрее, чем SQL.

Сравнение скорости запроса:

Далее мы переходим к процессу разделения данных одного и того же объекта в поле идентификатора каждой записи:

Изображение 9: Сравнение производительности MongoDB и SQL Server 2008

Глядя на диаграмму выше, становится ясно, что MongoDB по-прежнему превосходит SQL по производительности (примерно в 3 раза). Чтобы продолжить, давайте стандартизируем немного более сложную таблицу данных с внешними ключами — Внешний ключ и соединение:

Изображение 10: Сравнение производительности MongoDB и SQL Server 2008

MongoDB

Изображение 11: Сравнение производительности MongoDB и SQL Server 2008

SQL Server

Показанные здесь результаты аналогичны предыдущим тестам без необходимости присоединяться:

Изображение 12: Сравнение производительности MongoDB и SQL Server 2008

Все тесты проводятся на ноутбуке Lenovo T61, 64-разрядной операционной системе Windows 7 с процессором 2,8 ГГц, с использованием 64-разрядной версии SQL Server 2008 Standard и MongoDB. Весь образец вы можете скачать через MediaFire.

Похожие записи

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

Ваш адрес email не будет опубликован.