我正在构建一个应用程序,该应用程序维护由信用卡或汇票资助的购买服务的可用现金余额。当然,作为一家小型初创公司,性能并不是什么大问题,因为一开始不会有数量。
也就是说,我的预算很小 阅读:暂时开源。使用传统的 Z 大型机我会很傻;oracle 为此事,所以我在innodb 或mysql 的myisam 引擎之间进行辩论。
对于我的大多数项目,我选择 innodb。对于第一个假设的 10 万客户来说,这可能是一个可行的选择吗?还是米萨姆?是否建议在金融交易中使用表锁定?
我会投票给PostgreSQL
http://www.postgresql.org/它是最接近企业 RDMS 的地方,特别是如果你来自 oracle
也可以考虑MySQl
http://www.mysql.com/
如果您选择 MySQL,那么我建议您使用innoDB
over, MyIsam
因为Database Transaction
支持对金融交易很重要
看 :
http://www.databasejournal.com/features/mysql/article.php/3382171/Transactions-in-MySQL.htm
我希望这有帮助
当数据完整性是首要问题时,InnoDB 是合乎逻辑的选择。以下是一些比较:
InnoDB 较新,而 MyISAM 较旧。
InnoDB 更复杂,而 MyISAM 更简单。
InnoDB 在数据完整性方面更加严格,而 MyISAM 则没有那么严格。
InnoDB 实现了用于插入和更新的行级锁,而 MyISAM 实现了表级锁。
InnoDB 有事务,而 MyISAM 没有。
InnoDB 有外键和关系约束,而 MyISAM 没有。
InnoDB 有更好的崩溃恢复,而 MyISAM 在系统崩溃时恢复数据完整性方面很差。
MyISAM 有全文搜索索引,而 InnoDB 没有。
在我开发的金融应用程序中,通常的布局通常从 InnoDB 上的所有内容开始,除了可能用于记录日志或类似任务的表。MyISAM 不具备的 InnoDB 最重要的特性是transactions
. 也就是说,多个操作被视为一个。他们都成功或交易失败。
一旦应用程序需要扩展,其他非关键表将转换为 MyISAM,这会有所帮助,尤其是在您的应用程序有大量流量的情况下。
希望有帮助,加油!