我想设计一个系统
- 将读取 CDR(呼叫数据记录)文件并将它们插入到 nosql 数据库中。使用 Cassandra 实现这种火花流,因为 nosql 看起来很有希望,因为文件将不断涌现
- 将能够通过评估持续时间和被叫数量或仅千字节(如果是数据)来计算实时价格,并存储当前账单周期迄今为止的总收费金额。我需要一个 nosql,我将同时插入额定 cdr 并更新该 cdr 中该 msisdn 的当前账单周期的总收费金额。
- 如果针对特定订阅更新费率计划,则对于当前账单周期,需要重新计算使用该价格计划的所有 cdr,并且需要为所有客户计算迄今为止的总金额
笔记:
- Msisdns 对于具有一对一关系的每个订阅都是唯一的。一个月内一个msisdn最多可以有100000个cdr。
- 到目前为止,我一直在浏览 nosql 数据库,我正在考虑使用 cassandra,但我仍然不确定如何设计数据库来优化这个业务案例。
- 还请考虑当一个 cdr 正在一个节点中处理时,同一 msisdn 的另一个 cdr 可以同时在另一个节点中处理,并且两个节点都执行上述逻辑。