SQL Server и MongoDB сравнение? - PullRequest
       3

SQL Server и MongoDB сравнение?

0 голосов
/ 16 декабря 2010

Я пытался сравнить и посмотреть, можно ли перенести мою базу данных в SQL Server на MongoDB для повышения производительности. База данных в значительной степени меньше схемы со множеством вставок и обновлений по столбцам. Таблица выглядит примерно так (первичный ключ как Product_ID)

ProductID Part1 Part2 Part3 ... и так далее с количеством столбцов до 70

До сих пор я не обнаружил какого-либо существенного улучшения производительности с MongoDB. Оба работают почти с одинаковой скоростью (иногда SQL Server запускается и выполняет больше обновлений). Я правильно индексирую базу данных MongoDB по ProductID, который я смотрю при обновлении.

Этот тип базы данных не подходит для использования преимуществ производительности MongoDB по сравнению с SQL Server?

Любые комментарии или предложения приветствуются!

С уважением, Лалитй

Ответы [ 2 ]

3 голосов
/ 18 декабря 2010

Хорошо, здесь много потенциальных проблем.

Я правильно индексирую базу данных MongoDB по ProductID, который я смотрю при обновлении.

Первое, что нужно отметить, - Mongo использует поле _id для внутренних идентификаторов. Другими словами, Mongo автоматически имеет идентификатор автоинкремента (аналогично GUID, но меньше). Поле _id автоматически получает индекс, поэтому если вы индексируете по ProductID, у вас может быть два индекса, где необходим только один.

Если вы используете драйвер NoRM, обратите внимание на шаблоны использования для «создания собственных идентификаторов».

База данных в значительной степени меньше схемы со множеством вставок и обновлений по столбцам. Таблица примерно такая ... ProductID Part1 Part2 Part3

Эта концепция «частей» должна работать быстро и требовать меньшего пространства, чем SQL-сервер. Обратите внимание, что в каждом документе хранятся как имя поля, так и значение. Поэтому, если у вас есть имена полей p1 вместо Part1, вы будете использовать меньше места и сможете хранить больше записей в оперативной памяти.

Пока что я не нашел существенного улучшения производительности с MongoDB ...

Здесь вы должны подробно рассказать о своих методологиях тестирования. Сколько документов. сколько общего места, сколько оперативной памяти на машине, как вы тестируете и т. д.

Без более подробной информации просто невозможно дать конкретное руководство.

2 голосов
/ 16 декабря 2010

Обычной практикой является использование "большого" объекта в MongoDb. необходимо отказаться от любого соединения. Например: используйте UserDocument, у которого уже есть список собственных заказов и т. Д. У меня есть опыт перехода с SQl на MongoDb. И я улучшаю свою систему в несколько раз. В SQL Server у нас более 100 таблиц, а сейчас в Монго у меня не более 20.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...