SQL Server和Mongo可以一起使用吗?

时间:2011-12-19 18:23:03

标签: sql-server mongodb nosql

我们有一个面向新闻的大型网站,网站流量很高。该体系结构是您经常看到的DB - Repo Layer - Services Layer - Asp.Net MVC。我们一直看到的问题是读取性能。事实证明,所有这些DDD域对象在理论上对于业务规则来说都很棒,但在优化读取性能方面却让生活变得更加艰难。

作为一个解决方案,我正在考虑一些全新的东西(对我们来说):使用noSQL。我想在我们的网站上使用noSQL数据库来显示数据。我们无法摆脱我们的SQL Server(至少不会很快),但在我看来,实际的一步是将Mongo用作所有新开发的查询数据库。

我的问题是,是否可以将SQL Server用作记录数据库,将Mongo用作查询数据库,如果是这样,您将使用哪种技术/技术来更新更新?我希望Mongo能够在15分钟内恢复精力。

1 个答案:

答案 0 :(得分:10)

我建议您查看cqrs最初引入的Greg Young Command Query Responsibility Segregation )模式。您也可以阅读here

这种方法涉及两个数据库:读和写。 Write数据库用作主写入存储和读取数据库用于查询。读数据库可以有非规范化数据。例如,如果您有文章,您可以在其中嵌入作者信息以便在ui上快速显示。而且一般来说nosql数据库非常适合读取存储。

在你的情况下,主要规范化数据库可以在sql中,读取数据库可以在mongodb中。

一般来说,这种方法非常适合高流量系统。有一个开源实现 - ncqrs

此问题也适用于2012年的roadmap微软。

来自我:我使用这种方法超过一年,并将其个人投票给予它。