2

我正在构建一个应用程序,该应用程序维护由信用卡或汇票资助的购买服务的可用现金余额。当然,作为一家小型初创公司,性能并不是什么大问题,因为一开始不会有数量。

也就是说,我的预算很小 阅读:暂时开源。使用传统的 Z 大型机我会很傻;oracle 为此事,所以我在innodb 或mysql 的myisam 引擎之间进行辩论。

对于我的大多数项目,我选择 innodb。对于第一个假设的 10 万客户来说,这可能是一个可行的选择吗?还是米萨姆?是否建议在金融交易中使用表锁定?

4

2 回答 2

2

数据库选择

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

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

引擎选择

如果您选择 MySQL,那么我建议您使用innoDBover, MyIsam因为Database Transaction支持对金融交易很重要

看 :

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

PHP + MySQL 事务示例

我希望这有帮助

于 2012-04-25T02:27:08.067 回答
0

当数据完整性是首要问题时,InnoDB 是合乎逻辑的选择。以下是一些比较:

  • InnoDB 较新,而 MyISAM 较旧。

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

  • InnoDB 在数据完整性方面更加严格,而 MyISAM 则没有那么严格。

  • InnoDB 实现了用于插入和更新的行级锁,而 MyISAM 实现了表级锁。

  • InnoDB 有事务,而 MyISAM 没有。

  • InnoDB 有外键和关系约束,而 MyISAM 没有。

  • InnoDB 有更好的崩溃恢复,而 MyISAM 在系统崩溃时恢复数据完整性方面很差。

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

在我开发的金融应用程序中,通常的布局通常从 InnoDB 上的所有内容开始,除了可能用于记录日志或类似任务的表。MyISAM 不具备的 InnoDB 最重要的特性是transactions. 也就是说,多个操作被视为一个。他们都成功或交易失败。

一旦应用程序需要扩展,其他非关键表将转换为 MyISAM,这会有所帮助,尤其是在您的应用程序有大量流量的情况下。

希望有帮助,加油!

于 2012-04-25T02:41:12.410 回答