使用mssql数据库复制的dotNET项目的最佳实践

本文关键字:最佳 项目 dotNET 数据库 复制 使用 mssql | 更新日期: 2023-09-27 18:01:01

我正在使用C#、实体框架4、mssql进行一个web项目。当数据越来越大(不是很大,但对于单个服务器来说很难(时,我们决定对数据访问层进行一些更改,以提高吞吐量和性能。

因为将数据库更改为nosql对于重构来说代价高昂,我们计划使用数据库复制,我以前从未使用过它。

  • 我们是否应该使用多个"连接字符串",程序员根据"读取"或"写入"操作明确使用这些字符串
  • 阅读奴隶会导致"肮脏"的阅读吗
  • 有其他最佳实践可以在最小化重构成本的情况下解决这个问题吗

我们不局限于mssql服务器。

ps:我们没有太多表,但有一些社交数据足够大,很难分离表/数据库。

使用mssql数据库复制的dotNET项目的最佳实践

你不需要NoSQL,你需要摆脱"数据库综合症":(

这意味着你可以拥有一组较小的数据库,而不是一个大数据库。我非常确信您的系统有许多不同的问题。例如:计费、运输等

为什么不将这些关注点分离到不同的数据库中呢?因此,您的"计费"子系统将有自己的数据库"发货"——另一个,无论您拥有多少。

现在它变得更容易扩展:如果需要,你可以简单地将它们分别放在一个单独的服务器上,或者给一个重要的服务器一个专用硬件,然后将其余的放在一起,等等

它也将更容易管理:您可以在一个上下文中单独更改内容,而不会影响其他上下文。

这就是"最佳实践",也是SOA风格的一部分;(

另一个(在我看来不太可取(是所谓的"水平碎片"。比如说,您的系统与"项目"一起运行,您可以简单地将每个"项目"(及其所有数据(放入单独的数据库中。它也会起作用,但并不适合所有东西,而且有自己的诀窍。