Wordnik 是一个在线辞典和语言库,他提供Web页面并开放有相应的API接口,在他们的官方博客中,记录了他们的一些技术实践及相应的效果,他们后端存储经历了从 MySQL 到 MongoDB 的转变,下面是相关的文章:
What has technology done for words lately? 最近的技术改进
- 在某些方面仅保证最终一致性
- 使用文档型存储-这里指的是 MongoDB
12 Months with MongoDB 使用 MongoDB 12个月的经历
主要讲述了 MongoDB 在Wordnik 系统中的高性能
- 选择将存储迁移到 MongoDB 的原因是性能,MySQL 的性能已经不能满足应用需求。
- MongoDB 平均每小时处理50w请求,高峰时期可能达到200w/h.
- 超过 120亿的文档存储在MongoDB中,每个Mongo 结点存储大约3TB的数据
- MongoDB 可轻松应对每秒 8k 条的灵气插入,峰值可达5w 条/s
- 一个java客户端对MongoDB进行读操作,可以在千兆网卡上达到10MB/s的吞吐,四个客户端大概能达到40MB/s
- 相比MySQL 条种操作都有了很大的性能提高:
- 数据获取操作的时间从400ms 降低到 60ms
- dictionary entries 从 20ms 降低到 1ms
- document metadata 从 30ms 降低到 0.1ms
- 拼写的suggest提示响应时间 从 10ms 降低到 1.2ms
- MongoDB 内部的 Cache 系统使我们不再使用memcached层,这导致响应速度提高了大概1-2ms