我要说的是一个涉及大量数据库写入的项目(70%的插入和30%的读取)。这个比率还将包括我认为是一次读取和一次写入的更新。读取内容可能很脏(例如,读取时我不需要100%准确的信息)。 有问题的任务将是每小时进行超过一百万次数据库事务。
我已经在网上阅读了很多有关MyISAM和InnoDB之间差异的内容,对于我要用于此任务的特定数据库/表,MyISAM似乎是我的明显选择。从我看来,由于需要支持行级锁定,因此如果需要事务处理,InnoDB很好。
是否有人对这种负载(或更高负载)有任何经验?MyISAM是要走的路吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据流量估算,每秒将近200次写入。使用MyISAM,任何时候都只能进行其中之一。您必须确保您的硬件可以跟上这些事务,以避免被超载,即,单个查询最多可以花费5毫秒。
对我来说,这建议您需要一个支持行级锁定的存储引擎,即InnoDB。
另一方面,编写一些简单的脚本来模拟每个存储引擎的负载,然后比较结果应该是相当简单的。来源:stack overflow