Можно ли использовать SQL Server и Mongo вместе? - PullRequest
9 голосов
/ 19 декабря 2011

У нас есть крупный новостной сайт с высоким веб-трафиком. Архитектура - это ваша часто встречающаяся БД - Уровень репо - Уровень услуг - Asp.Net MVC. Проблема, которую мы видели, связана с производительностью чтения. Оказывается, что все эти объекты объекта DDD теоретически хороши для бизнес-правил, но усложнили жизнь, когда речь заходит об оптимизации производительности чтения.

В качестве решения я рассматриваю нечто совершенно новое (для нас): использование noSQL. Я хотел бы использовать базу данных noSQL для данных, представленных на нашем сайте. Мы не можем избавиться от нашего SQL Server (по крайней мере, в ближайшее время), но мне кажется, что практическим шагом будет использование Mongo в качестве базы данных запросов для всех новых разработок.

Мой вопрос: возможно ли использовать SQL Server в качестве базы данных записей и Mongo в качестве базы данных запросов вместе, и если да, то какую технологию / технику вы бы использовали для обновления обновлений? Я бы хотел, чтобы Монго обновлялось каждые 15 минут.

1 Ответ

10 голосов
/ 19 декабря 2011

Предлагаю взглянуть на шаблон cqrs ( Разделение ответственности по запросам команд ), который изначально был представлен Грегом Янгом . Также вы можете прочитать здесь .

Этот подход предполагает наличие двух баз данных: чтение и запись. База данных записи используется в качестве основного хранилища записи, а база данных чтения - для запросов. Чтение базы данных может иметь денормализованные данные. Например, если у вас есть статья, вы можете вставить в нее информацию об авторе, а также быстро отобразить ее. И вообще база данных nosql хорошо подходит для хранения данных.

В вашем случае первичная нормализованная база данных может быть в sql, а база данных для чтения - в mongodb.

В целом такой подход хорошо подходит для систем с интенсивным движением. Существует реализация с открытым исходным кодом - ncqrs .

Также этот подход в дорожной карте Microsoft на 2012 год.

от меня: я использую этот подход более одного года и отдаю ему свой личный голос.

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