对于我正在开发的Web应用程序,我需要存储大量记录.每条记录将包含一个主键和一个(short-ish)字符串值.我希望有大约100GB的存储空间,并且希望能够全部使用它.
记录将被频繁插入,删除和读取,我必须使用MySQL数据库.数据完整性并不重要,但性能却是如此.我可能会遇到哪些问题和陷阱以及哪种存储引擎最适合这项任务?
非常感谢,J
无论你使用什么解决方案,因为你说你的数据库会写得很重,你需要确保整个表不会被写入锁定.这排除了一些人建议的MyISAM.MyISAM将锁定更新,删除或插入表.这意味着任何想要从表中读取的客户端都必须等待写入完成.不知道INSERT LOW PRIORITY做了什么,可能是桌面锁定的一些黑客:-)
如果你只是必须使用MySQL,你会想要InnoDB,它不会锁定写入.我不知道MySQL如何做VACUUM的InnoDB表(InnoDB就像PostgreSQL一样是MVCC,因此需要清理)......但如果你做了很多更新或删除,你必须考虑到这一点.