[mongo]应用场景及选型

这篇具有很好参考价值的文章主要介绍了[mongo]应用场景及选型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

应用场景及选型

MongoDB 数据库定位

  • OLTP 数据库
  • 横向扩展能力,数据量或并发量增加时候架构可以自动扩展
  • 灵活模型,适合迭代开发,数据模型多变场景
  • JSON 数据结构,适合微服务/REST API
  • 基于功能选择 MongoDB

基于场景选择 MongoDB

  • 移动应用

  • 商品信息

  • 内容管理

  • 物联网

  • SaaS应用

  • 主机分流

  • 实时分析

  • 关系型数据库替换文章来源地址https://www.toymoban.com/news/detail-632902.html

关系型数据库迁移

从基于关系型数据库应用迁移到 MongoDB 的理由

  • 高并发需求 (数千 – 数十万 ops) ,关系型数据库不容易扩展
  • 快速迭代 – 关系型模式太严谨
  • 灵活的 JSON 模式
  • 大数据量需求
  • 地理位置查询
  • 多数据中心跨地域部署

应用迁移难度

  • 关系型到关系型 – 相对简单
  • 关系型到文档型 – 相对复杂
  • 需要考虑
    • 总体架构 (从单体式到分布式)
    • 模式设计(从关系模型到文档模型)
    • SQL 语句 / 存储过程 / JDBC / ORM
    • 数据迁移 (如何处理已有数据?)

总体架构

模式设计

  • 针对已有关系模型,考虑如何用文档模型进行设计

数据迁移

  • 数据库导出+导入
  • 批量迁移工具
  • 实时同步工具
  • 应用主导迁移

数据迁移方式及工具

数据迁移

数据库导出导入
  • 停止现有的基于 RDBMS 的应用
  • 使用 RDBMS 的数据库导出工具,将数据库表导出到 CSV 或者 JSON(如 mysqldump)
  • 使用 mongoimport 将 CSV 或者 JSON 文件导入 MongoDB 数据库
  • 启动新的 MongoDB 应用
  • 数据库导出导入: mysql - mongo
    • mysqldump inventory -hxxxx -uroot -p -T mysql-files

批量同步

  • 安装同步工具(如 Kettle / Talend) - 创建输入源(关系型数据库)
  • 创建输出源(MongoDB) - 编辑数据同步任务
  • 执行
  • 适用批量同步,定期更新, 特别是每晚跑批的场景
  • 支持基于时间戳的增量同步,需要源表有合适的时间戳支持
  • 对源库有较明显的性能影响,不宜频繁查询
  • 不支持实时同步

实时同步

  • 安装实时同步工具(如Informatica / Tapdata) - 创建输入源(关系型数据库)
  • 创建输出源(MongoDB) - 编辑实时数据同步任务
  • 执行
  • 基于源库的日志文件解析机制,可以实现秒级数据的同步
  • 对源库性能影响较小
  • 可以支持应用的无缝迁移

应用主导迁移

  1. 升级已有应用支持 MongoDB
  2. 数据插入请求直接进入 MongoDB
  3. 数据查询和更新请求首先定向到 MongoDB
  4. 如果记录不存在,从 RDBMS 读出来并写入到 MongoDB
  5. 重复步骤3
  6. 当步骤4在限定时间段(一星期、一个月)没有被调用,认为迁移完成
  • 需要研发团队配合 ,有一定开发和测试量
  • 为保证不遗漏数据,仍然先要执行一次批量同步

应用迁移比较

到了这里,关于[mongo]应用场景及选型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生之深入解析Kubernetes CNI插件的选型和应用场景

    在学习容器网络的时候,肯定都听说过 Docker 的 bridge 网络、Vethpair、VxLAN 等术语,从 Docker 到 Kubernetes 后,学习 Flannel、Calico 等主流网络插件,分别代表了 Overlay 和 Underlay 的两种网络传输模式,也是很经典的两款 CNI 网络插件。那么,还有哪些好用的 CNI 插件呢 ? 先来看看 C

    2024年02月15日
    浏览(49)
  • 超声波、毫米波、ToF激光雷达——在低功耗场景的应用选型

    目前主要的测距方式有:光学测距,超声波和微波雷达测距。 光学测距又可以分为:双目,结构光, ToF 。微波雷达,在消费类产品中,常见的是波长在毫米级别的毫米波雷达。超声波应用比较多的是在车载倒车雷达上。 它们各有优缺点,本章内容只针对在户外低功耗场景的

    2024年02月02日
    浏览(95)
  • 监控场景及开源监控方案选型

    先看监控的需求来源,即监控系统可做什么 再跳出监控,从可观测性,看监控与日志、链路间的关系及它们各自的作用 最后介绍开源社区几个有代表性的方案以及它们各自的优缺点,便于你之后做技术选型。 系统出问题我们能及时感知。随时代发展,对监控系统提出更多诉

    2024年01月22日
    浏览(37)
  • Redis 是什么和使用场景概述(技术选型)

         Redis是一款开源的高性能键值存储系统。它支持多种数据结构,如字符串、列表、集合、哈希表、有序集合等,并提供了丰富的操作命令和功能。Redis的主要特点包括: 内存存储:Redis将数据存储在内存中,因此读写速度非常快。同时,Redis还可以将数据持久化到磁盘,

    2024年02月07日
    浏览(30)
  • SQL与NoSQL数据库选型及实际业务场景探讨

    在企业系统架构设计中,选择合适的数据库类型是一项关键决策。本文将对比SQL和NoSQL数据库的特点,分析它们在数据模型、可扩展性、一致性与事务、查询复杂性与频率,以及性能与延迟等方面的优势和劣势。同时,结合轻易云数据集成平台作为实际业务场景的例子,探讨

    2024年02月15日
    浏览(101)
  • 压敏电阻的参数、选型及应用

    压敏电阻: 压敏电阻是一种非线性的伏安特性电阻器件,简称VDR。其具有抑制瞬态过电压的功能,使用时与保护器件端口并联,正常电压状态下,其为高阻态,当超过其门限电压时,其阻值迅速降低,导通大电流,保护后级电路。下图为压敏电阻的模型及电路符号。 一、参数

    2024年02月11日
    浏览(30)
  • DevSecOps之应用安全测试工具及选型

    上篇文章,有同学私信想了解有哪些DevSecOps工具,这里整理出来,供大家参考(PS: 非专业安全人士,仅从DevOps建设角度,给出自己见解) 软件中的漏洞和弱点很常见:84%的软件漏洞都是利用应用层的漏洞。软件相关问题的普遍性是使用应用安全测试(AST)工具的主要动机。

    2024年02月09日
    浏览(32)
  • 初识EMC元器件(四)——共模电感选型及应用

            通过上一篇文章《共模电感的参数解读》,已经对共模电感的参数有了初步的认识,那么本章将结合电路应用。        共模电感滤波应用选型步骤:确定电路性质→电气参数→滤波频段→电感参数。主要需要考虑的参数有:电感感量、额定电流、额定电压、频

    2024年02月09日
    浏览(63)
  • 初识EMC元器件(六)——磁珠的参数解读及选型应用

             磁珠的全称是铁氧体磁珠滤波器,是一种抗干扰元件,消除高频噪声效果明显。注意:磁珠的单位是Ω,而不是H。等效于电阻和电感串联,Z=R+jX,但电阻值和电感值都随频率变化。           滤波原理:在低频段,阻抗由电感的感抗构成,低频时R很小,L起主

    2024年02月09日
    浏览(37)
  • 初识EMC元器件(七)——差模电感的参数解读及选型应用

          差模电感是一种对差模高频干扰的感抗大的电感,也称差模扼制线圈。        对于差模电感,我们可以对照共模电感进行理解。电压和电流的变化通过导线传输时有两种形态, 一种是两根导线分别做为往返线路传输, 即在线-线之间产生差模电流,我们称之为\\\"差模干扰

    2024年02月01日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包