对于正在开发的Web应用程序,我需要存储大量记录。每条记录将由一个主键和一个(短)字符串值组成。我希望有大约100GB的可用存储空间,并希望能够全部使用。
记录将被插入,删除和频繁读取,并且我必须使用MySQL数据库。数据完整性不是关键,但性能至关重要。我可能会遇到什么问题和陷阱,哪种存储引擎最适合该任务?
非常感谢,
无论使用哪种解决方案,由于您说数据库将是大量写入操作,因此需要确保整个表不会在写入时被锁定。这排除了某些建议的MyISAM。MyISAM将在更新,删除或插入时锁定表。这意味着任何想要从表中读取的客户端都必须等待写入完成。但是,Dunno的INSERT LOW PRIORITY是做什么的,可能是一些围绕表锁定的技巧:-)
如果您仅必须使用MySQL,则需要InnoDB,它不会在写入时锁定。我不知道MySQL如何做VACUUM的InnoDB表(InnoDB是像PostgreSQL那样的MVCC,因此需要清理)…但是如果要进行大量更新或删除,则必须考虑到这一点。