现实用例学习:账单
在上一次的ILMUG上,Ofer Cohen提出了BillRun,一个下一代基于MongoDB的开源账单解决方案。这个账单系统已被增速最快的以色列移动电话运营商采用,每月处理超过5亿的CDR(通讯记录),Ofer分享了该系统如何利用MongoDB的优势: PPT请访问Slide Share - 弱数据结构模式允许系统快速引入新的CDR类型,BillRun负责托管所有的数据。
- BillRun系统已经管理了TB级的表格,I/O性能受限于新字段的增加及数据体积的增长。
- 快速副本集允许更简单地设置多数据中心DRP和HA方案。
- 分片允许I/O超预算时的线性横向扩展。
- 在CDR插入达到2000个每秒时,MongoDB非常适用于高写入系统。同时,你完全可以使用findAndModify(会影响性能)以及2阶段提交(应用程序级别)来解决事务问题。
- 面向开发者的查询允许优雅查询的编写。
- 基于位置允许更好的分析用户使用情况,从而更好地制定移动电话基础设施的投入点。
总结 MongoDB是个非常不错的工具,但是只有在适合的场景下才能爆发出压倒性优势,BillRun就是一个不错的用例。
原文链接: When Should I Use MongoDB rather than MySQL (or other RDBMS): The Billing Example |