关系数据库和NoSQL结合使用:MySQL + MongoDB

本文探讨了MySQL与MongoDB结合使用的应用场景,特别是在按效果付费分析案例中如何发挥两者优势。文章介绍了通过Repository模式分离数据存储与应用逻辑,使得程序不受限于特定类型的数据库。案例分析包括授权支付交易的处理、大量唯一访问量和页面访问量数据的高效存储及实时报告等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Home Page

作者使用一个案例来说明MySQL+MongoDB结合使用,发挥各自所长,并且认为他们互补性很强。

当然,这其中不可避免引入DDD中的编程设计模式 Repository仓储模式,通过它能够将数据存储方式和应用分离开来,这样,我们的程序就不受限于任何存储方式,无论是NoSQL或关系数据库。

这个案例是一个按效果付费Pay-for-use的分析案例,类似 Google Analytics软件。

该应用有如下特点:
1.授权支付交易: 需要收集支付的信用卡并保存他们的交易记录。
2.大量唯一访问量和页访问量数据: 这个数据量是非常巨大。
3.高性能插入: 支持以每秒插入频率记录访问量
4.实时报告: 能够实时分析唯一访问量和页访问量的状况。
5.高可用性:在线时间99.99%

第一种支付交易实现:
由于支付交易几乎和唯一访问量之间没有什么直接联系,这是一个shared-nothing架构,所以,可以分为两个过程实现:
1.使用MonggoDB记录唯一访问量,每个月把过去一个月的唯一访问量进行计数。
2.根据MongoDB技术数据,将相应支付数据插入MySQL。

对于后面4个需求,作者认为NoSQL的MongpDB都胜于MySQL。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值