适用于小批量银行软件的最佳数据库-PHP

时间:2012-04-25 02:24:08

标签: php mysql

我正在构建一个应用程序,为购买的服务维持可用的现金余额,由信用卡或汇票提供资金。当然,作为一个小型创业公司,性能并不是一个大问题,因为一开始就不会出现这种情况。

那就是说,我的预算很小READ:现在开源。使用传统的Z主机我会很傻。 oracle就此而言,所以我在innodb或myisam引擎之间争论mysql。

对于我的大多数项目,我选择了innodb。对于第一个假设的100K客户来说,这可能是一个可行的选择吗?还是myisam?是否建议金融交易使用表格锁定?

2 个答案:

答案 0 :(得分:2)

数据库选择

我会投票给PostgreSQL http://www.postgresql.org/它最接近企业RDMS,特别是如果你要来自oracle

您还可以考虑MySQl http://www.mysql.com/

引擎选择

如果您选择MySQL,那么我建议您使用innoDB而不是MyIsam,因为Database Transaction支持对金融交易非常重要

见:

http://www.databasejournal.com/features/mysql/article.php/3382171/Transactions-in-MySQL.htm

PHP + MySQL transactions examples

我希望这会有所帮助

答案 1 :(得分:0)

当数据完整性成为主要关注点时,InnoDB是合乎逻辑的选择。 以下是一些比较:

  • InnoDB较新,而MyISAM较旧。

  • InnoDB更复杂,而MyISAM更简单。

  • InnoDB在数据完整性方面更严格,而MyISAM则不如此 严格。

  • InnoDB实现了行级锁定以便插入和更新 MyISAM实现了表级锁。

  • InnoDB有交易而MyISAM没有交易。

  • InnoDB有外键和关系约束,而MyISAM则有 不

  • InnoDB具有更好的崩溃恢复能力,而MyISAM在系统崩溃时恢复数据完整性方面表现不佳。

  • MyISAM有全文搜索索引,而InnoDB没有。

在我开发的财务应用程序中,通常的布局通常从InnoDB上的所有内容开始,除了可能用于执行日志记录或类似任务的表。 MyoAM没有的InnoDB最重要的功能是transactions。也就是说,多个操作被视为一个操作。它们都成功或交易失败。

一旦应用程序需要扩展,其他非关键表格将转换为MyISAM,这在某种程度上有所帮助,特别是如果您的应用程序有大量流量。

希望有所帮助,欢呼!