MongoDB最佳实践畅谈-计费系统

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/20536623 MongoDB最佳实践畅谈-计费系统作者:chszs,转载需注明。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/20536623

MongoDB最佳实践畅谈-计费系统

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

MongoDB的最佳实践,在以下情况,你应该使用MongoDB。

1)高写负载的场景

MongoDB默认更适合高写入而不是事务安全。如果你需要为每个客户端载入巨量的、低价值的数据,那么MongoDB很适合。假如你需要载入上百万的交易记录,那么这需要额外的安全措施,MongoDB不适合。

2)在不可靠的环境需要高可用场景

设置复制集(服务器做主从集群)很容易,速度也很快。此外,从某个节点(或数据中心)做故障恢复是实时的、安全的、自动的。

3)数据增长巨大,能把数据分片的场景

数据库做伸缩是很困难的(单个MySQL表在数据量达到5GB~10GB时,它的性能会显著下降)。如果你需要对数据库进行分区和分片,MongoDB内建了这些机制,完成这些工作很简单。

4)数据是基于位置的场景

MongoDB内建了支持空间的功能,因此从指定的位置查找相关的数据是非常快速和准确的。

5)数据集很大(从1GB起步)以及数据的模式是不稳定的场景

在一些关系数据库中要增加新的列字段,数据库会锁定整个表,或者或让主数据库服务器的负载和性能下降。通常,当数据表的尺寸超过1GB后,这种情况性能下降的更厉害。而MongoDB是无模式的,增加新的字段,对已有的行(称为文档)无影响。其次是当应用程序改变后,MongoDB不需要DBA来修改数据模式。

6)无DBA的场景

如果你的公司没有专职的DBA,你也不需要对数据做联合或标准化,那么你可以考虑MongoDB。MongoDB在持久化方面做到很好,类数据可以被序列化成JSON数据,并加以存储。

注意:请遵循MongoDB的最佳实践,以避免一些陷阱。

真实案例:计费

国外的奥弗•科恩发布了一个号称下一代的开源计费解决方案,此方案利用MongoDB作为其后端存储。此计费系统已经运行于以色列发展最快的移动运营商的产品环境,每个月能处理超过500M的呼叫数据记录CDR。奥弗•科恩介绍了它是怎样利用MongoDB的优势的:

1)无模式的设计

无模式设计可以快速添加新呼叫数据记录类型到系统中。它让BillRun保持数据存储的通用性。

2)可伸缩

BillRun的产品网站目前已经在单个数据表中管理了几个TB的数据,w/o可通过添加新字段进行限制。

3)快速的复制集

复制集能够满足易于构建多数据中心DRP和高可用HA解决方案的规则。

4)分片

分片使的线性扩容很清晰可控,不至于出现超出预算的情况。

5)每秒插入的呼叫数据记录CDR的数量超过2,000次,MongoDB的架构非常适合高写入场景。你还可以保证带findAndModify(通常比较慢)和两阶段提交的事务的处理。 

6)开发者可以面向查询,使得能够写出优雅的查询。

7)基于位置

基于位置可用于分析用户的使用情况,以此决定在何处继续建设蜂窝基础设施。

最后,MongoDB是一个伟大的数据库,你必须把它使用在合适的场景才能保证你获得市场竞争的优势。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
6月前
|
运维 NoSQL 安全
【最佳实践】高可用mongodb集群(1分片+3副本):规划及部署
结合我们的生产需求,本次详细整理了最新版本 MonogoDB 7.0 集群的规划及部署过程,具有较大的参考价值,基本可照搬使用。 适应数据规模为T级的场景,由于设计了分片支撑,后续如有大数据量需求,可分片横向扩展。
485 1
|
6月前
|
NoSQL Oracle MongoDB
【最佳实践】MongoDB导出导入数据
【最佳实践】MongoDB导出导入数据
389 2
|
6月前
|
NoSQL MongoDB 索引
【最佳实践】MongoDB导入数据时重建索引
【最佳实践】MongoDB导入数据时重建索引
169 0
|
22天前
|
消息中间件 NoSQL Kafka
云原生最佳实践系列 5:基于函数计算 FC 实现阿里云 Kafka 消息内容控制 MongoDB DML 操作
该方案描述了一个大数据ETL流程,其中阿里云Kafka消息根据内容触发函数计算(FC)函数,执行针对MongoDB的增、删、改操作。
|
1月前
|
存储 缓存 NoSQL
|
1月前
|
缓存 NoSQL 关系型数据库
|
4月前
|
存储 NoSQL MongoDB
MongoDB【部署 04】Windows系统实现MongoDB多磁盘存储
MongoDB【部署 04】Windows系统实现MongoDB多磁盘存储
197 0
|
4月前
|
运维 NoSQL 关系型数据库
MongoDB助力西门子数字化工厂构建下一代制造执行系统
数据库的高可用性是保障工厂不停工、连续生产的关键所在
2151 3
MongoDB助力西门子数字化工厂构建下一代制造执行系统
|
7月前
|
存储 NoSQL 自动驾驶
MongoDB在自动驾驶场景方案及最佳实践
MongoDB在自动驾驶场景方案及最佳实践
314 1
|
7月前
|
监控 NoSQL 安全
MongoDB在游戏行业方案介绍及最佳实践
MongoDB在游戏行业方案介绍及最佳实践
492 1