在大型电子邮件系统中,数据占据的磁盘存储设备空间最多。对于邮件系统而言,最核心的数据主要包含两个方面。一是数据库中的结构化数据,主要用于存放用户数据和日志数据;另一个是邮件体本身的非结构化数据。对于前者的数据存储与使用,通常有成熟的数据使用和存储方案,而不同邮件系统软件对于邮件本身的使用存储则有各自的方案。信件数据存储因其负责使用和管理邮件数据,所以成为了一个非常关键的组成部分。随着邮件系统的持续使用,信件存储的增长会达到海量规模,其具有以下的一些特点,同时也是邮件系统对存储设备的一些要求: 1. 海量存储与存储成本之间的矛盾 大型电子邮件系统需要处理大量的邮件数据,包括发送和接收的邮件、网盘 等文件数据。Gmail 发布以来,用户已经习惯将邮件数据全量存储在云端,海量数据的存储压力落在了邮件系统上。一方面,信件存储需要具备足够的存储容量和强大的性能,以应对海量数据的存储和处理需求。另一方面,信件存储需要低成本的存储解决方案,以帮助降低运营成本。所以,存储成本与海量数据之间的矛盾应作为邮件系统设计者重点考虑的因素。 2. 文件读写频繁无修改 电子邮件系统的使用场景通常是读取和写入都较为频繁,但是在企业应用中 读取操作相对集中,一般集中在早晨上班时间,所以对于存储设备的带宽并发能力要求较高,因此,信件存储需要具备高并发以及高带宽读写取能力。然而特殊的、文件修改的使用场景几乎不存在,因此对存储延迟性及文件随机修改能力并不需太高的要求。 3. 老数据使用率低 邮件访问场景中,对老邮件的访问频率会大大减低。特别是半年以上的数据 几乎不会再次访问 。 由于存储量巨大,从经济方面考虑可以对 1 年以上老旧数据进行转储,使用相对廉价设备存储。 4. 高扩展性 随着用户数量和邮件数量的增长,电子邮件系统的存储需求也会不断增加信件存储需要具备良好的可扩展性,能够根据需要在线添加更多的存储节点,以满足不断增长的存储需求。 5. 高可用性 电子邮件系统对于数据的可用性要求非常高,因为邮件是重要的沟通工具, 用户需要随时能够访问和检索邮件数据。所以信件存储应具备高可用性,通过数据多副本、纠错码和故障自动恢复机制等措施,确保数据始终可用。 6. 多地域可复制 电子邮件系统通常需要支持数据在多个地域之间的复制和同步,以提供更好的数据可用性和灾难恢复能力以及为全球用户提供快速的数据访问。因此信件存储需要具备多地域可复制的能力,以确保数据在不同地域之间的一致性和可用性。 7. 邮件系统如运行于云上,则可以契合使用云上部分原生应用 云计算平台所提供的若干原生应用,如 OSS、RDS 等云计算资源等可以与邮件系统无缝集成,提供更高的灵活性和可扩展性,提高系统的可维护性。 |