MongoDB数据库优化实践.pptx
"MongoDB 数据库优化实践" 本篇文章将详细介绍 MongoDB 数据库优化实践,涵盖产品背景、系统架构、数据安全性、水平扩展等方面的知识点。 产品背景: MongoDB 作为腾讯内部和腾讯云上的 MongoDB 服务,可以帮助用户解决系统运维成本、提供更为丰富的软硬件选择、更为稳固的备份服务等问题。该服务可以应用于各种业务场景,如 kv 型业务的冷数据、 账单、视频业务等。 系统架构: 系统架构分为接入层、存储层两个部分。接入层负责协议转发、解析 client 的请求、自动加载路由信息、探测 mongo 的主从信息等功能。存储层则负责数据存储和管理,支持同城多机房部署容灾、副本集模式、分片模式等多种存储引擎。 数据安全性: 数据安全性是 MongoDB 数据库优化实践的重要方面之一。MongoDB 同步机制采用 ReplicaSet 机制,自动进行主库选举,承载写流量,并通过 oplog 将写请求同步到其他节点。写策略方面,用户可以选择性能还是安全, 默认 {w: 1} 写策略也存在数据丢失风险,或者采取 {w: "majority"} 的安全写策略,保证数据写到 ReplicaSet 内部大部分节点。 数据备份和回档是数据安全性的重要组件。MongoDB 采用 oplog 数据备份,每天对 oplog 进行备份,同时每个备份周期 (7 天 ) 内对整个分片做一次全量备份 (snapshot)。所有的备份数据以多副本 ( 默认 2) 存储在 HDFS。用户可以基于 snapshot,重放后续的 oplog, 将整个分片的数据回档到任意时间点 (7 天内 )。 水平扩展: 水平扩展是 MongoDB 数据库优化实践的另一个重要方面。 MongoDB 支持水平扩展,用户可以根据需要添加新的分片,进行集群内数据搬迁,均衡容量和流量。水平扩展的目标是将分片 A 上的数据迁移到分片 B,以提高容量和性能。 MongoDB 数据库优化实践涵盖了产品背景、系统架构、数据安全性、水平扩展等方面的知识点,为用户提供了一个完整的 MongoDB 数据库优化解决方案。