尘锋SCRM数据库为什么选择MongoD

哈尔滨治疗白癜风医院 http://m.39.net/disease/a_6088710.html

企业数字化如火如荼,私域运营成为热词。作为赛道中的热门产品,尘锋SCRM目前上线近2年时间,服务了10,+客户。研发是软件服务商的立身之本,数据库又是企业数字化的重要基础。

尘锋Growth研究院技术专刊·首期重磅上线!本片作者kivi,参考MongoDB中文社区

在研发早期,尘锋信息开发团队,在面对数据库选型时,基于以下原因,最终选择使用MongoDB:

1.新产品早期迭代阶段,需求的不确定性强,随时可能会有较大的调整。市场瞬息万变,抢占市场阶段需要能够快速满足需求;

2.面对企业服务的市场开发,需要注意的几个关键性问题:

a.严格的可用性要求

b.业务快速发展对于数据库吞吐量的要求

c.海量企业数据库永久存储不允许失效

01关于事务

对于大部分开发者来说,事务是数据库选型时考虑的一个关键因素。其实MongoDB在4.0版本就已经支持了事务,在4.2版本中已经支持分布式事务,可以在分片集群中使用。

更关键的一点是,4.2分布式事务的语法和4.0完全相同,我们可以使用相同的关系式事务语法,并且在扩展分布式事务时,客户端代码不需要修改,做到无缝迁移。4.2版本的事务功能已经能够满足我们业务侧对于事务的需求。

02MongoDB的优势

横向拓展

A.原生分布式架构,非常方便通过分片进行横向拓展,实现海量数存储;

B.自动化数据均衡逻辑,提升读写性能和吞吐;

C.副本集模式保障高可用性。

自动故障恢复和高可用性

所有的集群分片都是副本集,可以完全避免单点故障,实现故障自动转移,提升系统整体高可用性。

多种读参考模式

多种读参考模式,灵活的实现读写分离,重复利用副本能力提升性能。

Schemaless(无模式)

对开发者友好,适应快速的需求变化,助力业务快速迭代,适应市场变化。

安全可控

强大的原生角色和权限控制,保证安全可靠,无需在应用程序侧再做单独开发处理。

变更流

changestream具备持久性(Majority-CommittedChanges),可实现端点续传(Resumetoken),通过全局时钟保证顺序性,具备权限控制功能保证安全,基于Aggregate框架可灵活的根据特定需求进行过滤计算。方便快速实现实时数据同步功能,快速接入数仓,构建数据中台。

其他优秀特性支持

A.内置GridFS,支持大容量的存储

B.内置地理位置索引,支持地图功能

成熟完善的社区和生态

相对于其他的NoSQL数据库,MongoDB的社区和生态更加完善成熟,第三方组件库非常丰富稳定,为研发落地提供了保障

广泛的行业应用

MongoDB在各行各业都已经被广泛应用起来,如视频,奢侈品,游戏(网易游戏),航空(国际机票后端),保险(泰康),金融(微牛),企业服务(CRM),在线教育,物联网。各个互联网大厂也开始落地,阿里云、华为云、腾讯、今日头条、苏宁、OPPO等。

中国银行(实时交易分析)

① 整合全分散交数据,实现客户层面一本帐;

② 收实时汇总交额,秒级响应;

③ 千亿级别数据实时处理。

国泰君安证券(中台系统策略化)

① 用户全局数据、共享数据、标签、字典,处理三端一微30/s的并发请求;

② 产品资讯信息,模拟盘数据;

③ 情数据存放与分析,化交易。

中国东方航空

① 旅客多数据源的快速集成(航信、程、李、投诉、贵宾厅、网站、App等);

② Spark和MongoDB集成,幅提升数据分析合处理速度;

③ 旅客敏感数据集中到MongoDB中,成为唯用户数据来源。

携程(机票缓存)

① 机票价格缓存在MongoDB内存引擎中,快速响应票价请求;

② 利用TTL索引,动删除过期票价;

③ 分架构应弹性对压力增。

百度网盘

① 存放网盘文件的metadata元数据;

② 3PB数据量;

③ 分片架构弹性伸缩应对压力增长。

MongoDB客户墙

总的来说,传统关系型数据库和分布式数据库的能力MongoDB都可以直接覆盖,部分特性远超传统关系型数据库。

03为什么选择MongoDB?

千万级以上规模数据表查询,吞吐支持

尘锋SCRM产品是一个ToBSass平台。企业级数据通常具有千万级数据存储和海量数据查询需求,使用传统关系型数据库基本无法满足生产需要(根据经验,MySQL在百万级数据量情况下表现良好,到了千万级数据量规模时性能和吞吐会全面下滑),MongoDB在千万级以上数据量的性能和吞吐表现很好,可以满足我们生产业务需要。

业务规模快增长,快速简单且稳定的横长扩张需求

不仅是尘锋自身的发展速度极快,同时有赖于私域的发展,平台客户的业务增长速度同样很快,尘锋SCRM需要满足快速增长的需要,而MongoDB原生支持分片横向扩展,以及数据表分片,数据自动均衡,应用层完全透明,完全满足了当前的业务痛点。

企业级服务对于高可用的强烈需求(分区容错性)

企业级数据,千万级及以上数据规模,高并发请求等业务场景下,我们对于业务数据库的高可用有着极高的要求,MongoDB基于复制集的分片集群模式,彻底解决了单点故障问题,并且支持自动故障转移(根据经验,秒级完成),极大降低运维成本和风险,为尘锋技术团队支持维护海量数据提供了保障。

字段复杂且快速变化,多层次结构的数据模型

字段复杂且快速变化,多层次结构的数据模型,满足不同企业级业务需要。

A.比如传统快消行业,业务快速发展,数据结构也需要快速变更,利用MongoDBschemafree的特性,可以快速,低成本的适应变化,而不需要单独花时间做数据库处理;

B.再比如汽车市场的不同环节的客户信息具有异构性,利用MongDB能够快速适配,降低了居高不下的开发成本。

成熟完善的社区和生态支持

第三方库成熟完善且稳定,文档丰富,第三方工具丰富,支持快速上手,方便在技术团队落地。

丰富的实战经验沉淀

A.7年toBSass业务数据基于MongoDB的存储方案落地经验;

B.丰富的大规模数据治理和集群稳定性维护经验,曾负责过数百台服务器组成的自建MongoDB集群管理,PB级规模企业数据维护,数万级op/s支撑;

C.数据库诊断及性能深度调优,针对不同业务场景,有对应的最佳实践方案;

D.数据库严重故障和灾难恢复经验丰富。

技术专刊将定期更新,欢迎评论区交流讨论




转载请注明:http://www.aierlanlan.com/grrz/2557.html