Scrum 团队中的共享数据库选项

Shared database options in scrum team

我有一个比较宽泛的问题,希望得到一些建议。

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

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

我想到了以下解决方案:

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

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

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

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

谢谢

无论您使用何种技术,许多远程工作的开发人员都会遇到这种情况。

你的三个选项都是可行的,但考虑一下:

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

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

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

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