DEV Community

Cover image for 🌐 开始使用: 什么是MongoDB操作数据层? (第2部分) 🌐
Danny Chan for MongoDB Builders

Posted on

1 1 1 1 1

🌐 开始使用: 什么是MongoDB操作数据层? (第2部分) 🌐

操作数据层数据加载:
✅ 数据必须与源系统同步
✅ 适当的数据加载策略
✅ 生产系统: 数据变化的频率和数量
✅ 消费系统: 对数据时效性的明确要求


第1步: 批量提取和加载:
📁 初始批量加载
📁 将应用程序数据库数据复制到操作数据层
📁 一次性从源系统加载数据


第2步: 增量提取和加载:
🔄 紧跟初始批量加载之后立即开始
🔄 实时同步
🔄 从源系统增量更新到ODL
🔄 使用变更数据捕获(CDC)
🔄 捕获源系统的变更
🔍 匹配、合并、校准数据


数据流和成熟度模型:
🏗️ 起步简单
🌱 范围和战略重要性不断扩大
🏆 为业务带来越来越多的收益


第1阶段: 简单的ODL, 卸载读取:
💻 仅提供读取操作
💰 降低成本
🔒 高可用性: 在源系统宕机时接管
⚡ 提高性能
📊 处理长时间运行的分析查询
📈 应对高峰读取量


第2阶段: 功能丰富的ODL应用新场景:
🔍 建立单一的客户视图
💳 例如: 信用卡交易数据细化为各类消费
💰 分析每个消费类别(如旅行)的支出


第3阶段: 卸载读写:
📥 同时降低延迟,并行引入新系统


第4阶段: ODL优先:
✍️ 所有写入直接到操作数据层(ODL)


第5阶段: 系统的记录:
🗃️ 操作数据层成为系统的记录
🏳️ 源系统可以退役以节省成本
🏛️ 架构更加简单


MongoDB用于操作数据层:
🤗 便利性: MongoDB的文档模型易于管理数据
🧩 灵活性: 将多个源系统集成到单一ODL, 无需预先定义模式
⚡ 速度: 访问数据时性能更好
🎨 多功能性: 凭借文档模型的灵活性满足各种应用需求


示例:
📁 嵌套数组和子文档
📊 建模复杂关系和层次数据
🗄️ 无需重写整个文档即可操作深层嵌套数据
🗂️ 建模平面、类似表格的结构, 简单键值对, 文本
🌍 地理空间数据
🕸️ 图处理中使用的节点和边


处理管道:
🔍 查找和范围查询
📊 数据分析
🔨 转换
🔍 分面搜索
🌎 地理空间处理
🕵️ 图遍历


智能分布(操作数据层)ODL:


可用性:
💻 使用副本集保存多份数据副本
🔄 故障转移和恢复完全自动化


可扩展性:
🆙 挑战: 新的源系统, 数据量增加, 新的消费系统, 负载增大
🗄️ 大数据集
⚡ 高吞吐量需求
🧩 解决方案 - 分片:
🤖 MongoDB提供低成本的水平扩展
🔁 自动将数据分区并分布到多个物理实例


工作负载隔离:
🔍 操作数据层能够安全地服务于不同的工作负载
🔍 在不影响生产应用的情况下, 对最新数据进行分析查询


数据本地化:
🌎 精确控制数据实际存储位置
🗺️ 控制地理区域以满足延迟和管治要求


🤖 Reference:

https://www.mongodb.com/resources/basics/implementing-an-operational-data-layer
Implementing an Operational Data Layer

https://www.mongodb.com/resources/solutions/use-cases/mainframe-modernization-reference-architecture
Mainframe Modernization Reference Architecture


Editor

Image description

Danny Chan, specialty of FSI and Serverless

Image description

Kenny Chan, specialty of FSI and Machine Learning

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay