【问题标题】:Database on file server (Windows)文件服务器上的数据库 (Windows)
【发布时间】:2010-12-22 20:22:42
【问题描述】:

我在一家公司工作,我需要非常快速地创建一个程序。我的程序将运行 100 个用户,他们每天将进行大约 100 笔交易。由于我面临时间压力和其他各种限制,因此无法在服务器上建立一个合适的数据库。因此,我正在寻找具有某种事务支持而不在服务器上运行的替代方案。我相信这可以使用 Microsoft Access 解决,这是一个不错的解决方案,但我相信我会遇到锁定问题。是不是一旦一个用户尝试读取整个表就会被锁定?无论如何...我的问题是还有什么其他选择。

【问题讨论】:

  • 这是客户端服务器还是 Web 应用程序架构?您的非功能性需求是什么?
  • 为什么认为需要数据库?
  • 它是一个客户端应用程序,没有服务器。
  • 您希望如何在客户端之间同步数据?
  • SQLlite 似乎是完美的解决方案

标签: database fileserver


【解决方案1】:

sqlite 是一个合适的解决方案吗?不过,不确定如何支持远程存储。这不是常见的功能。

【讨论】:

  • 我(意外地)在网络(映射)驱动器上得到了一个 SQLite 数据库。一切正常。我的主要问题是找到它......我以为我使用的是本地的,当我注意到“上次修改”时间没有改变时,我感到非常惊讶。 :-)
【解决方案2】:

查看SQLite

【讨论】:

    【解决方案3】:

    你可以看看SQL CE,这是一个非常好的微软本地数据库。

    【讨论】:

      【解决方案4】:

      根据此处讨论的数据量,真正的答案可能会有很大差异。

      我会看看SQLite。它支持事务、触发器等,并受到 NHibernate 之类的支持,这可能使您的数据库映射生活更加轻松。

      【讨论】:

      • 正确,这就是它的设计目的。您可以编写自己的包装层,但这将失去意义......
      • 是的,我会担心长期使用它。每天 100 个用户 @ 100 个事务可能没问题,但数据库大小迟早会开始成为问题。这就是我建议 NHibernate 的原因...它应该使更改为(受支持的)客户端-服务器数据库更加更容易。
      • 哦......我可能应该澄清......“数据库大小”我不是指文件大小 - SQLite 没有真正需要担心的问题 - 我更关心查询/ 更新时间。我不知道如何对 SQLite 数据库进行分区以获得更好的性能。
      【解决方案5】:

      有很多选择。正如其他人所说,设置和运行 SQLLite、SQL Server Express 或任何其他小型、轻型和免费数据库。

      假设您今天需要这个,我会选择您最了解的那个。此外,我会远离任何类似 Access 的东西。如果您还没有使用它进行多用户访问的经验,那么您将花费太多时间来解决问题。

      也就是说,我首先倾向于 SQL Server express。它是免费的,无需更改代码即可扩展到完整的 sql server。

      【讨论】:

        【解决方案6】:

        我相信这可以使用 Microsoft Access 解决,这是一个不错的解决方案,但我相信我会遇到锁定问题。

        我想说锁定和排队是您最不必担心的问题。如果有 100 个并发用户,Access 可能会在几分钟内自行损坏。如果每天有 10k+ 条记录,它可能会在一个月左右的时间内让您的整个网络陷入瘫痪。

        由于我处于时间压力和其他各种限制条件下,无法在服务器上设置合适的数据库。

        您可以在一个小时内启动数据库服务器。比您花在 Access 上的时间要少得多。有开源虚拟机镜像、MSSQL Express、托管解决方案等。时间和成本应该不是问题。

        我能想到的唯一能让您使用 Access 的就是表单支持(可以连接到 MSSQL Server)或 DBA 维护。不过,坦率地说,在 100 个用户时,Access 将承担如此多的保姆,以至于您可以负担得起托管 SQL 实例并且仍然领先。

        【讨论】:

          【解决方案7】:

          我认为Firebird 可能是一个很好的选择。 Firebird 是嵌入式的,也可以与服务器一起使用。它有很多功能。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-11-17
            • 1970-01-01
            • 2021-08-10
            • 2013-01-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多