若有一个任务要求复制 Gmail 的绝大多数功能,用户数量将很庞大,你会采用啥样的数据库
普通的关系型数据库肯定是没戏了。可以试试HBase.不过这种工程上面的事情,不实际用过肯定不好说。好在邮件系统的数据库对transaction要求没那么严格,所以CRUD里面和写相关的CUD响应速度可以牺牲一些,做copy也可以多一些,来换取读取的性能。要复制gmail的绝大多数功能,搜索肯定是首要的。后台数据库针对搜索的优化是必须的。除去搜索,以及对大规模存储,高用户量并发,精确的反spam的要求之外,其他的功能和普通邮件相比没有很特别的,按话题组织邮件主要是前端的事情,后端的要求不高。POP, IMAP的支持也不是很困难的事情。如果是在中国运营,网络分割的事情要考虑清楚,如何尽快的把数据传输到edge去。另外分词和确定spam的事情比较多一点。
■网友
如果要让生命过得更有意义,就要远离这样的任务。Gmail不用传统意义的数据库。
■网友
作大规模web mail是有门槛的。现在这类系统中常用类似GFS的分布式文件系统。老式的设计是往往是基于文件系统作的。关系型数据库不是用来干这个的。
■网友
mail系统不需要用数据库。因为没有啥关联查询。文件系统就OK。其实也不怎么存在啥扩展问题。多一批用户就加一批机器呗。
推荐阅读
- 拉萨聚焦高校毕业生、农牧民就业任务指标均超额完成
- 李兰娟:国外疫情持续蔓延,严防输入是当下最重要任务
- 禄口■南京禄口国际机场要求成都旅客“原路返回”?机场回应
- 筑牢疫情防控“大防线”上海确定三大重点任务
- 怎样成为一名合格的Python程序员?
- |乌合麒麟再发《致莫里森》 要中国道歉是无理要求
- 底盘|新专利显示苹果汽车挡风玻璃可能会有一个凹槽用于安装传感器
- 计算机进不了桌面,任务管理器也打不开,咋办
- 陶晶晶|20岁网红身价过亿,却遭中年总裁骗婚生子,还被要求把儿子给原配
- 某些公司招聘要求中的精通mysql是啥程度