我是一家约有 50 名员工的小公司的唯一系统管理员,我被要求开发一个内部应用程序,用于跟踪工作完成情况并根据这些数据提供报告。我计划将其构建为 Web 应用程序。我在开发 MySQL、PostgreSQL 和 MSSQL 方面的经验大致相同。我们主要是一家基于 Windows 的商店,但我对 Windows 和 Linux 系统管理都相当熟悉。
这是我最担心的两个问题:
- 易于管理。我不希望永远维护这个数据库。为了最终接手我的人,哪个数据库的进入门槛最低?
- 数据完整性。这意味着事务安全、存储稳健、备份/恢复方便。如果数据库可以轻松复制就更好了。
这个项目的预算不多,所以我只能使用上面提到的免费数据库系统之一。你会选择哪一个?
更新: 考虑到 MSSQL (SQL Server Express) 在以 Windows 为中心的环境中似乎具有优势,我可能会重新考虑我的语言选择。我熟悉 PHP,但不是特别喜欢它。例如,ASP.NET 似乎相当受好评。我还听到了很多关于 Visual Studio 工具的好评。
我现在明白,最合适的堆栈(以及数据库)很大程度上取决于所使用的语言。如果我继续使用 PHP,我肯定会选择 LAMP 堆栈。
答案1
如果您要使用 php,您不妨使用 LAMP。Php 和 IIS 简直是一场噩梦。Php 和 MSSQL 只是有点浪费,而且配置起来有点烦人(我实际上使用 Php 和 MSSQL,只是因为 MSSQL 是这里的标准,而 Php 是继承的。我并不特别喜欢它。)
不过,对于如此小的设置,您可以使用任何您最熟悉的。我会跳过 MSSQL,部分原因是我最喜欢 MSSQL 的一点是 Visual Studio,而您可能没有这个。而且 Apache/Php 在 Windows 上运行得很好。我不会担心让使用 Windows 的同事使用 LAMP 机器。只要您安装了 GUI,他们就应该很容易管理。
答案2
MSSQL 毫无疑问。除非您超出每个数据库 4GB 的限制(顺便说一句,这不包括文件存储的 blob - 而且我怀疑您不会很快突破这个限制)。尤其是基于 Windows - 有很多优势(内置修补、易于扩展、管理良好、易于维护等)。
答案3
您也可以考虑 OracleXE - 但是,请根据您所了解的内容,您是在 Windows 世界 (.net) 还是 oss 世界 (php/perl/python/ruby/etc/etc) 中开发应用程序?您的开发语言可能是最大的决定因素。
对于 IIS 上的 .net,显然使用 MSSQL 对于 Apache 上的 oss 技术,使用 MySQL(这将使任何不了解 pgsql 的未来管理员更容易)
并且我知道您可以将 .net 与 mysql/pgsql 一起使用,将 php & co 与 MSSQL 一起使用 - 但对于学术上的“因为我可以”用途之外的任何用途来说,这确实是一个愚蠢的想法。
对于数据库的大小,查看每个数据库的性能怪癖可能并不重要。