大型政府项目中 SQL Server、MySql 和 Oracle 的比较

大型政府项目中 SQL Server、MySql 和 Oracle 的比较

我负责决定在一个大型政府项目中使用哪个数据库:

  • 1亿条记录(估计在一张大表中)
  • 可用性和数据可靠性至关重要。
  • 性能并不像可用性和可靠性那么重要。
  • 桌子结构比较扁平,大约有 20-30 张桌子。
  • SQL 查询或多或少简单易懂,没有复杂的连接。
  • 降低成本是一个重要因素。
  • 用户数量在 100-200 范围内(同时)。
  • 必须在集群(2 台服务器)或服务器冗余(两个设备放在一个盒子里)之间进行选择
  • 所有服务器将配备 RAID/SAS 硬盘和多核双 CPU
  • 可以根据 RDBMS 选择聘请合适的 DB 管理员

mySQL 是否足够成熟来处理这种配置?

请帮忙。

答案1

您可能在许可方面有“现有技术”,这可以让您的决定更清晰一些。例如,我有许多政府客户拥有 ORACLE 的企业级许可,因此除了硬件考虑之外,建立新服务器不是问题。请与您的客户核实现有的企业解决方案。

如果这是一个通用解决方案,那么您可能需要考虑任何映射层解决方案集,这些解决方案集将允许您在后端部署上具有灵活性,例如根据需要使用 ODBC、JDBC 或 JMS 从下一个下游层连接到数据库,连接设置来自配置文件。这样您就可以避免一定程度的锁定。当然,如果此解决方案是针对单个客户的,并且您从未打算向其他任何人销售,那么您可以避免此类架构考虑……除非他们内部有多个数据库供应商,并且他们希望能够灵活地在任何后端执行。

答案2

我认为上述所有数据库都足够成熟。如果您的场景如此简单,我会根据您计划使用的开发平台选择合适的系统。

例如,在 .NET 中开发时,MS SQL Server 2008 为您提供了许多不错的集成功能,并且集成此数据库比集成 MySQL 等数据库要容易得多。Oracle 是一个通用选择,但价格要高得多。在 Windows 服务器上,我更喜欢 MS SQL 2008,在 Linux 上更喜欢 MySQL 或 Oracle。但我知道所有系统都在这两个平台上实现。

所有这些系统都同样可靠,并被用于许多 24/7 应用程序中(MySQL 也不例外)。

答案3

一个重要的决定因素是您内部拥有哪些数据库管理和开发经验?如果您目前只经营 Oracle,并且必须聘请 MySQL DBA 来管理 MySQL 数据库,那么从长远来看,这将比购买新的 Oracle 许可证花费更多。

“100 兆记录(估计)”是什么意思?应该是 1 亿条吗?只要您为服务器提供足够的 CPU 和内存来处理工作负载,列出的所有三个都可以处理大量数据。

需要弄清楚的一件事是数据库的 RPO 和 RTO。这将帮助您设计所需的解决方案。

答案4

您的要求很模糊,但我会选择在 x64(12 核、48 GB RAM)Red Hat Linux 上运行 MySQL Enterprise Edition,以主/从冗余模式运行。

您需要一般性建议,这是一个功能强大且价格低廉的系统。2 台服务器每台售价 10K,软件一年支持费用约为每台 7K(5K MySQL EE,2K RHEL)。现在 Oracle 已在 MySQL 上为您提供支持。您还可以以相同的价格换用 Oracle Enterprise Linux。

您所说的一切都表明您不需要更多。主/从 MySQL 是一种众所周知的配置,比集群容易得多,并且主服务器发生硬件故障后 15 分钟内即可恢复。就像 Bart 所说的那样,地理隔离确实很有帮助,您通常无法在集群上做到这一点,但您可以使用 MySQL 复制来实现。

相关内容