Sql server 对于这种情况,2层是有效的选择吗

Sql server 对于这种情况,2层是有效的选择吗,sql-server,database,architecture,2-tier,Sql Server,Database,Architecture,2 Tier,对于这种情况,2层是否是有效的选择: sql server数据库 业务永远不需要超过几百个同时连接 通过局域网连接到共享数据库 事实是(我相信)开发两层架构的工作量要少得多 应用 通过局域网自动更新客户端程序 两层解决方案可能更容易开发,但如果应用程序具有任何规模和/或复杂性,则更难维护 如果此应用程序对业务非常重要,并且在相当长的时间内都处于就绪状态,我想您会发现,在修复、更改逻辑或扩展应用程序时,将演示、业务逻辑和数据访问分离到各自的层所花费的额外时间将得到回报 这是其中一个问题,你可能会得

对于这种情况,2层是否是有效的选择:

  • sql server数据库
  • 业务永远不需要超过几百个同时连接 通过局域网连接到共享数据库
  • 事实是(我相信)开发两层架构的工作量要少得多
    应用
  • 通过局域网自动更新客户端程序

  • 两层解决方案可能更容易开发,但如果应用程序具有任何规模和/或复杂性,则更难维护

    如果此应用程序对业务非常重要,并且在相当长的时间内都处于就绪状态,我想您会发现,在修复、更改逻辑或扩展应用程序时,将演示、业务逻辑和数据访问分离到各自的层所花费的额外时间将得到回报


    这是其中一个问题,你可能会得到与答案一样多的不同意见。

    一开始可能更容易开发,但我也认为,如果项目不是一个仅供内部使用的琐碎工具,那么从长远来看,它将使你付出代价


    您是否需要3层应取决于您将维护项目的时间,以及您计划在以后为项目提供多少功能/更新。这也可能取决于您愿意接受(和修复)多少bug。IMO三层架构倾向于创建更稳定的软件

    两个答案似乎都在说,3层是最好的解决方案,这一点毋庸置疑。或许

    似乎在争论,除非成本效益不高,否则你应该选择2层 对你的特殊情况的分析支持三层结构

    他说:

    作为一个好的架构师,你应该被拖拽到为你的系统添加层中去

    他认为,安全性是三层解决方案明显优于其他解决方案的唯一领域

    他认为

    更糟糕的是,边界增加了软件设计、网络基础设施、系统的可管理性和总体可维护性的原始复杂性。简言之,应用程序中的层越多,需要处理的复杂性就越高,这直接增加了构建和维护应用程序的成本


    最后,关于可伸缩性,我想知道,如果在ado中使用断开连接的记录集进行数据访问,那么默认情况下,连接池具有很高的可伸缩性,这是否属实?

    摘自Charles Williams的《专业Visual Basic 6数据库:-

    2层vs N层

    在2层和n层之间进行选择 模型似乎是人们关注的焦点 头脑。有太多的变量需要考虑 方程式中的系数(包括 (偏好)没有一本书可以 为您的产品确定最佳结构 客户机-服务器模型。其中一些 变量可以包括:

    所选数据库服务器的灵活性和强大功能。今天的 数据库服务器能够 处理成百上千的 不移动的并发连接 到3层体系结构

    容纳服务器的CPU的强大功能和多功能性。更强大 CPU越多,服务器运行的速度就越快 处理请求的任务

    服务器的吞吐量是多少,连续的吞吐量是多少 存在联系。你可能只有很少或很少的时间 多个连接和每个连接 可能正在传递少数或多个请求

    经济因素。您愿意在您的系统上花费多少。 一般来说,n层系统的成本 需要开发和维护更多。如果你 您可以使用两层解决方案 可以节省很多钱


    在我看来,这似乎表明,除非您是为(非常流行的)基于web的应用程序开发,否则2层可能是更合理的选择。

    好的,实际上Rockfork Lhotka(见下面的链接)似乎同意您的观点,将应用程序划分为层是很好的,他对层和层的定义不同。同一物理层中可以容纳不同的层。@kjack:对。我可能应该更好地区分逻辑层和物理层。我想我真正想知道的是,在大约10台计算机组成的网络中使用access作为后端的2层解决方案在100/500/1000台计算机组成的网络中如何运行,只需将数据库更改为sql server。客户端软件会自动查找新版本,第一个更新自身的客户端会更新数据库版本。因此,正在进行的开发实际上仅限于对客户端程序的增强。实际上根本没有服务器程序,也没有中间层。