【问题标题】:Shared database options in scrum team [closed]Scrum 团队中的共享数据库选项 [关闭]
【发布时间】:2025-12-22 13:15:06
【问题描述】:

我有一个很宽泛的问题想要得到一些建议。

我是一个 3 人 Scrum 团队的开发人员,正在开发同一个应用程序(c# Web 表单应用程序)。多年来,开发人员一直在他们的机器上运行一个本地 IIS 站点并将他们的应用程序指向一个共享数据库。与本地 SQL 实例相比,使用共享数据库对我们的业务有很多好处,并且可以最大限度地减少每个开发人员在设置和维护方面的开销。

这个过程多年来一直有效(主要是因为每个人都在办公室),但现在我们中有一半人在家或远程工作。通过 VPN 的 SQL 性能非常糟糕,并且在处理通过 VPN 的 SQL 调用时最终会降低我们本地站点的速度。由于速度很慢,这确实降低了我的工作效率,我正在寻找选择。

我想到了以下解决方案:

  1. 在本地运行 SQL
    • 设置复制
    • 尝试将 SQL 实例指向 mdl 文件的 UNC 路径(如果可能的话)
  2. 调整 VPN 设置以加快 MS-SQL 调用
    • 我怀疑是否有办法加快通过 VPN 的流量,但我愿意接受任何想法。
  3. 当我在家工作时,RDP 进入我的工作机器。我真的很讨厌这样做。

以下是我们设置的技术规格:

  1. MS-SQL 2008 R2
  2. C# Web 表单
    • N 层架构

以前有没有其他开发团队遇到过这个问题,如果有的话,哪里有一些解决方案?

谢谢

【问题讨论】:

  • 当我在家工作时,我将 RDP 连接到工作中的机器。这有一些好处(我想也有一些缺点),但它对我有用。只是好奇……你为什么讨厌这个选项?
  • 嗯,大多数时候连接良好,我看不到打字延迟。但是,每天可能有 2-3 次(无论出于何种原因)连接会变慢并变得不稳定和滞后 - 让我发疯。如果连接一直很好,我认为 VDI 或 RDP 解决方案可能没问题。
  • 是的,连接速度慢可能是最大的缺点。在这方面我很幸运。所以如果你追求选项 1 并在本地运行 SQL,你会遇到什么问题? SQL 是否已在本地安装?您是否需要定期从办公室“同步”数据?数据库有多大?
  • 运行选项 1 会引入一些不同的问题。第一件事是我(和其他开发人员)安装 MS-SQL 的开销要大得多。但是,我考虑将整个虚拟硬盘安装在我的机器上并在本地运行。接下来我要做的就是以某种方式从办公室 SQL 复制到我的本地机器。这可能很困难——我从来没有做过。我使用的数据库小于 100MB - 不是那么大。
  • 作为 dba,安装 MSSQL Dev Edition(或 Express)对我来说并不是什么大问题。但是,如果服务器级设置有任何差异,您可以开发在本地工作的代码,但不能“在办公室”运行(反之亦然)。我同意 100MB 不是那么大。复制是必须的吗?您可以每天或每周通过备份/恢复同步数据吗?

标签: sql-server-2008 replication shared scrum


【解决方案1】:

无论您使用哪种技术,这种情况都会发生在许多远程工作的开发人员身上。

您的三个选项是可行的,但请考虑一下:

  1. 运行本地数据库服务器会引入环境错误的可能性。如果您有 3 个开发人员,那么您现在有 3 个不同的数据库。即使数据库本身的结构永远不会改变,测试数据肯定会因一个开发人员而异。在某些时候,您可能需要将测试数据的“主”版本与每个本地实例进行协调。

  2. 调整 VPN 设置当然值得研究,但我无法为您提供帮助。我不知道你会怎么做。

  3. RDP 到您的远程计算机可能是最佳选择。这将保证您在家或办公室工作时拥有相同的设置。我之前在两家不同的大公司工作过,这就是我们在这两个地方的做法。请问你为什么讨厌这个?确实有时它不起作用或很慢。

您最终可能会选择所有这些选项。我的意思是无论你的工作如何,调整你的网络速度总是好的。您可以在本地实例上进行开发,然后将您的工作与存储库和 RDP 同步到您的办公室机器,以使用数据库的主实例测试您的新代码。这样您就不必整天都在使用 RDP,并且最终会在两个不同的环境中测试您的代码两次。这很好,对吧?

【讨论】:

  • 感谢您的意见。我希望有一个解决问题的灵丹妙药:) 给你的问题。当您过去完成 RDP 时,是否总是通过 VPN 完成,或者他们是否为 RPD 公开了公共端点?