对于我正在开发的Web应用程序,我需要存储大量记录。每条记录将由一个主键和一个(短的)字符串值组成。我期望有大约 100GB 的可用存储空间,并且希望能够全部使用。
记录会被频繁地插入、删除和读取,我必须使用MySQL数据库。数据完整性并不重要,但性能才是重要的。我可能会遇到哪些问题和陷阱以及哪种存储引擎最适合该任务?
非常感谢,J
无论您使用哪种解决方案,因为您说您的数据库将是写入密集型的,所以您需要确保整个表不会在写入时被锁定。这排除了一些人建议的 MyISAM。 MyISAM 将在更新、删除或插入时锁定表。这意味着任何想要从表中读取数据的客户端都必须等待写入完成。不知道 INSERT LOW PRIORITY 会做什么,可能是一些围绕表锁定的 hack :-)
如果您只是必须使用 MySQL,那么您会需要 InnoDB,它不会锁定写入。我不知道 MySQL 如何处理 VACUUM 的 InnoDB 表(InnoDB 是像 PostgreSQL 一样的 MVCC,因此需要清理)...但是如果您正在进行大量更新或删除,则必须考虑到这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)