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

标签 sql-server mongodb nosql

我们有一个大型新闻网站,网络流量很高。架构就是你经常看到的DB——Repo层——Services层——Asp.Net MVC。我们看到的问题与读取性能有关。事实证明,从理论上讲,所有这些 DDD 域对象内容对于业务规则来说都很棒,但在优化读取性能方面却变得更加困难。

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

我的问题是是否可以同时使用 SQL Server 作为记录数据库和 Mongo 作为查询数据库,如果可以,您将使用什么技术来更新更新?我希望 Mongo 每 15 分钟刷新一次。

最佳答案

我建议查看cqrs (命令查询职责分离)模式最初由 Greg Young 引入。您还可以阅读here .

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

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

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

roadmap 中也采用了这种方法微软 2012 年业绩。

来 self :我使用这种方法已经一年多了,并且我个人对此投了赞成票。

关于sql-server - SQL Server 和 Mongo 可以一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8565645/

相关文章:

c++ - sql connectionstring调试一步一步?

SQL Server XQuery 修改

c# - 如何从 asp.net webform 中的 gridview 优化 "foreach"事件?

mongodb - 使用聚合查询删除 mongodb 中的重复项

mongodb - 如何在插入时为子文档生成 mongodb 对象 ID

database - Cassandra,查询主键,跳过聚类列(timeuuid)

nosql - 使用增量计数器在Couchbase集群中生成唯一 key

sql - 向 t-sql 中的所有用户表添加一列

javascript - 如何将 Node.js、MongoDb 和 Backbone.js 组合在一个应用程序中?

mongodb - 使用 mongoengine 连接到 MongoDB atlas 集群